From 8f5fa52c74c3bed0fab16b1a77ad0bc7cb7807e7 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 2 Jun 2020 10:44:06 +0300 Subject: [PATCH 01/99] NDArrayFactory: eliminated methods to return array pointers. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 84 +++++----- libnd4j/include/array/impl/NDArrayFactory.cpp | 156 +++++++++--------- 2 files changed, 118 insertions(+), 122 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index f25c68fb4f32..5180c15db70d 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -18,6 +18,7 @@ // // Created by raver119 on 2018-09-16. // @author Oleg Semeniv +// @author GS (shugeo) // #ifndef DEV_TESTS_NDARRAYFACTORY_H @@ -37,31 +38,26 @@ namespace sd { template static void memcpyFromVector(void *ptr, const std::vector &vector); public: - template - static NDArray* empty_(sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - - static NDArray* empty_(sd::DataType dataType, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template static NDArray empty(sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray empty(sd::DataType dataType, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template - static NDArray* valueOf(const std::initializer_list& shape, T value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - - template - static NDArray* valueOf(const std::vector& shape, T value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - - static NDArray* valueOf(const std::vector& shape, const NDArray& value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - - template - static NDArray* linspace(T from, T to, Nd4jLong numElements); - +// template +// static NDArray* valueOf(const std::initializer_list& shape, T value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// +// template +// static NDArray* valueOf(const std::vector& shape, T value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// +// static NDArray* valueOf(const std::vector& shape, const NDArray& value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// +// template +// static NDArray* linspace(T from, T to, Nd4jLong numElements); - template - static NDArray* create_(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray* create_(sd::DataType dtype, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// +// template +// static NDArray* create_(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray* create_(sd::DataType dtype, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template static NDArray create(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); @@ -73,13 +69,13 @@ namespace sd { template static NDArray* vector(Nd4jLong length, T startingValue = (T) 0, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template - static NDArray* create_(char order, const std::vector &shape, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// template +// static NDArray* create_(char order, const std::vector &shape, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray* create_( char order, const std::vector &shape, sd::DataType dataType, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray* create_( char order, const std::vector &shape, sd::DataType dataType, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template - static NDArray* create_(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// template +// static NDArray* create_(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template static NDArray create(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); @@ -119,18 +115,18 @@ namespace sd { * This factory create array from utf8 string * @return NDArray default dataType UTF8 */ - static NDArray string(const char *string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray* string_(const char *string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray* string_(const std::string &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray string(const char *string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray* string_(const char *string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray* string_(const std::string &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray string(const std::string& string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** * This factory create array from utf16 string * @return NDArray default dataType UTF16 */ - static NDArray string(const char16_t* u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_(const char16_t* u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_(const std::u16string& u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray string(const char16_t* u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_(const char16_t* u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_(const std::u16string& u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string(const std::u16string& u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** @@ -138,8 +134,8 @@ namespace sd { * @return NDArray default dataType UTF32 */ static NDArray string(const char32_t* u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_(const char32_t* u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_(const std::u32string& u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_(const char32_t* u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_(const std::u32string& u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string(const std::u32string& u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** @@ -150,10 +146,10 @@ namespace sd { static NDArray string( const std::vector &shape, const std::initializer_list &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray string( const std::vector &shape, const std::vector &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray string( const std::vector &shape, const std::vector &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray* string_( const std::vector &shape, const std::initializer_list &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray* string_( const std::vector &shape, const std::initializer_list &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray* string_( const std::vector &shape, const std::vector &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray* string_( const std::vector &shape, const std::vector &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray* string_( const std::vector &shape, const std::initializer_list &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray* string_( const std::vector &shape, const std::initializer_list &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray* string_( const std::vector &shape, const std::vector &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); +// static NDArray* string_( const std::vector &shape, const std::vector &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); /** * This factory create array from vector of utf16 strings @@ -163,10 +159,10 @@ namespace sd { static NDArray string( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** * This factory create array from vector of utf32 strings @@ -176,10 +172,10 @@ namespace sd { static NDArray string( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray* string_( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); +// static NDArray* string_( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static ResultSet createSetOfArrs(const Nd4jLong numOfArrs, const void* buffer, const Nd4jLong* shapeInfo, const Nd4jLong* offsets, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index f14aa9dbb653..47befcf3fcc4 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -436,7 +436,7 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &v template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -//////////////////////////////////////////////////////////////////////// +/*/////////////////////////////////////////////////////////////////////// template NDArray* NDArrayFactory::empty_(sd::LaunchContext * context) { auto shapeInfo = ShapeBuilders::createScalarShapeInfo(DataTypeUtils::fromT(), context->getWorkspace()); @@ -461,7 +461,7 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &val return result; } - +*/ //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::empty(sd::LaunchContext * context) { @@ -480,7 +480,7 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &val return result; } -//////////////////////////////////////////////////////////////////////// +/*/////////////////////////////////////////////////////////////////////// NDArray* NDArrayFactory::valueOf(const std::vector& shape, const NDArray& value, const char order, sd::LaunchContext * context) { auto res = NDArrayFactory::create_(order, shape, value.dataType(), context); res->assign(const_cast(value)); @@ -492,7 +492,7 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &val return new NDArray(order, shape, dataType, context); } - +*/ //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::create(T* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context) { @@ -526,15 +526,15 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray(u16string, dtype, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_(const char16_t* u16string, sd::DataType dtype, sd::LaunchContext* context) { - return string_(std::u16string(u16string), dtype, context); - } +// NDArray* NDArrayFactory::string_(const char16_t* u16string, sd::DataType dtype, sd::LaunchContext* context) { +// return string_(std::u16string(u16string), dtype, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_(const std::u16string& u16string, sd::DataType dtype, sd::LaunchContext* context) { - auto res = new NDArray(); - *res = NDArray(u16string, dtype, context); - return res; - } +// NDArray* NDArrayFactory::string_(const std::u16string& u16string, sd::DataType dtype, sd::LaunchContext* context) { +// auto res = new NDArray(); +// *res = NDArray(u16string, dtype, context); +// return res; +// } ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::u16string& u16string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray(u16string, dtype, context); @@ -544,15 +544,15 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray(u32string, dtype, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_(const char32_t* u32string, sd::DataType dtype, sd::LaunchContext* context) { - return string_(std::u32string(u32string), dtype, context); - } +// NDArray* NDArrayFactory::string_(const char32_t* u32string, sd::DataType dtype, sd::LaunchContext* context) { +// return string_(std::u32string(u32string), dtype, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_(const std::u32string& u32string, sd::DataType dtype, sd::LaunchContext* context) { - auto res = new NDArray(); - *res = NDArray(u32string, dtype, context); - return res; - } +// NDArray* NDArrayFactory::string_(const std::u32string& u32string, sd::DataType dtype, sd::LaunchContext* context) { +// auto res = new NDArray(); +// *res = NDArray(u32string, dtype, context); +// return res; +// } ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::u32string& u32string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray(u32string, dtype, context); @@ -566,11 +566,11 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return string_(std::string(str), dtype, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_(const std::string& str, sd::DataType dtype, sd::LaunchContext* context) { - auto res = new NDArray(); - *res = NDArray(str, dtype, context); - return res; - } +// NDArray* NDArrayFactory::string_(const std::string& str, sd::DataType dtype, sd::LaunchContext* context) { +// auto res = new NDArray(); +// *res = NDArray(str, dtype, context); +// return res; +// } ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::string& str, sd::DataType dtype, sd::LaunchContext* context) { return NDArray(str, dtype, context); @@ -588,32 +588,32 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray( shape, std::vector(string), dataType, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector &shape, const std::initializer_list &strings, sd::DataType dataType, sd::LaunchContext * context) { - return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); - } +// NDArray* NDArrayFactory::string_( const std::vector &shape, const std::initializer_list &strings, sd::DataType dataType, sd::LaunchContext * context) { +// return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector &shape, const std::vector &strings, sd::DataType dataType, sd::LaunchContext * context) { - std::vector vec(strings.size()); - int cnt = 0; - for (auto s:strings) - vec[cnt++] = std::string(s); - - return NDArrayFactory::string_( shape, vec, dataType, context); - } +// NDArray* NDArrayFactory::string_( const std::vector &shape, const std::vector &strings, sd::DataType dataType, sd::LaunchContext * context) { +// std::vector vec(strings.size()); +// int cnt = 0; +// for (auto s:strings) +// vec[cnt++] = std::string(s); +// +// return NDArrayFactory::string_( shape, vec, dataType, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector &shape, const std::initializer_list &string, sd::DataType dataType, sd::LaunchContext * context) { - return NDArrayFactory::string_( shape, std::vector(string), dataType, context); - } +// NDArray* NDArrayFactory::string_( const std::vector &shape, const std::initializer_list &string, sd::DataType dataType, sd::LaunchContext * context) { +// return NDArrayFactory::string_( shape, std::vector(string), dataType, context); +// } ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string( const std::vector &shape, const std::vector &string, sd::DataType dataType, sd::LaunchContext * context) { return NDArray(shape, string, dataType, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_(const std::vector &shape, const std::vector &string, sd::DataType dataType, sd::LaunchContext * context) { - auto res = new NDArray(); - *res = NDArray( shape, string, dataType, context); - return res; - } +// NDArray* NDArrayFactory::string_(const std::vector &shape, const std::vector &string, sd::DataType dataType, sd::LaunchContext * context) { +// auto res = new NDArray(); +// *res = NDArray( shape, string, dataType, context); +// return res; +// } ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::vector& shape, const std::initializer_list& strings, sd::DataType dataType, sd::LaunchContext* context) { return NDArray( shape, std::vector(strings), dataType, context); @@ -627,28 +627,28 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray( shape, std::vector(string), dataType, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dataType, sd::LaunchContext* context) { - return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); - } +// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dataType, sd::LaunchContext* context) { +// return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { - std::vector vec(strings.size()); - int cnt = 0; - for (auto s : strings) - vec[cnt++] = std::u16string(s); - - return NDArrayFactory::string_( shape, vec, dataType, context); - } +// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { +// std::vector vec(strings.size()); +// int cnt = 0; +// for (auto s : strings) +// vec[cnt++] = std::u16string(s); +// +// return NDArrayFactory::string_( shape, vec, dataType, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dataType, sd::LaunchContext* context) { - return NDArrayFactory::string_( shape, std::vector(string), dataType, context); - } +// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dataType, sd::LaunchContext* context) { +// return NDArrayFactory::string_( shape, std::vector(string), dataType, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& string, sd::DataType dataType, sd::LaunchContext* context) { - auto res = new NDArray(); - *res = NDArray( shape, string, dataType, context); - return res; - } +// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& string, sd::DataType dataType, sd::LaunchContext* context) { +// auto res = new NDArray(); +// *res = NDArray( shape, string, dataType, context); +// return res; +// } ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string( const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray( shape, string, dtype, context); @@ -670,23 +670,23 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { - std::vector vec(strings.size()); - int cnt = 0; - for (auto s : strings) - vec[cnt++] = std::u32string(s); - return NDArrayFactory::string_( shape, vec, dataType, context); - } +// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { +// std::vector vec(strings.size()); +// int cnt = 0; +// for (auto s : strings) +// vec[cnt++] = std::u32string(s); +// return NDArrayFactory::string_( shape, vec, dataType, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dataType, sd::LaunchContext* context) { - return NDArrayFactory::string_( shape, std::vector(string), dataType, context); - } +// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dataType, sd::LaunchContext* context) { +// return NDArrayFactory::string_( shape, std::vector(string), dataType, context); +// } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& string, sd::DataType dataType, sd::LaunchContext* context) { - auto res = new NDArray(); - *res = NDArray( shape, string, dataType, context); - return res; - } +// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& string, sd::DataType dataType, sd::LaunchContext* context) { +// auto res = new NDArray(); +// *res = NDArray( shape, string, dataType, context); +// return res; +// } ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray( shape, string, dtype, context); From af04763a1bde31876429ad8861e6a31351dc85f1 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 2 Jun 2020 11:00:00 +0300 Subject: [PATCH 02/99] Corrected tests to eliminated factory empties and creations. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests14.cpp | 4 +- libnd4j/tests_cpu/layers_tests/EmptyTests.cpp | 37 +++++-------------- 2 files changed, 11 insertions(+), 30 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp index b4c9839abb10..024ffbbc576e 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp @@ -2252,10 +2252,10 @@ TEST_F(DeclarableOpsTests14, Reshape12) { TEST_F(DeclarableOpsTests14, Reshape13) { auto vector = NDArrayFactory::create('c', {1}, {119.0f}); auto exp = NDArrayFactory::create(119.f); - auto empty = NDArrayFactory::empty_(); + auto empty = NDArrayFactory::empty(); sd::ops::reshape op; - auto result = op.evaluate({&vector, empty}, {}, {}); + auto result = op.evaluate({&vector, &empty}, {}, {}); ASSERT_EQ(Status::OK(), result.status()); diff --git a/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp b/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp index 81040185d187..1fb99daf4984 100644 --- a/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp @@ -35,19 +35,7 @@ class EmptyTests : public testing::Test { } }; -TEST_F(EmptyTests, Test_Create_Empty_1) { - auto empty = NDArrayFactory::empty_(); - ASSERT_TRUE(empty->isEmpty()); - - ASSERT_EQ(0, empty->lengthOf()); - ASSERT_TRUE(empty->buffer() == nullptr); - - ASSERT_TRUE(shape::isEmpty(empty->shapeInfo())); - - delete empty; -} - -TEST_F(EmptyTests, Test_Create_Empty_2) { +TEST_F(EmptyTests, Test_Create_Empty_1 { auto empty = NDArrayFactory::empty(); ASSERT_TRUE(empty.isEmpty()); @@ -59,14 +47,13 @@ TEST_F(EmptyTests, Test_Create_Empty_2) { } TEST_F(EmptyTests, Test_Concat_1) { -// auto empty = NDArrayFactory::empty_(); - auto empty = new NDArray('c', {0}, sd::DataType::FLOAT32);//NDArrayFactory::create_('c', {(Nd4jLong)0}}; - auto vector = NDArrayFactory::create_('c', {1}, {1.0f}); + NDArray empty('c', {0}, sd::DataType::FLOAT32);//NDArrayFactory::create_('c', {(Nd4jLong)0}}; + auto vector = NDArrayFactory::create('c', {1}, {1.0f}); - ASSERT_TRUE(empty->isEmpty()); + ASSERT_TRUE(empty.isEmpty()); sd::ops::concat op; - auto result = op.evaluate({empty, vector}, {}, {0}); + auto result = op.evaluate({&empty, &vector}, {}, {0}); ASSERT_EQ(Status::OK(), result.status()); auto z = result.at(0); @@ -75,22 +62,19 @@ TEST_F(EmptyTests, Test_Concat_1) { // z->printIndexedBuffer("z buffr"); ASSERT_EQ(*vector, *z); - - delete empty; - delete vector; } TEST_F(EmptyTests, Test_Concat_2) { - auto empty = new NDArray('c', {0}, sd::DataType::FLOAT32); //NDArrayFactory::empty_(); - auto scalar1 = NDArrayFactory::create_('c', {1}, {1.0f}); - auto scalar2 = NDArrayFactory::create_('c', {1}, {2.0f}); + NDArray empty('c', {0}, sd::DataType::FLOAT32); //NDArrayFactory::empty_(); + auto scalar1 = NDArrayFactory::create('c', {1}, {1.0f}); + auto scalar2 = NDArrayFactory::create('c', {1}, {2.0f}); auto exp = NDArrayFactory::create('c', {2}, {1.f, 2.f}); ASSERT_TRUE(empty->isEmpty()); sd::ops::concat op; - auto result = op.evaluate({empty, scalar1, scalar2}, {}, {0}); + auto result = op.evaluate({&empty, &scalar1, &scalar2}, {}, {0}); ASSERT_EQ(Status::OK(), result.status()); auto z = result.at(0); @@ -100,9 +84,6 @@ TEST_F(EmptyTests, Test_Concat_2) { ASSERT_EQ(exp, *z); - delete empty; - delete scalar1; - delete scalar2; } TEST_F(EmptyTests, Test_Concat_3) { From b886e8f8a35a92cb5ac7e91d30418ab737e74670 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 2 Jun 2020 14:42:19 +0300 Subject: [PATCH 03/99] Refactored valueOf methods and tests. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 34 +- libnd4j/include/array/impl/NDArrayFactory.cpp | 298 ++++-------------- .../layers_tests/ConditionalTests.cpp | 2 +- libnd4j/tests_cpu/layers_tests/RNGTests.cpp | 29 +- 4 files changed, 78 insertions(+), 285 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index 5180c15db70d..4a2cbf88830f 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -43,39 +43,25 @@ namespace sd { static NDArray empty(sd::DataType dataType, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// template -// static NDArray* valueOf(const std::initializer_list& shape, T value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// -// template -// static NDArray* valueOf(const std::vector& shape, T value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// -// static NDArray* valueOf(const std::vector& shape, const NDArray& value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// -// template -// static NDArray* linspace(T from, T to, Nd4jLong numElements); + template + static NDArray valueOf(const std::vector& shape, T value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// -// template -// static NDArray* create_(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// static NDArray* create_(sd::DataType dtype, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray valueOf(const std::vector& shape, const NDArray& value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template - static NDArray create(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray create(sd::DataType dtype, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template - static NDArray create(DataType type, const T scalar, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray linspace(T from, T to, Nd4jLong numElements); template - static NDArray* vector(Nd4jLong length, T startingValue = (T) 0, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray create(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// template -// static NDArray* create_(char order, const std::vector &shape, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray create(sd::DataType dtype, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// static NDArray* create_( char order, const std::vector &shape, sd::DataType dataType, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + template + static NDArray create(DataType type, const T scalar, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// template -// static NDArray* create_(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + template + static NDArray vector(Nd4jLong length, T startingValue = (T) 0, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template static NDArray create(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 47befcf3fcc4..b203f6163abe 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -94,13 +94,6 @@ namespace sd { template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); -//////////////////////////////////////////////////////////////////////// -template -NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, sd::LaunchContext * context) { - return create_(order, shape, DataTypeUtils::fromT(), context); -} -BUILD_SINGLE_TEMPLATE(template ND4J_EXPORT NDArray* NDArrayFactory::create_, (const char order, const std::vector &shape, sd::LaunchContext * context), LIBND4J_TYPES); - //////////////////////////////////////////////////////////////////////// template void NDArrayFactory::memcpyFromVector(void *ptr, const std::vector &vector) { @@ -163,35 +156,6 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: #endif -//////////////////////////////////////////////////////////////////////// - template - NDArray* NDArrayFactory::create_(const T scalar, sd::LaunchContext * context) { - - std::shared_ptr buffer = std::make_shared(1 * sizeof(T), DataTypeUtils::fromT(), context->getWorkspace(), true); - - NDArray* res = new NDArray(buffer, ShapeDescriptor::scalarDescriptor(DataTypeUtils::fromT()), context); - - res->bufferAsT()[0] = scalar; - - res->tickWriteHost(); - res->syncToDevice(); - - return res; - } - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const double scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const float scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const float16 scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const bfloat16 scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const Nd4jLong scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const int scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const bool scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const int8_t scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const uint8_t scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const uint16_t scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const uint32_t scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const uint64_t scalar, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::create_(const int16_t scalar, sd::LaunchContext * context); - template NDArray NDArrayFactory::create(sd::DataType type, const T scalar, sd::LaunchContext * context) { @@ -247,116 +211,93 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: template ND4J_EXPORT NDArray NDArrayFactory::create(const uint64_t scalar, sd::LaunchContext* workspace); template ND4J_EXPORT NDArray NDArrayFactory::create(const bool scalar, sd::LaunchContext * context); - -//////////////////////////////////////////////////////////////////////// -template -NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context) { - - return new NDArray(NDArrayFactory::create(order, shape, data, context)); -} -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); -template ND4J_EXPORT NDArray* NDArrayFactory::create_(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context); - - //////////////////////////////////////////////////////////////////////// template <> - ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, NDArray* value, const char order, sd::LaunchContext * context) { - auto result = create_(order, shape, value->dataType(), context); - result->assign(*value); + ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray* value, const char order, sd::LaunchContext * context) { + auto result = create(order, shape, value->dataType(), context); + result.assign(*value); return result; } template <> - ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, NDArray& value, const char order, sd::LaunchContext * context) { - auto result = create_(order, shape, value.dataType(), context); - result->assign(value); + ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray& value, const char order, sd::LaunchContext * context) { + auto result = create(order, shape, value.dataType(), context); + result.assign(value); return result; } template - NDArray* NDArrayFactory::valueOf(const std::vector& shape, const T value, const char order, sd::LaunchContext * context) { - auto result = create_(order, shape, DataTypeUtils::fromT()); - result->assign(value); + NDArray NDArrayFactory::valueOf(const std::vector& shape, const T value, const char order, sd::LaunchContext * context) { + auto result = create(order, shape, DataTypeUtils::fromT()); + result.assign(value); return result; } - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const double value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const float value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const float16 value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const bfloat16 value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const Nd4jLong value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const int value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const int16_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const int8_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const uint8_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::vector& shape, const bool value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const double value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const float value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const float16 value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const bfloat16 value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const Nd4jLong value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int16_t value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int8_t value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const uint8_t value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const bool value, const char order, sd::LaunchContext * context); //////////////////////////////////////////////////////////////////////// template - NDArray* NDArrayFactory::linspace(const T from, const T to, const Nd4jLong numElements) { - NDArray* result = NDArrayFactory::vector(numElements); - //TO DO: linspace should be executed on DEVICE, but only CPU version implemnted! + NDArray NDArrayFactory::linspace(const T from, const T to, const Nd4jLong numElements) { + NDArray result = NDArrayFactory::vector(numElements); + //TO DO: linspace should be executed on DEVICE, but only CPU version implented! for (Nd4jLong e = 0; e < numElements; e++) { T step = (T) e / ((T) numElements - (T) 1); - result->p(e, (from * ((T) 1 - step) + step * to)); + result.p(e, (from * ((T) 1 - step) + step * to)); } - result->syncToDevice(); + result.syncToDevice(); return result; } - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const double from, const double to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const float from, const float to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const float16 from, const float16 to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const bfloat16 from, const bfloat16 to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const Nd4jLong from, const Nd4jLong to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const int from, const int to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const int16_t from, const int16_t to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const uint8_t from, const uint8_t to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const uint16_t from, const uint16_t to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const uint32_t from, const uint32_t to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const uint64_t from, const uint64_t to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const int8_t from, const int8_t to, const Nd4jLong numElements); - template ND4J_EXPORT NDArray* NDArrayFactory::linspace(const bool from, const bool to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const double from, const double to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const float from, const float to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const float16 from, const float16 to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const bfloat16 from, const bfloat16 to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const Nd4jLong from, const Nd4jLong to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const int from, const int to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const int16_t from, const int16_t to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const uint8_t from, const uint8_t to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const uint16_t from, const uint16_t to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const uint32_t from, const uint32_t to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const uint64_t from, const uint64_t to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const int8_t from, const int8_t to, const Nd4jLong numElements); + template ND4J_EXPORT NDArray NDArrayFactory::linspace(const bool from, const bool to, const Nd4jLong numElements); //////////////////////////////////////////////////////////////////////// template - NDArray* NDArrayFactory::vector(Nd4jLong length, const T value, sd::LaunchContext * context) { + NDArray NDArrayFactory::vector(Nd4jLong length, const T value, sd::LaunchContext * context) { std::shared_ptr buffer = std::make_shared(length * sizeof(T), DataTypeUtils::fromT(), context->getWorkspace(), true); - - auto res = new NDArray(buffer, ShapeDescriptor::vectorDescriptor(length, DataTypeUtils::fromT()), context); + NDArray res(buffer, ShapeDescriptor::vectorDescriptor(length, DataTypeUtils::fromT()), context); if (value == (T)0.0f) - res->nullify(); + res.nullify(); else - res->assign(value); + res.assign(value); return res; } - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const double startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const float startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const float16 startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const bfloat16 startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const Nd4jLong startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const int startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const uint8_t startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const uint16_t startingValue, sd::LaunchContext *workspace); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const uint32_t startingValue, sd::LaunchContext *workspace); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const uint64_t startingValue, sd::LaunchContext *workspace); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const int8_t startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const int16_t startingValue, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::vector(Nd4jLong length, const bool startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const double startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const float startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const float16 startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const bfloat16 startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const Nd4jLong startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const int startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const uint8_t startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const uint16_t startingValue, sd::LaunchContext *workspace); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const uint32_t startingValue, sd::LaunchContext *workspace); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const uint64_t startingValue, sd::LaunchContext *workspace); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const int8_t startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const int16_t startingValue, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const bool startingValue, sd::LaunchContext * context); //////////////////////////////////////////////////////////////////////// template @@ -436,32 +377,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &v template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -/*/////////////////////////////////////////////////////////////////////// - template - NDArray* NDArrayFactory::empty_(sd::LaunchContext * context) { - auto shapeInfo = ShapeBuilders::createScalarShapeInfo(DataTypeUtils::fromT(), context->getWorkspace()); - ArrayOptions::setPropertyBit(shapeInfo, ARRAY_EMPTY); - auto result = new NDArray(nullptr, shapeInfo, context, false); - - RELEASE(shapeInfo, context->getWorkspace()); - - return result; - } - BUILD_SINGLE_TEMPLATE(template ND4J_EXPORT NDArray* NDArrayFactory::empty_, (sd::LaunchContext * context), LIBND4J_TYPES); - - NDArray* NDArrayFactory::empty_(sd::DataType dataType, sd::LaunchContext * context) { - if (context == nullptr) - context = sd::LaunchContext ::defaultContext(); - - auto shapeInfo = ShapeBuilders::createScalarShapeInfo(dataType, context->getWorkspace()); - ArrayOptions::setPropertyBit(shapeInfo, ARRAY_EMPTY); - auto result = new NDArray(nullptr, shapeInfo, context, false); - - RELEASE(shapeInfo, context->getWorkspace()); - - return result; - } -*/ //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::empty(sd::LaunchContext * context) { @@ -480,19 +395,12 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &val return result; } -/*/////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::valueOf(const std::vector& shape, const NDArray& value, const char order, sd::LaunchContext * context) { - auto res = NDArrayFactory::create_(order, shape, value.dataType(), context); - res->assign(const_cast(value)); - return res; - } - //////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::create_( const char order, const std::vector &shape, sd::DataType dataType, sd::LaunchContext * context) { - - return new NDArray(order, shape, dataType, context); + NDArray NDArrayFactory::valueOf(const std::vector& shape, const NDArray& value, const char order, sd::LaunchContext * context) { + auto res = NDArrayFactory::create(order, shape, value.dataType(), context); + res.assign(const_cast(value)); + return res; } -*/ //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::create(T* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context) { @@ -526,16 +434,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray(u16string, dtype, context); } ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_(const char16_t* u16string, sd::DataType dtype, sd::LaunchContext* context) { -// return string_(std::u16string(u16string), dtype, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_(const std::u16string& u16string, sd::DataType dtype, sd::LaunchContext* context) { -// auto res = new NDArray(); -// *res = NDArray(u16string, dtype, context); -// return res; -// } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::u16string& u16string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray(u16string, dtype, context); } @@ -544,16 +442,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray(u32string, dtype, context); } ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_(const char32_t* u32string, sd::DataType dtype, sd::LaunchContext* context) { -// return string_(std::u32string(u32string), dtype, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_(const std::u32string& u32string, sd::DataType dtype, sd::LaunchContext* context) { -// auto res = new NDArray(); -// *res = NDArray(u32string, dtype, context); -// return res; -// } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::u32string& u32string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray(u32string, dtype, context); } @@ -566,12 +454,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return string_(std::string(str), dtype, context); } ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_(const std::string& str, sd::DataType dtype, sd::LaunchContext* context) { -// auto res = new NDArray(); -// *res = NDArray(str, dtype, context); -// return res; -// } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::string& str, sd::DataType dtype, sd::LaunchContext* context) { return NDArray(str, dtype, context); } @@ -588,33 +470,10 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray( shape, std::vector(string), dataType, context); } ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector &shape, const std::initializer_list &strings, sd::DataType dataType, sd::LaunchContext * context) { -// return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector &shape, const std::vector &strings, sd::DataType dataType, sd::LaunchContext * context) { -// std::vector vec(strings.size()); -// int cnt = 0; -// for (auto s:strings) -// vec[cnt++] = std::string(s); -// -// return NDArrayFactory::string_( shape, vec, dataType, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector &shape, const std::initializer_list &string, sd::DataType dataType, sd::LaunchContext * context) { -// return NDArrayFactory::string_( shape, std::vector(string), dataType, context); -// } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string( const std::vector &shape, const std::vector &string, sd::DataType dataType, sd::LaunchContext * context) { return NDArray(shape, string, dataType, context); } ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_(const std::vector &shape, const std::vector &string, sd::DataType dataType, sd::LaunchContext * context) { -// auto res = new NDArray(); -// *res = NDArray( shape, string, dataType, context); -// return res; -// } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::vector& shape, const std::initializer_list& strings, sd::DataType dataType, sd::LaunchContext* context) { return NDArray( shape, std::vector(strings), dataType, context); } @@ -627,29 +486,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray( shape, std::vector(string), dataType, context); } ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dataType, sd::LaunchContext* context) { -// return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { -// std::vector vec(strings.size()); -// int cnt = 0; -// for (auto s : strings) -// vec[cnt++] = std::u16string(s); -// -// return NDArrayFactory::string_( shape, vec, dataType, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dataType, sd::LaunchContext* context) { -// return NDArrayFactory::string_( shape, std::vector(string), dataType, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& string, sd::DataType dataType, sd::LaunchContext* context) { -// auto res = new NDArray(); -// *res = NDArray( shape, string, dataType, context); -// return res; -// } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string( const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray( shape, string, dtype, context); } @@ -670,24 +506,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); } ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { -// std::vector vec(strings.size()); -// int cnt = 0; -// for (auto s : strings) -// vec[cnt++] = std::u32string(s); -// return NDArrayFactory::string_( shape, vec, dataType, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dataType, sd::LaunchContext* context) { -// return NDArrayFactory::string_( shape, std::vector(string), dataType, context); -// } - ///////////////////////////////////////////////////////////////////////// -// NDArray* NDArrayFactory::string_( const std::vector& shape, const std::vector& string, sd::DataType dataType, sd::LaunchContext* context) { -// auto res = new NDArray(); -// *res = NDArray( shape, string, dataType, context); -// return res; -// } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray( shape, string, dtype, context); } diff --git a/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp b/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp index 00752ca0f9e7..93ef53e4c51d 100644 --- a/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp @@ -47,7 +47,7 @@ TEST_F(ConditionalTests, BasicTests_1) { auto x = NDArrayFactory::valueOf({2, 2}, 1.0f); auto y0 = NDArrayFactory::valueOf({2, 2}, 5.0f); auto y1 = NDArrayFactory::valueOf({2, 2}, -5.0f); - auto scalar = NDArrayFactory::create_(1.0f); + auto scalar = NDArrayFactory::create(1.0f); auto variableSpace = graph.getVariableSpace(); diff --git a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp index 37facc43ce9b..1a544e557540 100644 --- a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp @@ -40,9 +40,9 @@ class RNGTests : public testing::Test { sd::graph::RandomGenerator _rngA; sd::graph::RandomGenerator _rngB; - NDArray* nexp0 = NDArrayFactory::create_('c', {10, 10}); - NDArray* nexp1 = NDArrayFactory::create_('c', {10, 10}); - NDArray* nexp2 = NDArrayFactory::create_('c', {10, 10}); + NDArray nexp0 = NDArrayFactory::create('c', {10, 10}); + NDArray nexp1 = NDArrayFactory::create('c', {10, 10}); + NDArray nexp2 = NDArrayFactory::create('c', {10, 10}); RNGTests() { //_bufferA = new Nd4jLong[100000]; @@ -51,20 +51,12 @@ class RNGTests : public testing::Test { //_rngB = (sd::random::RandomBuffer *) initRandom(nullptr, _seed, 100000, (Nd4jPointer) _bufferB); _rngA.setStates(_seed, _seed); _rngB.setStates(_seed, _seed); - nexp0->assign(-1.0f); - nexp1->assign(-2.0f); - nexp2->assign(-3.0f); + nexp0.assign(-1.0f); + nexp1.assign(-2.0f); + nexp2.assign(-3.0f); } ~RNGTests() { - //destroyRandom(_rngA); - //destroyRandom(_rngB); - //delete[] _bufferA; - //delete[] _bufferB; - - delete nexp0; - delete nexp1; - delete nexp2; } }; @@ -990,13 +982,13 @@ namespace sd { for (int i = 0; i < numberOfArrays; i++) { auto arrayI = NDArrayFactory::create(shape); - auto arrayR = NDArrayFactory::create_('c', shape); + auto arrayR = NDArrayFactory::create('c', shape); auto min = NDArrayFactory::create(0.0); auto max = NDArrayFactory::create(1.0); sd::ops::randomuniform op; op.execute(*rng, {&arrayI, &min, &max}, {arrayR}, {}, {DataType::DOUBLE}, {}, {}, false); - list.emplace_back(arrayR); + list.emplace_back(&arrayR); } }; } @@ -1102,12 +1094,9 @@ TEST_F(RNGTests, test_choice_1) { auto z = NDArrayFactory::create('c', {1000}); RandomGenerator rng(119, 256); - NativeOpExecutioner::execRandom(sd::LaunchContext ::defaultContext(), random::Choice, &rng, x->buffer(), x->shapeInfo(), x->specialBuffer(), x->specialShapeInfo(), prob->buffer(), prob->shapeInfo(), prob->specialBuffer(), prob->specialShapeInfo(), z.buffer(), z.shapeInfo(), z.specialBuffer(), z.specialShapeInfo(), nullptr); + NativeOpExecutioner::execRandom(sd::LaunchContext ::defaultContext(), random::Choice, &rng, x.buffer(), x.shapeInfo(), x.specialBuffer(), x.specialShapeInfo(), prob.buffer(), prob.shapeInfo(), prob.specialBuffer(), prob.specialShapeInfo(), z.buffer(), z.shapeInfo(), z.specialBuffer(), z.specialShapeInfo(), nullptr); // z.printIndexedBuffer("z"); - - delete x; - delete prob; } TEST_F(RNGTests, test_uniform_119) { From c3472a9266282ae2ffa1a63a8fa8cac7040609eb Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 2 Jun 2020 18:12:53 +0300 Subject: [PATCH 04/99] Fixed usage of legacy create_ factory method. Signed-off-by: shugeo --- .../declarable/generic/list/create_list.cpp | 4 +- .../declarable/generic/list/gather_list.cpp | 4 +- .../ops/declarable/generic/list/size_list.cpp | 8 +- .../declarable/generic/nn/convo/sconv2d.cpp | 8 +- .../declarable/generic/nn/fusedBatchNorm.cpp | 5 +- .../declarable/generic/nn/recurrent/sru.cpp | 76 ++-- .../ops/declarable/generic/random/uniform.cpp | 4 +- .../ops/declarable/generic/tensor/range.cpp | 32 +- .../declarable/generic/tsne/symmetrized.cpp | 8 +- .../ops/declarable/helpers/cpu/lup.cpp | 18 +- .../ops/declarable/helpers/cpu/top_k.cpp | 6 +- .../ops/declarable/helpers/impl/where.cpp | 6 +- .../include/ops/declarable/impl/BooleanOp.cpp | 2 +- .../benchmarking/impl/FullBenchmarkSuit.cpp | 376 +++++++++--------- 14 files changed, 276 insertions(+), 281 deletions(-) diff --git a/libnd4j/include/ops/declarable/generic/list/create_list.cpp b/libnd4j/include/ops/declarable/generic/list/create_list.cpp index 606558e7edab..59ae723b6211 100644 --- a/libnd4j/include/ops/declarable/generic/list/create_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/create_list.cpp @@ -48,8 +48,8 @@ namespace sd { setupResultList(list, block); // OVERWRITE_RESULT(list); - auto scalar = NDArrayFactory::create_(list->counter()); - block.pushNDArrayToVariableSpace(block.getNodeId(), 1, scalar); + auto scalar = NDArrayFactory::create(list->counter()); + block.pushNDArrayToVariableSpace(block.getNodeId(), 1, scalar.dup()); return ND4J_STATUS_OK; } diff --git a/libnd4j/include/ops/declarable/generic/list/gather_list.cpp b/libnd4j/include/ops/declarable/generic/list/gather_list.cpp index 943313ad0242..b641a5fc438c 100644 --- a/libnd4j/include/ops/declarable/generic/list/gather_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/gather_list.cpp @@ -49,7 +49,7 @@ namespace sd { } } - auto result = NDArrayFactory::create_('c', shape, list->dataType()); + auto result = NDArrayFactory::create('c', shape, list->dataType()); std::vector indicesList((list->readRaw(0)->rankOf() + 1) * 2, 0); int skipPosition = 0; for (int e = 0; e < indices->lengthOf(); e++) { @@ -65,7 +65,7 @@ namespace sd { } //OVERWRITE_RESULT(result); - setupResult(result, block); + setupResult(result.dup(), block); return Status::OK(); } DECLARE_SYN(TensorArrayGatherV3, gather_list); diff --git a/libnd4j/include/ops/declarable/generic/list/size_list.cpp b/libnd4j/include/ops/declarable/generic/list/size_list.cpp index 9c4d7ff70ce5..7d97056d62cc 100644 --- a/libnd4j/include/ops/declarable/generic/list/size_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/size_list.cpp @@ -28,16 +28,16 @@ namespace sd { LIST_OP_IMPL(size_list, 1, 1, 0, 0) { auto list = INPUT_LIST(0); - auto result = NDArrayFactory::create_(list->height(), block.launchContext()); + auto result = NDArrayFactory::create(list->height(), block.launchContext()); //nd4j_printf("List size: [%i]\n", list->height()); - result->printIndexedBuffer("actual height"); + result.printIndexedBuffer("actual height"); //nd4j_printf("List size: [%i]\n", list->height()); - result->printIndexedBuffer("actual height"); + result.printIndexedBuffer("actual height"); //OVERWRITE_RESULT(result); - setupResult(result, block); + setupResult(result.dup(), block); return Status::OK(); } DECLARE_SYN(TensorArraySizeV3, size_list); diff --git a/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp b/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp index d887d7c2ab00..3042f389f54e 100644 --- a/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp @@ -277,18 +277,16 @@ CUSTOM_OP_IMPL(sconv2d_bp, 3, 2, false, 0, 9) { if (weightsPoint){ auto resultFFShape = isNCHW ? std::vector({bS, mC*iC, oH, oW}) : std::vector({bS, oH, oW, mC*iC}); - auto resultFF = NDArrayFactory::create_(input->ordering(), resultFFShape, input->dataType(), block.launchContext()); - ConvolutionUtils::sconv2d(block, input, weightsDepth, nullptr, nullptr, resultFF, kH,kW, sH,sW, pH,pW, dH,dW, isSameMode, isNCHW, wFormat); + auto resultFF = NDArrayFactory::create(input->ordering(), resultFFShape, input->dataType(), block.launchContext()); + ConvolutionUtils::sconv2d(block, input, weightsDepth, nullptr, nullptr, &resultFF, kH,kW, sH,sW, pH,pW, dH,dW, isSameMode, isNCHW, wFormat); auto gradIDepthShape = ShapeUtils::composeShapeUsingDimsAndIdx({bS,iC*mC,oH,oW, 0,indIOioC,indIiH,indIiH+1}); - auto gradIDepth = NDArrayFactory::create_(resultFF->ordering(), gradIDepthShape, resultFF->dataType(), block.launchContext()); // [bS, oH, oW, iC*mC] (NHWC) or [bS, iC*mC, oH, oW] (NCHW) + auto gradIDepth = NDArrayFactory::create(resultFF->ordering(), gradIDepthShape, resultFF.dataType(), block.launchContext()); // [bS, oH, oW, iC*mC] (NHWC) or [bS, iC*mC, oH, oW] (NCHW) ConvolutionUtils::conv2dBP(block, resultFF, weightsPoint, bias, gradO, gradIDepth, gradWP, gradB, 1,1, 1,1, 0,0, 1,1, isSameMode, isNCHW, wFormat); // in this case oH=iH and oW=iW gradO = gradIDepth; bias = gradB = nullptr; // if pointwise backprop was done then don't calculate gradB at depthwise_conv2d_bp step - - delete resultFF; } // ----- apply depthwise_conv2d_bp ----- // diff --git a/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp b/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp index 6e911e405043..87dc5f07c39e 100644 --- a/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp @@ -72,8 +72,9 @@ CUSTOM_OP_IMPL(fused_batch_norm, 3, 3, false, 0, 2) { else { //REQUIRE_TRUE(block.width() == 3, 0, "CUSTOM_OP fused_batch_norm: when isTraining=true then number of input arrays must be equal to 3, but got %i instead !", block.width()); std::vector shape = {iD}; - mean = NDArrayFactory::create_(scale->ordering(), shape, scale->dataType(), block.launchContext()); - variance = NDArrayFactory::create_(scale->ordering(), shape, scale->dataType(), block.launchContext()); + auto meanV = NDArrayFactory::create(scale->ordering(), shape, scale->dataType(), block.launchContext()); + auto varianceV = NDArrayFactory::create(scale->ordering(), shape, scale->dataType(), block.launchContext()); + mean = meanV.dup(); variance = varianceV.dup(); } // FIXME: double? diff --git a/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp b/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp index 84dd6356ac49..1e93a0b337ba 100644 --- a/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp @@ -157,16 +157,16 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { const int K = x->shapeOf()[1]; const int N = x->shapeOf()[2]; // N - number of time steps - auto gradBias = NDArrayFactory::create_(x->ordering(), {bS, 2*K, N}, gradX->dataType(), block.launchContext()); - auto gradU = NDArrayFactory::create_(x->ordering(), {bS, 3*K, N}, gradX->dataType(), block.launchContext()); - auto gradHX = NDArrayFactory::create_(x->ordering(), {bS, K, N}, gradX->dataType(), block.launchContext()); - auto gct = NDArrayFactory::create_(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto gradTanh = NDArrayFactory::create_(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto gradCt = NDArrayFactory::create_(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto ftMinus = NDArrayFactory::create_(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto rtMinus = NDArrayFactory::create_(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto temp1 = NDArrayFactory::create_(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto temp2 = NDArrayFactory::create_(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); + auto gradBias = NDArrayFactory::create(x->ordering(), {bS, 2*K, N}, gradX->dataType(), block.launchContext()); + auto gradU = NDArrayFactory::create(x->ordering(), {bS, 3*K, N}, gradX->dataType(), block.launchContext()); + auto gradHX = NDArrayFactory::create(x->ordering(), {bS, K, N}, gradX->dataType(), block.launchContext()); + auto gct = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); + auto gradTanh = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); + auto gradCt = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); + auto ftMinus = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); + auto rtMinus = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); + auto temp1 = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); + auto temp2 = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); // x = x * mask if(applyMask) @@ -222,46 +222,46 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { rt.applyTransform(transform::Sigmoid, rt); // TODO T val = (activation_type == 1) ? tanh(cur) : ((activation_type == 2) ? reluf(cur) : cur ); - ct.applyTransform(transform::Tanh, *gct); + ct.applyTransform(transform::Tanh, gct); // ftMinus = 1-ft, rtMinus = 1-rt - ft.applyTransform(transform::OneMinus, *ftMinus); - rt.applyTransform(transform::OneMinus, *rtMinus); + ft.applyTransform(transform::OneMinus, ftMinus); + rt.applyTransform(transform::OneMinus, rtMinus); ///////////////// backward // bR, *grad_brt_ptr = inGradHt * (g_ct - xt) * (1.0f - rt) * rt; - gct->applyPairwiseTransform(pairwise::Subtract, xt, *temp1); // temp1 = (g_ct - xt) - rtMinus->applyPairwiseTransform(pairwise::Multiply, rt, *temp2); // temp2 = (1.0f - rt) * rt; - temp1->applyPairwiseTransform(pairwise::Multiply, *temp2); // temp1 = (g_ct - xt) * (1.0f - rt) * rt; - inGradHt.applyPairwiseTransform(pairwise::Multiply, *temp1, gradBRt); // = inGradHt * (g_ct - xt) * (1.0f - rt) * rt; + gct.applyPairwiseTransform(pairwise::Subtract, xt, temp1); // temp1 = (g_ct - xt) + rtMinus->applyPairwiseTransform(pairwise::Multiply, rt, temp2); // temp2 = (1.0f - rt) * rt; + temp1.applyPairwiseTransform(pairwise::Multiply, temp2); // temp1 = (g_ct - xt) * (1.0f - rt) * rt; + inGradHt.applyPairwiseTransform(pairwise::Multiply, temp1, gradBRt); // = inGradHt * (g_ct - xt) * (1.0f - rt) * rt; // bF, TODO - tanh // gradTanh = (1.0f - g_ct * g_ct); - gct->applyPairwiseTransform(pairwise::Multiply, *gct, *gradTanh); // gradTanh = g_ct * g_ct - gradTanh->applyTransform(transform::OneMinus, *gradTanh); // gradTanh = (1.0f - g_ct * g_ct) + gct.applyPairwiseTransform(pairwise::Multiply, gct, gradTanh); // gradTanh = g_ct * g_ct + gradTanh.applyTransform(transform::OneMinus, gradTanh); // gradTanh = (1.0f - g_ct * g_ct) // gradCt = inGradHt * rt * gradTanh - rt.applyPairwiseTransform(pairwise::Multiply, *gradTanh, *gradCt); // gradCt = rt * gradTanh - inGradHt.applyPairwiseTransform(pairwise::Multiply, *gradCt, *gradCt); // gradCt = inGradHt * rt * gradTanh + rt.applyPairwiseTransform(pairwise::Multiply, gradTanh, gradCt); // gradCt = rt * gradTanh + inGradHt.applyPairwiseTransform(pairwise::Multiply, gradCt, gradCt); // gradCt = inGradHt * rt * gradTanh // gradBFt = (gradCt + inGradCt) * (ct_1 - zt) * (1 - ft) * ft; - gradCt->applyPairwiseTransform(pairwise::Add, *inGradCt, *temp1); // temp1 = (gradCt + inGradCt) - ct_1->applyPairwiseTransform(pairwise::Subtract, zt, *temp2); // temp2 = (ct_1 - zt) - temp1->applyPairwiseTransform(pairwise::Multiply, *ftMinus, *temp1); // temp1 = (gradCt + inGradCt)*(1-ft) - temp1->applyPairwiseTransform(pairwise::Multiply, ft, *temp1); // temp1 = (gradCt + inGradCt)*(1-ft)*ft - temp1->applyPairwiseTransform(pairwise::Multiply, *temp2, gradBFt); // gradBFt = (gradCt + inGradCt) * (ct_1 - zt) * (1 - ft) * ft; + gradCt->applyPairwiseTransform(pairwise::Add, inGradCt, temp1); // temp1 = (gradCt + inGradCt) + ct_1->applyPairwiseTransform(pairwise::Subtract, zt, temp2); // temp2 = (ct_1 - zt) + temp1.applyPairwiseTransform(pairwise::Multiply, ftMinus, temp1); // temp1 = (gradCt + inGradCt)*(1-ft) + temp1.applyPairwiseTransform(pairwise::Multiply, ft, temp1); // temp1 = (gradCt + inGradCt)*(1-ft)*ft + temp1.applyPairwiseTransform(pairwise::Multiply, temp2, gradBFt); // gradBFt = (gradCt + inGradCt) * (ct_1 - zt) * (1 - ft) * ft; // x_t (highway connection), gradHXt = inGradHt * (1.0f - rt); - inGradHt.applyPairwiseTransform(pairwise::Multiply, *rtMinus, gradHXt); + inGradHt.applyPairwiseTransform(pairwise::Multiply, rtMinus, gradHXt); // U_t, gradUZt = (inGradHt * rt * grad_tanh + inGradCt) * (1.0f - ft); - rt.applyPairwiseTransform(pairwise::Multiply, *gradTanh, *temp1); // temp1 = rt * grad_tanh - inGradHt.applyPairwiseTransform(pairwise::Multiply, *temp1, *temp1); // temp1 = inGradHt * rt * grad_tanh - temp1->applyPairwiseTransform(pairwise::Add, *inGradCt, *temp1); // temp1 = inGradHt * rt * grad_tanh + inGradCt - temp1->applyPairwiseTransform(pairwise::Multiply, *ftMinus, gradUZt); // gradUZt = (inGradHt * rt * grad_tanh + inGradCt) * (1.0f - ft); + rt.applyPairwiseTransform(pairwise::Multiply, gradTanh, temp1); // temp1 = rt * grad_tanh + inGradHt.applyPairwiseTransform(pairwise::Multiply, temp1, temp1); // temp1 = inGradHt * rt * grad_tanh + temp1->applyPairwiseTransform(pairwise::Add, *inGradCt, temp1); // temp1 = inGradHt * rt * grad_tanh + inGradCt + temp1->applyPairwiseTransform(pairwise::Multiply, ftMinus, gradUZt); // gradUZt = (inGradHt * rt * grad_tanh + inGradCt) * (1.0f - ft); gradUFt.assign(&gradBFt); gradURt.assign(&gradBRt); // c_{t-1}, inGradCt = (gradCt + inGradCt) * ft; - gradCt->applyPairwiseTransform(pairwise::Add, *inGradCt, *temp1); // temp1 = (gradCt + inGradCt) - temp1->applyPairwiseTransform(pairwise::Multiply, ft, *inGradCt); // inGradCt = (gradCt + inGradCt) * ft; + gradCt.applyPairwiseTransform(pairwise::Add, inGradCt, temp1); // temp1 = (gradCt + inGradCt) + temp1.applyPairwiseTransform(pairwise::Multiply, ft, inGradCt); // inGradCt = (gradCt + inGradCt) * ft; if(t != 0) delete ct_1; @@ -272,8 +272,8 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { // gradX auto weightsT = w->transpose(); // [K x 3K] - MmulHelper::mmul(&weightsT, gradU, gradX, 1., 0.); // [bS x K x N] - gradX->applyPairwiseTransform(pairwise::Add, *gradHX, *gradX); // + grad_highway_x + MmulHelper::mmul(&weightsT, &gradU, gradX, 1., 0.); // [bS x K x N] + gradX->applyPairwiseTransform(pairwise::Add, gradHX, *gradX); // + grad_highway_x if(applyMask) gradX->applyBroadcast(broadcast::Multiply, {0,1}, *mask, *gradX); // apply mask @@ -283,11 +283,7 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { // gradW [bS x 3K x K] x->permutei({0, 2, 1}); // [bS x N x K] - MmulHelper::mmul(gradU, x, gradW, 1., 0.); // [bS x 3K x K] - - delete gct; delete gradU; delete gradHX; - delete temp1; delete temp2; delete gradCt; delete wi; - delete gradTanh; delete ftMinus; delete rtMinus; delete gradBias; + MmulHelper::mmul(&gradU, x, gradW, 1., 0.); // [bS x 3K x K] return Status::OK(); } diff --git a/libnd4j/include/ops/declarable/generic/random/uniform.cpp b/libnd4j/include/ops/declarable/generic/random/uniform.cpp index 94df6b32d773..073b90d9287f 100644 --- a/libnd4j/include/ops/declarable/generic/random/uniform.cpp +++ b/libnd4j/include/ops/declarable/generic/random/uniform.cpp @@ -49,8 +49,8 @@ namespace sd { bool disposable = false; if (min == nullptr && max == nullptr && block.numT() >= 2) { - min = NDArrayFactory::create_(dtype, block.launchContext()); - max = NDArrayFactory::create_(dtype, block.launchContext()); + min = NDArrayFactory::create(dtype, block.launchContext()).dup(); + max = NDArrayFactory::create(dtype, block.launchContext()).dup(); min->p(0, T_ARG(0)); max->p(0, T_ARG(1)); disposable = true; diff --git a/libnd4j/include/ops/declarable/generic/tensor/range.cpp b/libnd4j/include/ops/declarable/generic/tensor/range.cpp index a39e0791295e..3ff8e42ff6e9 100644 --- a/libnd4j/include/ops/declarable/generic/tensor/range.cpp +++ b/libnd4j/include/ops/declarable/generic/tensor/range.cpp @@ -49,11 +49,11 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { if(numInArrs == 1) { //limit = (*INPUT_VARIABLE(0))(0.); if (output->isR()) { - s = NDArrayFactory::create_(0.0f, block.launchContext()); - d = NDArrayFactory::create_(1.0f, block.launchContext()); + s = NDArrayFactory::create(0.0f, block.launchContext()).dup(); + d = NDArrayFactory::create(1.0f, block.launchContext()).dup(); } else { - s = NDArrayFactory::create_(0, block.launchContext()); - d = NDArrayFactory::create_(1, block.launchContext()); + s = NDArrayFactory::create(0, block.launchContext()).dup(); + d = NDArrayFactory::create(1, block.launchContext()).dup(); } localS = true; localD = true; @@ -61,9 +61,9 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { s = INPUT_VARIABLE(0); //limit = (*INPUT_VARIABLE(1))(0.); if (output->isR()) { - d = NDArrayFactory::create_(1.0f, block.launchContext()); + d = NDArrayFactory::create(1.0f, block.launchContext()).dup(); } else { - d = NDArrayFactory::create_(1, block.launchContext()); + d = NDArrayFactory::create(1, block.launchContext()).dup(); } localD = true; } else { @@ -76,14 +76,14 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { if(numIArgs == 1) { // limit = INT_ARG(0); } else if(numIArgs == 2) { - s = NDArrayFactory::create_(INT_ARG(0), block.launchContext()); + s = NDArrayFactory::create(INT_ARG(0), block.launchContext()).dup(); //limit = INT_ARG(1); - d = NDArrayFactory::create_(1, block.launchContext()); + d = NDArrayFactory::create(1, block.launchContext()).dup(); } else { - s = NDArrayFactory::create_(INT_ARG(0), block.launchContext()); + s = NDArrayFactory::create(INT_ARG(0), block.launchContext()).dup(); //limit = INT_ARG(1); - d = NDArrayFactory::create_(INT_ARG(2), block.launchContext()); + d = NDArrayFactory::create(INT_ARG(2), block.launchContext()).dup(); } localS = true; @@ -93,17 +93,17 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { if(numTArgs == 1) { //limit = T_ARG(0); - s = NDArrayFactory::create_(0.0f, block.launchContext()); - d = NDArrayFactory::create_(1.0f, block.launchContext()); + s = NDArrayFactory::create(0.0f, block.launchContext()).dup(); + d = NDArrayFactory::create(1.0f, block.launchContext()).dup(); } else if(numTArgs == 2) { - s = NDArrayFactory::create_(T_ARG(0), block.launchContext()); + s = NDArrayFactory::create(T_ARG(0), block.launchContext()).dup(); //limit = T_ARG(1); - d = NDArrayFactory::create_(1.0f, block.launchContext()); + d = NDArrayFactory::create(1.0f, block.launchContext()).dup(); } else { - s = NDArrayFactory::create_(T_ARG(0), block.launchContext()); + s = NDArrayFactory::create(T_ARG(0), block.launchContext()).dup(); //limit = T_ARG(1); - d = NDArrayFactory::create_(T_ARG(2), block.launchContext()); + d = NDArrayFactory::create(T_ARG(2), block.launchContext()).dup(); } localS = true; diff --git a/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp b/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp index cf3675122283..00fd0ebab89e 100644 --- a/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp +++ b/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp @@ -68,13 +68,13 @@ namespace sd { if (block.getIArguments()->size() > 0) N = INT_ARG(0); auto dataType = rowP->dataType(); //ArrayOptions::dataType(inputShape->at(0)); - NDArray* rowCounts = NDArrayFactory::create_('c', { N }, block.launchContext()); //rowP->dup(); + auto rowCounts = NDArrayFactory::create('c', { N }, block.launchContext()); //rowP->dup(); //srowCounts->assign(0); - Nd4jLong len = helpers::barnes_row_count(rowP, colP, N, *rowCounts); - rowCounts->syncToHost(); + Nd4jLong len = helpers::barnes_row_count(rowP, colP, N, rowCounts); + rowCounts.syncToHost(); // rowCounts->printBuffer("Row Counts"); if (len <= 0) throw std::runtime_error("barnes_symmetrized: Cannot allocate shape due non-positive len."); - rowCountsPtr = rowCounts; + rowCountsPtr = rowCounts.dup(); //ALLOCATE(outShapeInfo, block.workspace(), shape::shapeInfoLength(2), Nd4jLong); // outShapeInfo[1] = 1; // outShapeInfo[2] = len; diff --git a/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp b/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp index 482709455134..ec7b84d3542c 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp @@ -546,34 +546,34 @@ template if (!inplace) output->assign(0.f); // fill up output tensor with zeros only inplace=false - std::unique_ptr matrix(NDArrayFactory::create_('c', {n, n}, input->dataType(), context)); //, block.getWorkspace()); - std::unique_ptr lowerMatrix(NDArrayFactory::create_('c',{n, n}, input->dataType(), context)); + auto matrix = NDArrayFactory::create('c', {n, n}, input->dataType(), context); //, block.getWorkspace()); + auto lowerMatrix = NDArrayFactory::create('c',{n, n}, input->dataType(), context); for (int e = 0; e < totalCount; e++) { // fill up matrix for (int k = e * n2, l = 0; k < (e + 1) * n2; k++) { - matrix->p(l++, input->e(k)); + matrix.p(l++, input->e(k)); } //if (e) // from the second loop need to zero matrix - lowerMatrix->assign(0.f); + lowerMatrix.nullify(); for (Nd4jLong col = 0; col < n; col++) { for (Nd4jLong row = 0; row < col; row++) { T rowSum = 0; for (Nd4jLong k = 0; k < row; ++k) - rowSum += (lowerMatrix->e(col, k) * lowerMatrix->e(row, k)); - lowerMatrix->p(col, row, (matrix->e(row, col) - rowSum) / lowerMatrix->e(row, row)); + rowSum += (lowerMatrix.e(col, k) * lowerMatrix.e(row, k)); + lowerMatrix.p(col, row, (matrix.e(row, col) - rowSum) / lowerMatrix.e(row, row)); } T diagonalSum = 0; for (Nd4jLong k = 0; k < col; ++k) - diagonalSum += lowerMatrix->e(col, k) * lowerMatrix->e(col, k); - lowerMatrix->p(col, col, sd::math::nd4j_sqrt(matrix->e(col, col) - diagonalSum)); + diagonalSum += lowerMatrix.e(col, k) * lowerMatrix.e(col, k); + lowerMatrix.p(col, col, sd::math::nd4j_sqrt(matrix.e(col, col) - diagonalSum)); //nd4j_printf("%i: ", col); //lowerMatrix->printIndexedBuffer("Lower matrix"); } for (int k = e * n2, l = 0; k < (e + 1) * n2; k++) { - output->p(k, lowerMatrix->e(l++)); + output->p(k, lowerMatrix.e(l++)); } } diff --git a/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp b/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp index 65edeb71b713..bac500cd99a8 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp @@ -144,16 +144,16 @@ namespace helpers { for (int i = 0; i < input->rankOf() - 1; i++) shapeI[i] = input->sizeAt(i); shapeI[input->rankOf() - 1] = k; - std::unique_ptr indices(NDArrayFactory::create_(input->ordering(), shapeI, context)); + auto indices = NDArrayFactory::create(input->ordering(), shapeI, context); NDArray* values = nullptr; - int status = topKFunctor(context, input, values, indices.get(), k, true); + int status = topKFunctor(context, input, values, &indices, k, true); result->assign(0); if (status == ND4J_STATUS_OK) { auto func = PRAGMA_THREADS_FOR { for (auto e = start; e < stop; e++) { bool found = false; for (uint j = 0; j < k; j++) { - if (target->e(e) == indices->e(e * k + j)) { + if (target->e(e) == indices.e(e * k + j)) { found = true; break; } diff --git a/libnd4j/include/ops/declarable/helpers/impl/where.cpp b/libnd4j/include/ops/declarable/helpers/impl/where.cpp index b2d758673237..6c1bfd5634a9 100644 --- a/libnd4j/include/ops/declarable/helpers/impl/where.cpp +++ b/libnd4j/include/ops/declarable/helpers/impl/where.cpp @@ -38,11 +38,11 @@ namespace sd { auto offset = shape::getOffset(condition.shapeInfo(), idx); if (condition.e(offset)) { - auto array = NDArrayFactory::create_('c', {1, condition.rankOf()}, output.dataType(), output.getContext()); + auto array = NDArrayFactory::create('c', {1, condition.rankOf()}, output.dataType(), output.getContext()); for (int f = 0; f < condition.rankOf(); f++) - array->p(f, (T) idx[f]); + array.p(f, (T) idx[f]); - list.write(cnt++, array); + list.write(cnt++, array.dup()); } } diff --git a/libnd4j/include/ops/declarable/impl/BooleanOp.cpp b/libnd4j/include/ops/declarable/impl/BooleanOp.cpp index 00079f9ae358..954b9d689039 100644 --- a/libnd4j/include/ops/declarable/impl/BooleanOp.cpp +++ b/libnd4j/include/ops/declarable/impl/BooleanOp.cpp @@ -73,7 +73,7 @@ namespace sd { auto var = ctx.variable(pair); if (!var->hasNDArray()) { - var->setNDArray(NDArrayFactory::create_(false, ctx.launchContext())); + var->setNDArray(NDArrayFactory::create(false, ctx.launchContext()).dup()); var->markRemovable(true); } } diff --git a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp index 0eabe959ad11..15fd2fdba108 100644 --- a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp @@ -103,21 +103,21 @@ namespace sd { int axis; if (n == 0) { //nchw - auto input = NDArrayFactory::create_('c', {16, c, hw, hw}); - auto output = NDArrayFactory::create_('c', {16, c, hw, hw}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + auto input = NDArrayFactory::create('c', {16, c, hw, hw}); + auto output = NDArrayFactory::create('c', {16, c, hw, hw}); + ctx->setInputArray(0, input.dup(), true); + ctx->setOutputArray(0, output.dup(), true); axis = 1; } else { - auto input = NDArrayFactory::create_('c', {32, hw, hw, c}); - auto output = NDArrayFactory::create_('c', {32, hw, hw, c}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + auto input = NDArrayFactory::create('c', {32, hw, hw, c}); + auto output = NDArrayFactory::create('c', {32, hw, hw, c}); + ctx->setInputArray(0, input.dup(), true); + ctx->setOutputArray(0, output.dup(), true); axis = 3; } - auto bias = NDArrayFactory::create_('c', {c}); - ctx->setInputArray(1, bias, true); + auto bias = NDArrayFactory::create('c', {c}); + ctx->setInputArray(1, bias.dup(), true); auto iargs = new Nd4jLong[1]; iargs[0] = axis; ctx->setIArguments(iargs, 1); @@ -164,12 +164,12 @@ namespace sd { //Same mode + stride 1: output is same shape as input if(format == 1) { //NDHWC - ctx->setInputArray(0, NDArrayFactory::create_('c', {mb, dhw, dhw, dhw, chIn}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {mb, dhw, dhw, dhw, chIn}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn}).dup(), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn}).dup(), true); } else { //NCDHW - ctx->setInputArray(0, NDArrayFactory::create_('c', {mb, chIn, dhw, dhw, dhw}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {mb, chIn, dhw, dhw, dhw}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw}).dup(), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw}).dup(), true); } auto iargs = new Nd4jLong[15]; @@ -230,17 +230,17 @@ namespace sd { //Same mode + stride 1: output is same shape as input if(format == 1) { //NDHWC - ctx->setInputArray(0, NDArrayFactory::create_('c', {mb, dhw, dhw, dhw, chIn}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {mb, dhw, dhw, dhw, chIn}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn}).dup(), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn}).dup(), true); } else { //NCDHW - ctx->setInputArray(0, NDArrayFactory::create_('c', {mb, chIn, dhw, dhw, dhw}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {mb, chIn, dhw, dhw, dhw}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw}).dup(), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw}).dup(), true); } //Weights and bias: - ctx->setInputArray(1, NDArrayFactory::create_('c', {3, 3, 3, chIn, chOut}), true); - ctx->setInputArray(2, NDArrayFactory::create_('c', {chOut}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {3, 3, 3, chIn, chOut}).dup(), true); + ctx->setInputArray(2, NDArrayFactory::create('c', {chOut}).dup(), true); auto iargs = new Nd4jLong[14]; @@ -296,46 +296,46 @@ namespace sd { int n = p.getIntParam("nInOut"); Nd4jLong l = 0; - ctx->setInputArray(0, NDArrayFactory::create_(l), true); //Max TS length (unused) + ctx->setInputArray(0, NDArrayFactory::create(l).dup(), true); //Max TS length (unused) if (f == 0) { //TNS format - ctx->setInputArray(1, NDArrayFactory::create_('c', {seqLength, m, n}), true); //x - ctx->setOutputArray(0, NDArrayFactory::create_('c', {seqLength, m, n}), true); //i - ctx->setOutputArray(1, NDArrayFactory::create_('c', {seqLength, m, n}), true); //c - ctx->setOutputArray(2, NDArrayFactory::create_('c', {seqLength, m, n}), true); //f - ctx->setOutputArray(3, NDArrayFactory::create_('c', {seqLength, m, n}), true); //o - ctx->setOutputArray(4, NDArrayFactory::create_('c', {seqLength, m, n}), true); //z - ctx->setOutputArray(5, NDArrayFactory::create_('c', {seqLength, m, n}), true); //h - ctx->setOutputArray(6, NDArrayFactory::create_('c', {seqLength, m, n}), true); //y + ctx->setInputArray(1, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //x + ctx->setOutputArray(0, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //i + ctx->setOutputArray(1, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //c + ctx->setOutputArray(2, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //f + ctx->setOutputArray(3, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //o + ctx->setOutputArray(4, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //z + ctx->setOutputArray(5, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //h + ctx->setOutputArray(6, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //y } else { //NST format - ctx->setInputArray(1, NDArrayFactory::create_('f', {m, n, seqLength}), true); //x - ctx->setOutputArray(0, NDArrayFactory::create_('f', {m, n, seqLength}), true); //i - ctx->setOutputArray(1, NDArrayFactory::create_('f', {m, n, seqLength}), true); //c - ctx->setOutputArray(2, NDArrayFactory::create_('f', {m, n, seqLength}), true); //f - ctx->setOutputArray(3, NDArrayFactory::create_('f', {m, n, seqLength}), true); //o - ctx->setOutputArray(4, NDArrayFactory::create_('f', {m, n, seqLength}), true); //z - ctx->setOutputArray(5, NDArrayFactory::create_('f', {m, n, seqLength}), true); //h - ctx->setOutputArray(6, NDArrayFactory::create_('f', {m, n, seqLength}), true); //y + ctx->setInputArray(1, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //x + ctx->setOutputArray(0, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //i + ctx->setOutputArray(1, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //c + ctx->setOutputArray(2, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //f + ctx->setOutputArray(3, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //o + ctx->setOutputArray(4, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //z + ctx->setOutputArray(5, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //h + ctx->setOutputArray(6, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //y } - auto cLast = NDArrayFactory::create_('c', {m, n}); - auto yLast = NDArrayFactory::create_('c', {m, n}); - auto W = NDArrayFactory::create_('c', {2 * n, 4 * n}); - auto Wci = NDArrayFactory::create_('c', {n}); - auto Wcf = NDArrayFactory::create_('c', {n}); - auto Wco = NDArrayFactory::create_('c', {n}); - auto b = NDArrayFactory::create_('c', {4 * n}); - - ctx->setInputArray(2, cLast, true); - ctx->setInputArray(3, yLast, true); - ctx->setInputArray(4, W, true); - ctx->setInputArray(5, Wci, true); - ctx->setInputArray(6, Wcf, true); - ctx->setInputArray(7, Wco, true); - ctx->setInputArray(8, b, true); + auto cLast = NDArrayFactory::create('c', {m, n}); + auto yLast = NDArrayFactory::create('c', {m, n}); + auto W = NDArrayFactory::create('c', {2 * n, 4 * n}); + auto Wci = NDArrayFactory::create('c', {n}); + auto Wcf = NDArrayFactory::create('c', {n}); + auto Wco = NDArrayFactory::create('c', {n}); + auto b = NDArrayFactory::create('c', {4 * n}); + + ctx->setInputArray(2, cLast.dup(), true); + ctx->setInputArray(3, yLast.dup(), true); + ctx->setInputArray(4, W.dup(), true); + ctx->setInputArray(5, Wci.dup(), true); + ctx->setInputArray(6, Wcf.dup(), true); + ctx->setInputArray(7, Wco.dup(), true); + ctx->setInputArray(8, b.dup(), true); auto iargs = new Nd4jLong[2]; iargs[0] = 0; //No peephole @@ -380,31 +380,31 @@ namespace sd { auto args = new Nd4jLong[3]; args[0] = args[1] = 1; //apply scale and offset if (n == 0) { - auto input = NDArrayFactory::create_('c', {32, ch, hw, hw}); - auto output = NDArrayFactory::create_('c', {32, ch, hw, hw}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + auto input = NDArrayFactory::create('c', {32, ch, hw, hw}); + auto output = NDArrayFactory::create('c', {32, ch, hw, hw}); + ctx->setInputArray(0, input.dup(), true); + ctx->setOutputArray(0, output.dup(), true); args[2] = 1; //axis } else { - auto input = NDArrayFactory::create_('c', {32, hw, hw, ch}); - auto output = NDArrayFactory::create_('c', {32, hw, hw, ch}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + auto input = NDArrayFactory::create('c', {32, hw, hw, ch}); + auto output = NDArrayFactory::create('c', {32, hw, hw, ch}); + ctx->setInputArray(0, input.dup(), true); + ctx->setOutputArray(0, output.dup(), true); args[2] = 3; //axis } ctx->setIArguments(args, 3); delete[] args; - ctx->setInputArray(1, NDArrayFactory::create_('c', {ch}), true); //mean - auto v = NDArrayFactory::create_('c', {ch}); - v->assign(1.0f); - ctx->setInputArray(2, v, true); //variance - auto g = NDArrayFactory::create_('c', {ch}); - g->assign(1.0); - ctx->setInputArray(3, g, true); //gamma - auto b = NDArrayFactory::create_('c', {ch}); - b->assign(1.0); - ctx->setInputArray(4, b, true); //beta + ctx->setInputArray(1, NDArrayFactory::create('c', {ch}).dup(), true); //mean + auto v = NDArrayFactory::create('c', {ch}); + v.assign(1.0f); + ctx->setInputArray(2, v.dup(), true); //variance + auto g = NDArrayFactory::create('c', {ch}); + g.assign(1.0); + ctx->setInputArray(3, g.dup(), true); //gamma + auto b = NDArrayFactory::create('c', {ch}); + b.assign(1.0f); + ctx->setInputArray(4, b.dup(), true); //beta auto targs = new double[1]; targs[0] = 1e-5; @@ -447,12 +447,12 @@ namespace sd { if (n == 0) { auto input = NDArrayFactory::create_('c', {32, p.getIntParam("c"), hw, hw}); - auto output = NDArrayFactory::create_('c', {32, p.getIntParam("c"), hw, hw}); + auto output = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); ctx->setInputArray(0, input, true); ctx->setOutputArray(0, output, true); } else { - auto input = NDArrayFactory::create_('c', {32, hw, hw, p.getIntParam("c")}); - auto output = NDArrayFactory::create_('c', {32, hw, hw, p.getIntParam("c")}); + auto input = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); + auto output = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); ctx->setInputArray(0, input, true); ctx->setOutputArray(0, output, true); } @@ -507,19 +507,19 @@ namespace sd { int khw = p.getIntParam("k"); if (n == 0) { - auto input = NDArrayFactory::create_('c', {32, p.getIntParam("c"), hw, hw}); - auto output = NDArrayFactory::create_('c', {32, p.getIntParam("c"), hw, hw}); + auto input = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); + auto output = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); ctx->setInputArray(0, input, true); ctx->setOutputArray(0, output, true); } else { - auto input = NDArrayFactory::create_('c', {32, hw, hw, p.getIntParam("c")}); - auto output = NDArrayFactory::create_('c', {32, hw, hw, p.getIntParam("c")}); + auto input = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); + auto output = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); ctx->setInputArray(0, input, true); ctx->setOutputArray(0, output, true); } - auto b = NDArrayFactory::create_('c', {p.getIntParam("c")}); - auto w = NDArrayFactory::create_('c', {khw, khw, p.getIntParam("c"), p.getIntParam("c")}); // [kH, kW, iC, oC] always + auto b = NDArrayFactory::create('c', {p.getIntParam("c")}); + auto w = NDArrayFactory::create('c', {khw, khw, p.getIntParam("c"), p.getIntParam("c")}); // [kH, kW, iC, oC] always ctx->setInputArray(1, w, true); ctx->setInputArray(2, b, true); @@ -552,8 +552,8 @@ namespace sd { auto gen01 = PARAMETRIC_D() { auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create_('c', {2},{1, p.getIntParam("length")}), true); //Shape as NDArray - ctx->setOutputArray(0, NDArrayFactory::create_('c', {1, p.getIntParam("length")}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {2},{1, p.getIntParam("length")}), true); //Shape as NDArray + ctx->setOutputArray(0, NDArrayFactory::create('c', {1, p.getIntParam("length")}), true); auto d = new double[2]; d[0] = 0.0; d[1] = 1.0; @@ -564,8 +564,8 @@ namespace sd { auto gen05 = PARAMETRIC_D() { auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create_('c', {2},{1, p.getIntParam("length")}), true); //Shape as NDArray - ctx->setOutputArray(0, NDArrayFactory::create_('c', {1, p.getIntParam("length")}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {2},{1, p.getIntParam("length")}), true); //Shape as NDArray + ctx->setOutputArray(0, NDArrayFactory::create('c', {1, p.getIntParam("length")}), true); auto d = new double[1]; d[0] = 0.5; ctx->setTArguments(d, 1); @@ -638,9 +638,9 @@ namespace sd { } else { shapeB = {b, c}; } - auto A = NDArrayFactory::create_('c', shapeA); - auto B = NDArrayFactory::create_('c', shapeB); - auto C = NDArrayFactory::create_('f', {a, c}); + auto A = NDArrayFactory::create('c', shapeA); + auto B = NDArrayFactory::create('c', shapeB); + auto C = NDArrayFactory::create('f', {a, c}); x.push_back(A); y.push_back(B); @@ -674,9 +674,9 @@ namespace sd { } else { shapeB = {b, c}; } - auto A = NDArrayFactory::create_('c', shapeA); - auto B = NDArrayFactory::create_('c', shapeB); - auto C = NDArrayFactory::create_('f', {a, c}); + auto A = NDArrayFactory::create('c', shapeA); + auto B = NDArrayFactory::create('c', shapeB); + auto C = NDArrayFactory::create('f', {a, c}); x.push_back(A); y.push_back(B); @@ -710,9 +710,9 @@ namespace sd { } else { shapeB = {b, c}; } - auto A = NDArrayFactory::create_('c', shapeA); - auto B = NDArrayFactory::create_('c', shapeB); - auto C = NDArrayFactory::create_('f', {a, c}); + auto A = NDArrayFactory::create('c', shapeA); + auto B = NDArrayFactory::create('c', shapeB); + auto C = NDArrayFactory::create('f', {a, c}); x.push_back(A); y.push_back(B); @@ -752,13 +752,13 @@ namespace sd { auto ctx = new Context(1); if(rank == 3){ - ctx->setInputArray(0, NDArrayFactory::create_('c', {32, 1024, 1024}), true); - ctx->setInputArray(1, NDArrayFactory::create_('c', {32, 1024, 1024}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {32, 1024, 1024}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {32, 1024, 1024}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {32, 1024, 1024}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {32, 1024, 1024}), true); } else { - ctx->setInputArray(0, NDArrayFactory::create_('c', {4, 8, 1024, 1024}), true); - ctx->setInputArray(1, NDArrayFactory::create_('c', {4, 8, 1024, 1024}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {4, 8, 1024, 1024}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {4, 8, 1024, 1024}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {4, 8, 1024, 1024}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {4, 8, 1024, 1024}), true); } return ctx; @@ -787,9 +787,9 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto s = p.getIntParam("sz"); - auto A = NDArrayFactory::create_('c', {s, s}); - auto B = NDArrayFactory::create_('c', {s, s}); - auto C = NDArrayFactory::create_(resultOrder, {s, s}); + auto A = NDArrayFactory::create('c', {s, s}); + auto B = NDArrayFactory::create('c', {s, s}); + auto C = NDArrayFactory::create(resultOrder, {s, s}); x.push_back(A); y.push_back(B); @@ -827,9 +827,9 @@ namespace sd { auto generator = PARAMETRIC_D() { auto ctx = new Context(1); int length = p.getIntParam("length"); - auto in = NDArrayFactory::create_('c', {length}); - auto indices = NDArrayFactory::create_('c', {length}); - auto updates = NDArrayFactory::create_('c', {length}); + auto in = NDArrayFactory::create('c', {length}); + auto indices = NDArrayFactory::create('c', {length}); + auto updates = NDArrayFactory::create('c', {length}); int* a = new int[length]; for( int i=0; i('c', {rows, cols}); - auto indices = NDArrayFactory::create_('c', {rows}); - auto updates = NDArrayFactory::create_('c', {rows, cols}); + auto in = NDArrayFactory::create('c', {rows, cols}); + auto indices = NDArrayFactory::create('c', {rows}); + auto updates = NDArrayFactory::create('c', {rows, cols}); int* a = new int[rows]; for( int i=0; i('c', {sz0, sz1, 512/sz1}); - auto indices = NDArrayFactory::create_('c', {sz0}); - auto updates = NDArrayFactory::create_('c', {sz0, sz1, 512/sz1}); + auto in = NDArrayFactory::create('c', {sz0, sz1, 512/sz1}); + auto indices = NDArrayFactory::create('c', {sz0}); + auto updates = NDArrayFactory::create('c', {sz0, sz1, 512/sz1}); int* a = new int[sz0]; for( int i=0; i('c', {length}); - auto indices = NDArrayFactory::create_('c', {length}); + auto in = NDArrayFactory::create('c', {length}); + auto indices = NDArrayFactory::create('c', {length}); int* a = new int[length]; for( int i=0; isetInputArray(0, in, true); ctx->setInputArray(1, indices, true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {length}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {length}), true); return ctx; }; @@ -968,8 +968,8 @@ namespace sd { auto ctx = new Context(1); int rows = p.getIntParam("rows"); int cols = p.getIntParam("cols"); - auto in = NDArrayFactory::create_('c', {rows, cols}); - auto indices = NDArrayFactory::create_('c', {rows}); + auto in = NDArrayFactory::create('c', {rows, cols}); + auto indices = NDArrayFactory::create('c', {rows}); int* a = new int[rows]; for( int i=0; isetInputArray(0, in, true); ctx->setInputArray(1, indices, true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {rows, cols}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {rows, cols}), true); return ctx; }; @@ -1000,8 +1000,8 @@ namespace sd { auto ctx = new Context(1); int sz0 = p.getIntParam("sz0"); int sz1 = p.getIntParam("sz1"); - auto in = NDArrayFactory::create_('c', {sz0, sz1, 512/sz1}); - auto indices = NDArrayFactory::create_('c', {sz0}); + auto in = NDArrayFactory::create('c', {sz0, sz1, 512/sz1}); + auto indices = NDArrayFactory::create('c', {sz0}); int* a = new int[sz0]; for( int i=0; isetInputArray(0, in, true); ctx->setInputArray(1, indices, true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {sz0, sz1, 512/sz1}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {sz0, sz1, 512/sz1}), true); return ctx; }; @@ -1040,8 +1040,8 @@ namespace sd { int cols = numElements / rows; bool c = p.getIntParam("cf"); - auto arr = NDArrayFactory::create_(c ? 'c' : 'f', {rows, cols}); - auto arr2 = NDArrayFactory::create_(c ? 'f' : 'c', {rows, cols}); + auto arr = NDArrayFactory::create(c ? 'c' : 'f', {rows, cols}); + auto arr2 = NDArrayFactory::create(c ? 'f' : 'c', {rows, cols}); x.push_back(arr); z.push_back(arr2); }; @@ -1056,15 +1056,15 @@ namespace sd { bool nchw = p.getIntParam("nchw"); if(nchw) { - auto orig = NDArrayFactory::create_('c', {16, 32, 64, 64}); + auto orig = NDArrayFactory::create('c', {16, 32, 64, 64}); orig->permutei({0,2,3,1}); x.push_back(orig); - z.push_back(NDArrayFactory::create_('c', {16, 64, 64, 32})); + z.push_back(NDArrayFactory::create('c', {16, 64, 64, 32})); } else { - auto orig = NDArrayFactory::create_('c', {16, 64, 64, 32}); + auto orig = NDArrayFactory::create('c', {16, 64, 64, 32}); orig->permutei({0,3,1,2}); x.push_back(orig); - z.push_back(NDArrayFactory::create_('c', {16, 32, 64, 64})); + z.push_back(NDArrayFactory::create('c', {16, 32, 64, 64})); } }; @@ -1156,9 +1156,9 @@ namespace sd { } auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create_('c', shape), true); - ctx->setInputArray(1, NDArrayFactory::create_('c', toBcShape), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', shape), true); + ctx->setInputArray(0, NDArrayFactory::create('c', shape), true); + ctx->setInputArray(1, NDArrayFactory::create('c', toBcShape), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', shape), true); return ctx; }; @@ -1188,20 +1188,20 @@ namespace sd { auto generator = PARAMETRIC_D() { auto a = p.getIntParam("axis"); - auto arr = NDArrayFactory::create_('c', {p.getIntParam("rows"), p.getIntParam("cols")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); auto ctx = new Context(1); ctx->setInputArray(0, arr, true); if(a == 0){ - ctx->setInputArray(1, NDArrayFactory::create_('c', {p.getIntParam("rows"), 1}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {p.getIntParam("rows"), 1}), true); } else { - ctx->setInputArray(1, NDArrayFactory::create_('c', {1, p.getIntParam("cols")}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {1, p.getIntParam("cols")}), true); } if (p.getIntParam("inplace") == 1) { ctx->setOutputArray(0, arr); ctx->markInplace(true); } else { - ctx->setOutputArray(0, NDArrayFactory::create_('c', {p.getIntParam("rows"), p.getIntParam("cols")}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}), true); } return ctx; }; @@ -1226,17 +1226,17 @@ namespace sd { ParametersBatch batch({&rows, &cols, &inplace}); auto generator = PARAMETRIC_XYZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("rows"), p.getIntParam("cols")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); x.push_back(arr); if(axis == 0){ - y.push_back(NDArrayFactory::create_('c', {p.getIntParam("rows")})); + y.push_back(NDArrayFactory::create('c', {p.getIntParam("rows")})); } else { - y.push_back(NDArrayFactory::create_('c', {p.getIntParam("cols")})); + y.push_back(NDArrayFactory::create('c', {p.getIntParam("cols")})); } if (p.getIntParam("inplace") == 1) { z.push_back(arr); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("rows"), p.getIntParam("cols")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")})); } }; @@ -1264,9 +1264,9 @@ namespace sd { //Note: always inplace here auto generator = PARAMETRIC_XYZ() { - auto arr = NDArrayFactory::create_('c', shape); + auto arr = NDArrayFactory::create('c', shape); x.push_back(arr); - y.push_back(NDArrayFactory::create_('c', {vectorLength})); + y.push_back(NDArrayFactory::create('c', {vectorLength})); z.push_back(arr); }; @@ -1291,7 +1291,7 @@ namespace sd { //This is an edge case: technically an EWS *should* be available here auto generator1 = PARAMETRIC_XYZ() { auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create_('c', {131072 + (stride == 1 ? 0 : 1), stride}); + auto arr = NDArrayFactory::create('c', {131072 + (stride == 1 ? 0 : 1), stride}); NDArray* strided; if(stride == 1){ @@ -1305,7 +1305,7 @@ namespace sd { strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); - z.push_back(NDArrayFactory::create_(0.0f)); + z.push_back(NDArrayFactory::create(0.0f)); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "stridedSum"); @@ -1315,7 +1315,7 @@ namespace sd { //No EWS defined for this case auto generator2 = PARAMETRIC_XYZ() { auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create_('c', {(stride == 1 ? 1 : 2) * 1024, 1024, stride}); + auto arr = NDArrayFactory::create('c', {(stride == 1 ? 1 : 2) * 1024, 1024, stride}); NDArray* strided; if(stride == 1){ @@ -1329,7 +1329,7 @@ namespace sd { strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); - z.push_back(NDArrayFactory::create_(0.0f)); + z.push_back(NDArrayFactory::create(0.0f)); }; ReductionBenchmark rbSum2(reduce::SameOps::Sum, "stridedSumNoEWS"); @@ -1351,7 +1351,7 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length"), stride}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length"), stride}); NDArray* strided; if(stride == 1){ @@ -1365,7 +1365,7 @@ namespace sd { strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); - z.push_back(NDArrayFactory::create_(0.0f)); + z.push_back(NDArrayFactory::create(0.0f)); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "stridedSum"); @@ -1386,7 +1386,7 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length"), stride}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length"), stride}); NDArray* strided; if(stride == 1){ @@ -1400,8 +1400,8 @@ namespace sd { strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); -// z.push_back(NDArrayFactory::create_(0.0f)); - z.push_back(NDArrayFactory::create_('c', {1})); +// z.push_back(NDArrayFactory::create(0.0f)); + z.push_back(NDArrayFactory::create('c', {1})); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "Strided Sum"); @@ -1411,7 +1411,7 @@ namespace sd { auto generator3 = PARAMETRIC_D(){ auto ctx = new Context(1); auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length"), stride}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length"), stride}); NDArray* strided; if(stride == 1){ @@ -1424,7 +1424,7 @@ namespace sd { strided->assign(1.0); ctx->setInputArray(0, strided, true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {1}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {1}), true); auto iargs = new Nd4jLong[1]; iargs[0] = 0; ctx->setIArguments(iargs, 1); @@ -1457,17 +1457,17 @@ namespace sd { int rows = p.getIntParam("rows"); int cols = length[i] / rows; int dim = p.getIntParam("dim"); - auto arr = NDArrayFactory::create_('c', {rows, cols}); + auto arr = NDArrayFactory::create('c', {rows, cols}); x.push_back(arr); - y.push_back(NDArrayFactory::create_(dim)); + y.push_back(NDArrayFactory::create(dim)); NDArray* result; if(dim == 0){ - result = NDArrayFactory::create_('c', {cols}); + result = NDArrayFactory::create('c', {cols}); } else { - result = NDArrayFactory::create_('c', {rows}); + result = NDArrayFactory::create('c', {rows}); } z.push_back(result); }; @@ -1486,7 +1486,7 @@ namespace sd { int rows = p.getIntParam("rows"); int cols = length[i] / rows; int dim = p.getIntParam("dim"); - auto arr = NDArrayFactory::create_('c', {rows, cols}); + auto arr = NDArrayFactory::create('c', {rows, cols}); Nd4jLong* dimArg = new Nd4jLong[1]; dimArg[0] = dim; @@ -1497,9 +1497,9 @@ namespace sd { NDArray* result; if(dim == 0){ - result = NDArrayFactory::create_('c', {cols}); + result = NDArrayFactory::create('c', {cols}); } else { - result = NDArrayFactory::create_('c', {rows}); + result = NDArrayFactory::create('c', {rows}); } ctx->setOutputArray(0, result, true); return ctx; @@ -1525,11 +1525,11 @@ namespace sd { ParametersBatch batch({&length}); auto generator = PARAMETRIC_XYZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); x.push_back(arr); y.push_back(nullptr); - z.push_back(NDArrayFactory::create_(0.0f)); + z.push_back(NDArrayFactory::create(0.0f)); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -1542,9 +1542,9 @@ namespace sd { auto generator3 = PARAMETRIC_D(){ auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create_('c', {p.getIntParam("length")}), true); - ctx->setInputArray(1, NDArrayFactory::create_((Nd4jLong)0), true); - ctx->setOutputArray(0, NDArrayFactory::create_(0), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")}), true); + ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0), true); + ctx->setOutputArray(0, NDArrayFactory::create(0), true); return ctx; }; @@ -1563,7 +1563,7 @@ namespace sd { auto generator = PARAMETRIC_XZ() { int r = p.getIntParam("rowcol"); - auto arr = NDArrayFactory::create_('c', {r, r+1}); + auto arr = NDArrayFactory::create('c', {r, r+1}); IndicesList indices({NDIndex::all(), NDIndex::interval(0,r-1)}); auto view = new NDArray(arr->subarray(indices)); //nd4j_printf("VIEW ARRAY: rows=%lld, columns=%lld", view->sizeAt(0), view->sizeAt(1)); @@ -1571,13 +1571,13 @@ namespace sd { if(p.getIntParam("inplace") == 1){ z.push_back(view); } else { - z.push_back(NDArrayFactory::create_('c', {view->sizeAt(0),view->sizeAt(1)})); + z.push_back(NDArrayFactory::create('c', {view->sizeAt(0),view->sizeAt(1)})); } delete arr; }; ScalarBenchmark sbLRelu(scalar::Ops::LeakyRELU, "LeakyRELU_View"); - sbLRelu.setY(NDArrayFactory::create_(0.0)); + sbLRelu.setY(NDArrayFactory::create(0.0)); TransformBenchmark tbExp(transform::StrictOps::Exp, "exp view"); @@ -1596,14 +1596,14 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XYZ() { - auto arr1 = NDArrayFactory::create_('c', {p.getIntParam("length")}); - auto arr2 = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto arr1 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr2 = NDArrayFactory::create('c', {p.getIntParam("length")}); x.push_back(arr1); y.push_back(arr2); if(p.getIntParam("inplace") == 1){ z.push_back(arr1); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); } }; @@ -1625,13 +1625,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); arr->assign(1.0); x.push_back(arr); if (p.getIntParam("inplace") == 1) { z.push_back(arr); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); } }; @@ -1644,13 +1644,13 @@ namespace sd { DeclarableBenchmark pg(op1, "polygamma"); auto generator2 = PARAMETRIC_D() { auto ctx = new Context(1); - auto in0 = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto in0 = NDArrayFactory::create('c', {p.getIntParam("length")}); in0->assign(0.25); - auto in1 = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto in1 = NDArrayFactory::create('c', {p.getIntParam("length")}); in1->assign(0.5); ctx->setInputArray(0, in0, true); ctx->setInputArray(1, in1, true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {p.getIntParam("length")}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")}), true); return ctx; }; @@ -1661,16 +1661,16 @@ namespace sd { DeclarableBenchmark binc(op2, "betainc"); auto generator3 = PARAMETRIC_D() { auto ctx = new Context(1); - auto in0 = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto in0 = NDArrayFactory::create('c', {p.getIntParam("length")}); in0->assign(0.25); - auto in1 = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto in1 = NDArrayFactory::create('c', {p.getIntParam("length")}); in1->assign(0.5); - auto in2 = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto in2 = NDArrayFactory::create('c', {p.getIntParam("length")}); in2->assign(0.75); ctx->setInputArray(0, in0, true); ctx->setInputArray(1, in1, true); ctx->setInputArray(2, in2, true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {p.getIntParam("length")}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")}), true); return ctx; }; @@ -1691,13 +1691,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); arr->assign(1.0); x.push_back(arr); if(p.getIntParam("inplace") == 1){ z.push_back(arr); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); } }; @@ -1715,13 +1715,13 @@ namespace sd { ParametersBatch batch2({&rows, &cols, &inplace}); auto generator2 = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("rows"), p.getIntParam("cols")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); arr->assign(1.0); x.push_back(arr); if(p.getIntParam("inplace") == 1){ z.push_back(arr); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("rows"), p.getIntParam("cols")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")})); } }; @@ -1741,18 +1741,18 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); arr->assign(1.0); x.push_back(arr); if(p.getIntParam("inplace") == 1){ z.push_back(arr); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); } }; ScalarBenchmark sbLRelu(scalar::Ops::LeakyRELU, "LeakyRELU"); - sbLRelu.setY(NDArrayFactory::create_(0.0)); + sbLRelu.setY(NDArrayFactory::create(0.0)); TransformBenchmark tbAbs(transform::SameOps::Abs, "abs"); TransformBenchmark tbExp(transform::StrictOps::Exp, "exp"); @@ -1774,13 +1774,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); arr->assign(1.0); x.push_back(arr); if(p.getIntParam("inplace") == 1){ z.push_back(arr); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); } }; @@ -1789,9 +1789,9 @@ namespace sd { ScalarBenchmark sbPow(scalar::Ops::Pow, "sPow"); - sbAdd.setY(NDArrayFactory::create_(3.14159265359)); - sbDiv.setY(NDArrayFactory::create_(3.14159265359)); - sbPow.setY(NDArrayFactory::create_(3.14159265359)); + sbAdd.setY(NDArrayFactory::create(3.14159265359)); + sbDiv.setY(NDArrayFactory::create(3.14159265359)); + sbPow.setY(NDArrayFactory::create(3.14159265359)); output += helper.runOperationSuit(&sbAdd, generator, batch, "Scalar Addition - x.add(3.14159265359) - F32"); From a38c3614a0733da8e6384f067addb8bc97f17f84 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 3 Jun 2020 10:05:32 +0300 Subject: [PATCH 05/99] Refactored benchmarking without legacy create_ method. Signed-off-by: shugeo --- .../benchmarking/impl/LightBenchmarkSuit.cpp | 203 +++++++++--------- 1 file changed, 100 insertions(+), 103 deletions(-) diff --git a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp index 99a1b05bf92a..d1898a0799c4 100644 --- a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp @@ -47,17 +47,17 @@ namespace sd { auto generator = PARAMETRIC_XZ() { auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); - arr->assign(1.0); - x.push_back(arr); + arr.assign(1.0); + x.push_back(arr.dup()); if(p.getIntParam("inplace") == 1){ z.push_back(arr); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")}).dup()); } }; ScalarBenchmark sbRelu(scalar::Ops::RELU, "RELU"); - sbRelu.setY(NDArrayFactory::create_(0.0)); + sbRelu.setY(NDArrayFactory::create(0.0).dup()); TransformBenchmark tbSigmoid(transform::StrictOps::Sigmoid, "sigmoid"); //TransformBenchmark tbSoftmax(transform::StrictOps::SoftMax, "softmax"); @@ -82,9 +82,9 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); - arr->assign(1.0); - x.push_back(arr); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + arr.assign(1.0); + x.push_back(arr.dup()); if(p.getIntParam("inplace") == 1){ z.push_back(arr); } else { @@ -122,14 +122,14 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XYZ() { - auto arr1 = NDArrayFactory::create_('c', {p.getIntParam("length")}); - auto arr2 = NDArrayFactory::create_('c', {p.getIntParam("length")}); - x.push_back(arr1); - y.push_back(arr2); + auto arr1 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr2 = NDArrayFactory::create('c', {p.getIntParam("length")}); + x.push_back(arr1.dup()); + y.push_back(arr2.dup()); if(p.getIntParam("inplace") == 1){ z.push_back(arr1); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")}).dup()); } }; @@ -159,8 +159,8 @@ namespace sd { auto arr = NDArrayFactory::create_(c ? 'c' : 'f', {rows, cols}); auto arr2 = NDArrayFactory::create_(c ? 'f' : 'c', {rows, cols}); - x.push_back(arr); - z.push_back(arr2); + x.push_back(arr.dup()); + z.push_back(arr2.dup()); }; TransformBenchmark tb(transform::AnyOps::Assign, "assign"); @@ -177,14 +177,14 @@ namespace sd { if(nchw) { auto orig = NDArrayFactory::create_('c', {mb, c, hw, hw}); - orig->permutei({0,2,3,1}); - x.push_back(orig); - z.push_back(NDArrayFactory::create_('c', {mb, hw, hw, c})); + orig.permutei({0,2,3,1}); + x.push_back(orig.dup()); + z.push_back(NDArrayFactory::create('c', {mb, hw, hw, c}).dup()); } else { auto orig = NDArrayFactory::create_('c', {mb, hw, hw, c}); - orig->permutei({0,3,1,2}); - x.push_back(orig); - z.push_back(NDArrayFactory::create_('c', {mb, c, hw, hw})); + orig.permutei({0,3,1,2}); + x.push_back(orig.dup()); + z.push_back(NDArrayFactory::create_('c', {mb, c, hw, hw}).dup()); } }; @@ -213,13 +213,13 @@ namespace sd { std::vector shapeB; shapeA = {a, b}; shapeB = {b, c}; - auto A = NDArrayFactory::create_('c', shapeA); - auto B = NDArrayFactory::create_('c', shapeB); - auto C = NDArrayFactory::create_(resultOrder, {a, c}); + auto A = NDArrayFactory::create('c', shapeA); + auto B = NDArrayFactory::create('c', shapeB); + auto C = NDArrayFactory::create(resultOrder, {a, c}); - x.push_back(A); - y.push_back(B); - z.push_back(C); + x.push_back(A.dup()); + y.push_back(B.dup()); + z.push_back(C.dup()); }; std::string n; @@ -246,11 +246,11 @@ namespace sd { ParametersBatch batch({&length}); auto generator = PARAMETRIC_XYZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); - x.push_back(arr); + x.push_back(arr.dup()); y.push_back(nullptr); - z.push_back(NDArrayFactory::create_(0.0f)); + z.push_back(NDArrayFactory::create(0.0f).dup()); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -267,9 +267,9 @@ namespace sd { auto generator3 = PARAMETRIC_D(){ auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create_('c', {p.getIntParam("length")}), true); - ctx->setInputArray(1, NDArrayFactory::create_((Nd4jLong)0), true); - ctx->setOutputArray(0, NDArrayFactory::create_(0), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")}).dup(), true); + ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0), true); + ctx->setOutputArray(0, NDArrayFactory::create(0), true); return ctx; }; @@ -298,19 +298,19 @@ namespace sd { int rows = p.getIntParam("rows"); int cols = length[i] / rows; int dim = p.getIntParam("dim"); - auto arr = NDArrayFactory::create_('c', {rows, cols}); + auto arr = NDArrayFactory::create('c', {rows, cols}); - x.push_back(arr); - y.push_back(NDArrayFactory::create_(dim)); + x.push_back(arr.dup()); + y.push_back(NDArrayFactory::create(dim).dup()); - NDArray* result; + NDArray result; if(dim == 0){ - result = NDArrayFactory::create_('c', {cols}); + result = NDArrayFactory::create('c', {cols}); } else { - result = NDArrayFactory::create_('c', {rows}); + result = NDArrayFactory::create('c', {rows}); } - z.push_back(result); + z.push_back(result.dup()); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -340,13 +340,13 @@ namespace sd { ctx->setInputArray(0, arr, true); - NDArray* result; + NDArray result; if(dim == 0){ - result = NDArrayFactory::create_('c', {cols}); + result = NDArrayFactory::create('c', {cols}); } else { - result = NDArrayFactory::create_('c', {rows}); + result = NDArrayFactory::create('c', {rows}); } - ctx->setOutputArray(0, result, true); + ctx->setOutputArray(0, result.dup(), true); return ctx; }; @@ -382,19 +382,19 @@ namespace sd { int khw = p.getIntParam("k"); if (n == 0) { - auto input = NDArrayFactory::create_('c', {8, 3, hw, hw}); - auto output = NDArrayFactory::create_('c', {8, 3, hw, hw}); + auto input = NDArrayFactory::create('c', {8, 3, hw, hw}); + auto output = NDArrayFactory::create('c', {8, 3, hw, hw}); ctx->setInputArray(0, input, true); ctx->setOutputArray(0, output, true); } else { - auto input = NDArrayFactory::create_('c', {8, hw, hw, 3}); - auto output = NDArrayFactory::create_('c', {8, hw, hw, 3}); + auto input = NDArrayFactory::create('c', {8, hw, hw, 3}); + auto output = NDArrayFactory::create('c', {8, hw, hw, 3}); ctx->setInputArray(0, input, true); ctx->setOutputArray(0, output, true); } - auto b = NDArrayFactory::create_('c', {3}); - auto w = NDArrayFactory::create_('c', {khw, khw, 3, 3}); // [kH, kW, iC, oC] always + auto b = NDArrayFactory::create('c', {3}); + auto w = NDArrayFactory::create('c', {khw, khw, 3, 3}); // [kH, kW, iC, oC] always ctx->setInputArray(1, w, true); ctx->setInputArray(2, b, true); @@ -437,18 +437,18 @@ namespace sd { int khw = p.getIntParam("k"); if (n == 0) { - auto input = NDArrayFactory::create_('c', {8, c, hw, hw}); - auto output = NDArrayFactory::create_('c', {8, c, hw, hw}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + auto input = NDArrayFactory::create('c', {8, c, hw, hw}); + auto output = NDArrayFactory::create('c', {8, c, hw, hw}); + ctx->setInputArray(0, input.dup(), true); + ctx->setOutputArray(0, output.dup(), true); } else { - auto input = NDArrayFactory::create_('c', {8, hw, hw, c}); - auto output = NDArrayFactory::create_('c', {8, hw, hw, c}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + auto input = NDArrayFactory::create('c', {8, hw, hw, c}); + auto output = NDArrayFactory::create('c', {8, hw, hw, c}); + ctx->setInputArray(0, input.dup(), true); + ctx->setOutputArray(0, output.dup(), true); } - auto args = new Nd4jLong[11]; + std::vector args(11);// = new Nd4jLong[11]; args[0] = args[1] = khw; //Kernel args[2] = args[3] = 1;//Stride args[4] = args[5] = 0; //Pad @@ -456,8 +456,7 @@ namespace sd { args[8] = 1; //SAME args[9] = 0; //Divisor mode - 0 = exclude padding in divisor args[10] = n;//0-nchw, 1=nhwc - ctx->setIArguments(args, 11); - delete[] args; + ctx->setIArguments(args.data(), 11); return ctx; }; @@ -494,58 +493,56 @@ namespace sd { int m = p.getIntParam("mb"); Nd4jLong l = 0; - ctx->setInputArray(0, NDArrayFactory::create_(l), true); //Max TS length (unused) + ctx->setInputArray(0, NDArrayFactory::create(l).dup(), true); //Max TS length (unused) if (f == 0) { //TNS format - ctx->setInputArray(1, NDArrayFactory::create_('c', {seqLength, m, n}), true); //x - ctx->setOutputArray(0, NDArrayFactory::create_('c', {seqLength, m, n}), true); //i - ctx->setOutputArray(1, NDArrayFactory::create_('c', {seqLength, m, n}), true); //c - ctx->setOutputArray(2, NDArrayFactory::create_('c', {seqLength, m, n}), true); //f - ctx->setOutputArray(3, NDArrayFactory::create_('c', {seqLength, m, n}), true); //o - ctx->setOutputArray(4, NDArrayFactory::create_('c', {seqLength, m, n}), true); //z - ctx->setOutputArray(5, NDArrayFactory::create_('c', {seqLength, m, n}), true); //h - ctx->setOutputArray(6, NDArrayFactory::create_('c', {seqLength, m, n}), true); //y + ctx->setInputArray(1, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //x + ctx->setOutputArray(0, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //i + ctx->setOutputArray(1, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //c + ctx->setOutputArray(2, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //f + ctx->setOutputArray(3, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //o + ctx->setOutputArray(4, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //z + ctx->setOutputArray(5, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //h + ctx->setOutputArray(6, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //y } else { //NST format - ctx->setInputArray(1, NDArrayFactory::create_('f', {m, n, seqLength}), true); //x - ctx->setOutputArray(0, NDArrayFactory::create_('f', {m, n, seqLength}), true); //i - ctx->setOutputArray(1, NDArrayFactory::create_('f', {m, n, seqLength}), true); //c - ctx->setOutputArray(2, NDArrayFactory::create_('f', {m, n, seqLength}), true); //f - ctx->setOutputArray(3, NDArrayFactory::create_('f', {m, n, seqLength}), true); //o - ctx->setOutputArray(4, NDArrayFactory::create_('f', {m, n, seqLength}), true); //z - ctx->setOutputArray(5, NDArrayFactory::create_('f', {m, n, seqLength}), true); //h - ctx->setOutputArray(6, NDArrayFactory::create_('f', {m, n, seqLength}), true); //y + ctx->setInputArray(1, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //x + ctx->setOutputArray(0, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //i + ctx->setOutputArray(1, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //c + ctx->setOutputArray(2, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //f + ctx->setOutputArray(3, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //o + ctx->setOutputArray(4, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //z + ctx->setOutputArray(5, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //h + ctx->setOutputArray(6, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //y } - auto cLast = NDArrayFactory::create_('c', {m, n}); - auto yLast = NDArrayFactory::create_('c', {m, n}); - auto W = NDArrayFactory::create_('c', {2 * n, 4 * n}); - auto Wci = NDArrayFactory::create_('c', {n}); - auto Wcf = NDArrayFactory::create_('c', {n}); - auto Wco = NDArrayFactory::create_('c', {n}); - auto b = NDArrayFactory::create_('c', {4 * n}); - - ctx->setInputArray(2, cLast, true); - ctx->setInputArray(3, yLast, true); - ctx->setInputArray(4, W, true); - ctx->setInputArray(5, Wci, true); - ctx->setInputArray(6, Wcf, true); - ctx->setInputArray(7, Wco, true); - ctx->setInputArray(8, b, true); - - auto iargs = new Nd4jLong[2]; + auto cLast = NDArrayFactory::create('c', {m, n}); + auto yLast = NDArrayFactory::create('c', {m, n}); + auto W = NDArrayFactory::create('c', {2 * n, 4 * n}); + auto Wci = NDArrayFactory::create('c', {n}); + auto Wcf = NDArrayFactory::create('c', {n}); + auto Wco = NDArrayFactory::create('c', {n}); + auto b = NDArrayFactory::create('c', {4 * n}); + + ctx->setInputArray(2, cLast.dup(), true); + ctx->setInputArray(3, yLast.dup(), true); + ctx->setInputArray(4, W.dup(), true); + ctx->setInputArray(5, Wci.dup(), true); + ctx->setInputArray(6, Wcf.dup(), true); + ctx->setInputArray(7, Wco.dup(), true); + ctx->setInputArray(8, b.dup(), true); + + std::vector iargs(2); iargs[0] = 0; //No peephole iargs[1] = f; - ctx->setIArguments(iargs, 2); - delete[] iargs; + ctx->setIArguments(iargs.data(), 2); - auto targs = new double[2]; + std::vector targs(2); targs[0] = 1.0; //forget bias targs[1] = 0.0; //cell clipping value - ctx->setTArguments(targs, 2); - delete[] targs; + ctx->setTArguments(targs.data(), 2); return ctx; }; @@ -566,20 +563,20 @@ namespace sd { auto generator = PARAMETRIC_D() { auto a = p.getIntParam("axis"); - auto arr = NDArrayFactory::create_('c', {rows, p.getIntParam("cols")}); + auto arr = NDArrayFactory::create('c', {rows, p.getIntParam("cols")}); auto ctx = new Context(1); ctx->setInputArray(0, arr, true); if(a == 0){ - ctx->setInputArray(1, NDArrayFactory::create_('c', {rows, 1}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {rows, 1}).dup(), true); } else { - ctx->setInputArray(1, NDArrayFactory::create_('c', {1, p.getIntParam("cols")}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {1, p.getIntParam("cols")}).dup(), true); } if (p.getIntParam("inplace") == 1) { ctx->setOutputArray(0, arr); ctx->markInplace(true); } else { - ctx->setOutputArray(0, NDArrayFactory::create_('c', {rows, p.getIntParam("cols")}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {rows, p.getIntParam("cols")}).dup(), true); } return ctx; }; From 48b442c13f798b7d15b4136ad267c21fc3225d90 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 3 Jun 2020 10:15:13 +0300 Subject: [PATCH 06/99] Refactored tests to eliminated usage of legacy create_ factory method. Signed-off-by: shugeo --- .../layers_tests/BooleanOpsTests.cpp | 9 ++-- .../layers_tests/ConstantShapeHelperTests.cpp | 26 +++++------ .../tests_cpu/layers_tests/ContextTests.cpp | 44 +++++++++---------- 3 files changed, 35 insertions(+), 44 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp index 199cb88eb0d5..f830ab94a246 100644 --- a/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp @@ -45,16 +45,13 @@ TEST_F(BooleanOpsTests, LtTest_1) { } TEST_F(BooleanOpsTests, LtTest_2) { - auto x = NDArrayFactory::create_(2.0f); - auto y = NDArrayFactory::create_(1.0f); + auto x = NDArrayFactory::create(2.0f); + auto y = NDArrayFactory::create(1.0f); sd::ops::lt_scalar op; - ASSERT_FALSE(op.verify({x, y})); - - delete x; - delete y; + ASSERT_FALSE(op.verify({&x, &y})); } TEST_F(BooleanOpsTests, Is_non_decreasing_1) { diff --git a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp index 5b747ab5bea5..90fec7f97093 100644 --- a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp @@ -124,22 +124,21 @@ TEST_F(ConstantShapeHelperTests, stress_test_1) { } TEST_F(ConstantShapeHelperTests, basic_test_3) { - auto array = NDArrayFactory::create_('c', {128}); + auto array = NDArrayFactory::create('c', {128}); - ASSERT_TRUE(array->shapeInfo() != nullptr); + ASSERT_TRUE(array.shapeInfo() != nullptr); #ifdef __CUDABLAS__ - ASSERT_TRUE(array->specialShapeInfo() != nullptr); + ASSERT_TRUE(array.specialShapeInfo() != nullptr); #endif - delete array; } TEST_F(ConstantShapeHelperTests, basic_test_4) { - auto array = NDArrayFactory::create_('c', {128, 256}); + auto array = NDArrayFactory::create('c', {128, 256}); - auto dup = new NDArray(array->dup('f')); + auto dup = array.dup('f'); ASSERT_TRUE(dup->shapeInfo() != nullptr); @@ -149,7 +148,6 @@ TEST_F(ConstantShapeHelperTests, basic_test_4) { // manager.printDevContentOnDev(dup->specialShapeInfo(), shape::shapeInfoLength(2), 0); #endif - delete array; delete dup; } @@ -157,15 +155,13 @@ TEST_F(ConstantShapeHelperTests, basic_test_4) { TEST_F(ConstantShapeHelperTests, basic_test_5) { auto arrayA = NDArrayFactory::create(1); - auto arrayB = NDArrayFactory::create_('c', {128, 256}); + auto arrayB = NDArrayFactory::create('c', {128, 256}); //arrayA.printShapeInfo("A"); //arrayB->printShapeInfo("B"); ASSERT_EQ(0, arrayA.rankOf()); - ASSERT_EQ(2, arrayB->rankOf()); - ASSERT_NE(arrayA.dataType(), arrayB->dataType()); - - delete arrayB; + ASSERT_EQ(2, arrayB.rankOf()); + ASSERT_NE(arrayA.dataType(), arrayB.dataType()); } TEST_F(ConstantShapeHelperTests, basic_test_6) { @@ -180,15 +176,13 @@ TEST_F(ConstantShapeHelperTests, basic_test_6) { } TEST_F(ConstantShapeHelperTests, basic_test_7) { - auto array = NDArrayFactory::create_('c', {32, 256}); + auto array = NDArrayFactory::create('c', {32, 256}); IndicesList indices({NDIndex::all(), NDIndex::interval(0,1)}); - auto strided = array->subarray(indices); + auto strided = array.subarray(indices); strided.assign(1.0f); //strided->printIndexedBuffer("column"); - - delete array; } TEST_F(ConstantHelperTests, basic_test_1) { diff --git a/libnd4j/tests_cpu/layers_tests/ContextTests.cpp b/libnd4j/tests_cpu/layers_tests/ContextTests.cpp index 57d9ce88d94d..5e02b48500a0 100644 --- a/libnd4j/tests_cpu/layers_tests/ContextTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ContextTests.cpp @@ -34,8 +34,8 @@ class ContextTests : public testing::Test { TEST_F(ContextTests, Basic_Test_1) { VariableSpace variableSpace; - auto _20 = NDArrayFactory::create_('c', {2, 2}); - auto _21 = NDArrayFactory::create_('c', {2, 2}); + auto _20 = NDArrayFactory::create('c', {2, 2}); + auto _21 = NDArrayFactory::create('c', {2, 2}); _20->assign(1.0f); _21->assign(2.0f); @@ -62,11 +62,11 @@ TEST_F(ContextTests, Basic_Test_1) { TEST_F(ContextTests, Basic_Test_2) { VariableSpace variableSpace; - auto _20 = NDArrayFactory::create_('c', {2, 2}); - auto _21 = NDArrayFactory::create_('c', {2, 2}); + auto _20 = NDArrayFactory::create('c', {2, 2}); + auto _21 = NDArrayFactory::create('c', {2, 2}); - _20->assign(1.0f); - _21->assign(2.0f); + _20.assign(1.0f); + _21.assign(2.0f); variableSpace.putVariable(-1, _20); variableSpace.putVariable(-2, _21); @@ -92,7 +92,7 @@ TEST_F(ContextTests, Basic_Test_3) { Context ctx(1, &variableSpace); - auto _20 = NDArrayFactory::create_('c', {2, 2}); + auto _20 = NDArrayFactory::create('c', {2, 2}); ctx.pushNDArrayToVariableSpace(1, 1, _20); @@ -105,11 +105,11 @@ TEST_F(ContextTests, Basic_Test_4) { Context ctx(1, &variableSpace); - auto _20 = NDArrayFactory::create_('c', {2, 2}); - _20->linspace(1); + auto _20 = NDArrayFactory::create('c', {2, 2}); + _20.linspace(1); - auto _21 = NDArrayFactory::create_('c', {2, 2}); - _21->linspace(10); + auto _21 = NDArrayFactory::create('c', {2, 2}); + _21.linspace(10); ctx.pushNDArrayToVariableSpace(1, 1, _20); @@ -127,10 +127,10 @@ TEST_F(ContextTests, Basic_Test_5) { Context ctx(1, &variableSpace); - auto _20 = NDArrayFactory::create_('c', {2, 2}); - _20->linspace(1); + auto _20 = NDArrayFactory::create('c', {2, 2}); + _20.linspace(1); - auto exp = new NDArray(_20->dup()); + auto exp = _20.dup()); ctx.pushNDArrayToVariableSpace(1, 1, _20); @@ -185,11 +185,11 @@ TEST_F(ContextTests, Basic_Test_7) { ASSERT_TRUE(v1 == var1); - auto _10 = NDArrayFactory::create_('c', {2, 2}); - _10->linspace(1); + auto _10 = NDArrayFactory::create('c', {2, 2}); + _10.linspace(1); - auto _11 = NDArrayFactory::create_('c', {2, 2}); - _11->linspace(10); + auto _11 = NDArrayFactory::create('c', {2, 2}); + _11.linspace(10); ctx.pushNDArrayToVariableSpace(1, 0, _10); ctx.pushNDArrayToVariableSpace(1, 1, _11); @@ -206,11 +206,11 @@ TEST_F(ContextTests, Basic_Test_8) { Context ctx(1, &variableSpace); - auto _10 = NDArrayFactory::create_('c', {2, 2}); - _10->linspace(1); + auto _10 = NDArrayFactory::create('c', {2, 2}); + _10.linspace(1); - auto _11 = NDArrayFactory::create_('c', {2, 2}); - _11->linspace(10); + auto _11 = NDArrayFactory::create('c', {2, 2}); + _11.linspace(10); ctx.pushNDArrayToVariableSpace(1, 0, _10); ctx.pushNDArrayToVariableSpace(1, 1, _11); From dcdf56c5e4d904ff988824f94f9dbcaa9ec2b386 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 3 Jun 2020 12:40:31 +0300 Subject: [PATCH 07/99] Corrected tests to eliminate legacy factory methods usage. Signed-off-by: shugeo --- .../layers_tests/ConvolutionTests1.cpp | 26 +- .../layers_tests/ConvolutionTests2.cpp | 22 +- .../layers_tests/DeclarableOpsTests1.cpp | 290 +++++++++--------- 3 files changed, 161 insertions(+), 177 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp index 4438e5fe634c..9d9e9a45083b 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp @@ -60,14 +60,14 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_1) { int bS=1, iH=5,iW=4, iC=2,oC=3, kH=2,kW=2, sH=1,sW=1, pH=0,pW=0, dH=1,dW=1; TypeParam _expB[]{664.0, 700.0, 736.0, 344.0, 808.0, 844.0, 880.0, 408.0, 952.0, 988.0, 1024.0, 472.0, 1096.0, 1132.0, 1168.0, 536.0, 466.0, 480.0, 494.0, 220.0, 1528.0, 1628.0, 1728.0, 856.0, 1928.0, 2028.0, 2128.0, 1048.0, 2328.0, 2428.0, 2528.0, 1240.0, 2728.0, 2828.0, 2928.0, 1432.0, 1346.0, 1392.0, 1438.0, 700.0, 2392.0, 2556.0, 2720.0, 1368.0, 3048.0, 3212.0, 3376.0, 1688.0, 3704.0, 3868.0, 4032.0, 2008.0, 4360.0, 4524.0, 4688.0, 2328.0, 2226.0, 2304.0, 2382.0, 1180.0}; Nd4jLong _expS[]{4, 1, 3, 5, 4, 60, 20, 4, 1, typeid(TypeParam) == typeid(float) ? 8192 : 16384, 1, 99}; - auto input = NDArrayFactory::create_('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create_('c', {oC, iC, kH, kW}); + auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); + auto weights = NDArrayFactory::create('c', {oC, iC, kH, kW}); for (int e = 0; e < input->lengthOf(); e++) - input->p(e, e + 1); + input.p(e, e + 1); for (int e = 0; e < weights->lengthOf(); e++) - weights->p(e, e + 1); - weights->permutei({2,3,1,0}); + weights.p(e, e + 1); + weights.permutei({2,3,1,0}); // weights->printShapeInfo("weights"); @@ -75,8 +75,8 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_1) { auto exp = new NDArray(_expB, _expS); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, weights); + variableSpace->putVariable(-1, input.dup()); + variableSpace->putVariable(-2, weights.dup()); auto block = new Context(1, variableSpace, false); // not-in-place block->fillInputs({-1, -2}); @@ -393,18 +393,18 @@ TEST_F(ConvolutionTests1, sconv2d_1) { int iX = 10; int B = 2; - auto input = NDArrayFactory::create_('c', {B, iC, iY, iX}); + auto input = NDArrayFactory::create('c', {B, iC, iY, iX}); for (int e = 0; e < input->lengthOf(); e++) - input->p(e, e+1); + input.p(e, e+1); - auto weights = NDArrayFactory::create_('c', {oC, iC, kY, kX}); + auto weights = NDArrayFactory::create('c', {oC, iC, kY, kX}); for (int e = 0; e < weights->lengthOf(); e++) - weights->p(e, e+1); + weights.p(e, e+1); weights->permutei({2,3,1,0}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, weights); + variableSpace->putVariable(-1, input.dup()); + variableSpace->putVariable(-2, weights.dup()); auto block = new Context(1, variableSpace, false); block->fillInputs({-1, -2}); diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp index 169c51124ff2..d399f2f35d8d 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp @@ -899,7 +899,7 @@ TEST_F(ConvolutionTests2, deconv3d_bp_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, maxpool2d_1) { - auto x = NDArrayFactory::create_('c', {bS,iD,iH,iW}); + auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); @@ -943,7 +943,7 @@ TEST_F(ConvolutionTests2, maxpool2d_2) { const int oW = (iW - kW - (kW-1)*(dW-1) + 2*pW)/sW + 1; // output width - auto x = NDArrayFactory::create_('c', {bS,iD,iH,iW}); + auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); @@ -987,7 +987,7 @@ TEST_F(ConvolutionTests2, maxpool2d_3) { const int oW = (int) sd::math::nd4j_ceil(iW * 1.f / sW); - auto x = NDArrayFactory::create_('c', {bS,iD,iH,iW}); + auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); @@ -1031,7 +1031,7 @@ TEST_F(ConvolutionTests2, maxpool2d_4) { const int oW = (iW - kW - (kW-1)*(dW-1) + 2*pW)/sW + 1; // output width - auto x = NDArrayFactory::create_('c', {bS,iD,iH,iW}); + auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); @@ -1075,7 +1075,7 @@ TEST_F(ConvolutionTests2, maxpool2d_5) { const int oW = (int) sd::math::nd4j_ceil(iW * 1.f / sW); - auto x = NDArrayFactory::create_('c', {bS,iD,iH,iW}); + auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); @@ -1691,8 +1691,8 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_bp_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, maxpool2d_bp_1) { - auto input = NDArrayFactory::create_('c', {bS,iD,iH,iW}); - auto epsilon = NDArrayFactory::create_('c', {bS,iD,oH,oW}); + auto input = NDArrayFactory::create('c', {bS,iD,iH,iW}); + auto epsilon = NDArrayFactory::create('c', {bS,iD,oH,oW}); auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); @@ -1875,8 +1875,8 @@ TEST_F(ConvolutionTests2, maxpool2d_bp_7) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, avgpool2d_bp_1) { - auto input = NDArrayFactory::create_('c', {bS,iD,iH,iW}); - auto epsilon = NDArrayFactory::create_('c', {bS,iD,oH,oW}); + auto input = NDArrayFactory::create('c', {bS,iD,iH,iW}); + auto epsilon = NDArrayFactory::create('c', {bS,iD,oH,oW}); auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); @@ -2046,8 +2046,8 @@ TYPED_TEST(TypedConvolutionTests2, avgpool2d_bp_6) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, pnormpool2d_bp_1) { - auto input = NDArrayFactory::create_('c', {bS,iD,iH,iW}); - auto epsilon = NDArrayFactory::create_('c', {bS,iD,oH,oW}); + auto input = NDArrayFactory::create('c', {bS,iD,iH,iW}); + auto epsilon = NDArrayFactory::create('c', {bS,iD,oH,oW}); auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp index 959362c4d21f..263d5bffdc2e 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp @@ -97,17 +97,17 @@ TEST_F(DeclarableOpsTests1, BasicInitialization1) { std::string expName("concat"); ASSERT_EQ(expName, *(concat->getOpName())); - auto x0 = NDArrayFactory::create_('c', { 1, 5 }); - auto x1 = NDArrayFactory::create_('c', { 1, 5 }); - auto x2 = NDArrayFactory::create_('c', { 1, 5 }); - auto x3 = NDArrayFactory::create_('c', { 1, 5 }); - auto x4 = NDArrayFactory::create_('c', { 1, 5 }); - - x0->assign(1.0f); - x1->assign(1.0f); - x2->assign(1.0f); - x3->assign(1.0f); - x4->assign(1.0f); + auto x0 = NDArrayFactory::create('c', { 1, 5 }); + auto x1 = NDArrayFactory::create('c', { 1, 5 }); + auto x2 = NDArrayFactory::create('c', { 1, 5 }); + auto x3 = NDArrayFactory::create('c', { 1, 5 }); + auto x4 = NDArrayFactory::create('c', { 1, 5 }); + + x0.assign(1.0f); + x1.assign(1.0f); + x2.assign(1.0f); + x3.assign(1.0f); + x4.assign(1.0f); auto variableSpace = new VariableSpace(); @@ -609,12 +609,12 @@ TEST_F(DeclarableOpsTests1, DivergentCheck1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AddMatrices1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 5, 3 }); - auto exp = NDArrayFactory::create_('c', { 5, 3 }); - x->assign(2); - y->assign(1); - exp->assign(3); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 5, 3 }); + auto exp = NDArrayFactory::create('c', { 5, 3 }); + x.assign(2.f); + y.assign(1.f); + exp.assign(3.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -628,7 +628,6 @@ TEST_F(DeclarableOpsTests1, AddMatrices1) { ASSERT_TRUE(x->equalsTo(exp)); - delete exp; delete block; delete variableSpace; @@ -637,9 +636,9 @@ TEST_F(DeclarableOpsTests1, AddMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AddVectorVector1) { - auto x = NDArrayFactory::create_('c', { 1, 15 }); - auto y = NDArrayFactory::create_('c', { 1, 15 }); - auto exp = NDArrayFactory::create_('c', { 1, 15 }); + auto x = NDArrayFactory::create('c', { 1, 15 }); + auto y = NDArrayFactory::create('c', { 1, 15 }); + auto exp = NDArrayFactory::create('c', { 1, 15 }); x->assign(2); y->assign(1); exp->assign(3); @@ -656,7 +655,6 @@ TEST_F(DeclarableOpsTests1, AddVectorVector1) { ASSERT_TRUE(x->equalsTo(exp)); - delete exp; delete block; delete variableSpace; } @@ -664,11 +662,11 @@ TEST_F(DeclarableOpsTests1, AddVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(2); - y->assign(1); + x.assign(2); + y.assign(1); exp.assign(3); auto variableSpace = new VariableSpace(); @@ -690,11 +688,11 @@ TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AddScalarScalar1) { - auto x = NDArrayFactory::create_('c', { 1, 1 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); + auto x = NDArrayFactory::create('c', { 1, 1 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 1, 1 }); - x->assign(2); - y->assign(1); + x.assign(2); + y.assign(1); exp.assign(3); auto variableSpace = new VariableSpace(); @@ -716,11 +714,11 @@ TEST_F(DeclarableOpsTests1, AddScalarScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractMatrices1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 5, 3 }); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 5, 3 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(3); - y->assign(1); + x.assign(3); + y.assign(1); exp.assign(2); auto variableSpace = new VariableSpace(); @@ -743,12 +741,12 @@ TEST_F(DeclarableOpsTests1, SubtractMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractTest_1) { - auto x = NDArrayFactory::create_('c', { 1, 6 }); - auto y = NDArrayFactory::create_('c', { 1, 6 }); + auto x = NDArrayFactory::create('c', { 1, 6 }); + auto y = NDArrayFactory::create('c', { 1, 6 }); auto exp = NDArrayFactory::create('c', { 1, 6 }); - x->assign(3); - y->assign(1); - exp.assign(2); + x.assign(3.f); + y.assign(1.f); + exp.assign(2.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -826,20 +824,20 @@ TEST_F(DeclarableOpsTests1, TestRng1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MergeSumTest1) { - auto x = NDArrayFactory::create_('c', { 5, 5 }); - auto y = NDArrayFactory::create_('c', { 5, 5 }); - auto z = NDArrayFactory::create_('c', { 5, 5 }); + auto x = NDArrayFactory::create('c', { 5, 5 }); + auto y = NDArrayFactory::create('c', { 5, 5 }); + auto z = NDArrayFactory::create('c', { 5, 5 }); auto exp = NDArrayFactory::create('c', { 5, 5 }); - x->assign(3); - y->assign(1); - z->assign(2); - exp.assign(6); + x.assign(3.f); + y.assign(1.f); + z.assign(2.f); + exp.assign(6.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); variableSpace->putVariable(-2, y); variableSpace->putVariable(-3, z); - variableSpace->putVariable(1, new Variable(NDArrayFactory::create_('c', { 5, 5 }))); + variableSpace->putVariable(1, new Variable(NDArrayFactory::create('c', { 5, 5 }))); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2, -3 }); @@ -859,14 +857,14 @@ TEST_F(DeclarableOpsTests1, MergeSumTest1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ClipByValue1) { - auto x = NDArrayFactory::create_('c', { 5, 5 }); + auto x = NDArrayFactory::create('c', { 5, 5 }); auto exp = NDArrayFactory::create('c', { 5, 5 }); - x->assign(4); - x->p(0, -1); - x->p(1, 2); - exp.assign(3); - exp.p(0, 0); - exp.p(1, 2); + x.assign(4.f); + x.p(0, -1.f); + x.p(1, 2.f); + exp.assign(3.f); + exp.p(0, 0.f); + exp.p(1, 2.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -890,14 +888,14 @@ TEST_F(DeclarableOpsTests1, ClipByValue1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MergeAvgTest1) { - auto x = NDArrayFactory::create_('c', { 5, 5 }); - auto y = NDArrayFactory::create_('c', { 5, 5 }); - auto z = NDArrayFactory::create_('c', { 5, 5 }); + auto x = NDArrayFactory::create('c', { 5, 5 }); + auto y = NDArrayFactory::create('c', { 5, 5 }); + auto z = NDArrayFactory::create('c', { 5, 5 }); auto exp = NDArrayFactory::create('c', { 5, 5 }); - x->assign(3); - y->assign(1); - z->assign(2); - exp.assign(2); + x.assign(3.f); + y.assign(1.f); + z.assign(2.f); + exp.assign(2.f); auto zu = NDArrayFactory::create('c', { 5, 5 }); @@ -905,7 +903,7 @@ TEST_F(DeclarableOpsTests1, MergeAvgTest1) { variableSpace->putVariable(-1, x); variableSpace->putVariable(-2, y); variableSpace->putVariable(-3, z); - variableSpace->putVariable(1, new Variable(NDArrayFactory::create_('c', { 5, 5 }))); + variableSpace->putVariable(1, new Variable(NDArrayFactory::create('c', { 5, 5 }))); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2, -3 }); @@ -925,12 +923,12 @@ TEST_F(DeclarableOpsTests1, MergeAvgTest1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { - auto x = NDArrayFactory::create_('c', { 1, 15 }); - auto y = NDArrayFactory::create_('c', { 1, 15 }); + auto x = NDArrayFactory::create('c', { 1, 15 }); + auto y = NDArrayFactory::create('c', { 1, 15 }); auto exp = NDArrayFactory::create('c', { 1, 15 }); - x->assign(3); - y->assign(1); - exp.assign(2); + x.assign(3.f); + y.assign(1.f); + exp.assign(2.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -953,8 +951,8 @@ TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); x->assign(3); y->assign(1); @@ -980,12 +978,12 @@ TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { - auto x = NDArrayFactory::create_('c', { 1, 1 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); + auto x = NDArrayFactory::create('c', { 1, 1 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 1, 1 }); - x->assign(3); - y->assign(1); - exp.assign(2); + x.assign(3.f); + y.assign(1.f); + exp.assign(2.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -1006,8 +1004,8 @@ TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractMatrices1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 5, 3 }); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 5, 3 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); x->assign(3.f); y->assign(1.f); @@ -1146,19 +1144,17 @@ TEST_F(DeclarableOpsTests1, ReverseModTest_2) { ASSERT_TRUE(res.status() == ND4J_STATUS_OK); ASSERT_TRUE(res.at(0)->equalsTo(&exp)); - - } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { - auto x = NDArrayFactory::create_('c', { 1, 15 }); - auto y = NDArrayFactory::create_('c', { 1, 15 }); - auto exp = NDArrayFactory::create_('c', { 1, 15 }); - x->assign(3); - y->assign(1); - exp->assign(-2); + auto x = NDArrayFactory::create('c', { 1, 15 }); + auto y = NDArrayFactory::create('c', { 1, 15 }); + auto exp = NDArrayFactory::create('c', { 1, 15 }); + x.assign(3.f); + y.assign(1.f); + exp.assign(-2.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -1174,19 +1170,18 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { delete variableSpace; delete block; - delete exp; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); - auto exp = NDArrayFactory::create_('c', { 5, 3 }); - x->assign(3); - y->assign(1); - exp->assign(-2); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); + auto exp = NDArrayFactory::create('c', { 5, 3 }); + x->assign(3.f); + y->assign(1.f); + exp->assign(-2.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -1202,19 +1197,18 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { delete variableSpace; delete block; - delete exp; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { - auto x = NDArrayFactory::create_('c', { 1, 1 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); - auto exp = NDArrayFactory::create_('c', { 1, 1 }); - x->assign(3); - y->assign(1); - exp->assign(-2); + auto x = NDArrayFactory::create('c', { 1, 1 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); + auto exp = NDArrayFactory::create('c', { 1, 1 }); + x.assign(3); + y.assign(1); + exp.assign(-2); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -1230,18 +1224,17 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { delete variableSpace; delete block; - delete exp; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 5, 3 }); - auto exp = NDArrayFactory::create_('c', { 5, 3 }); - x->assign(2); - y->assign(3); - exp->assign(6); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 5, 3 }); + auto exp = NDArrayFactory::create('c', { 5, 3 }); + x.assign(2.f); + y.assign(3.f); + exp.assign(6.f); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -1257,15 +1250,14 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { delete variableSpace; delete block; - delete exp; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { - auto x = NDArrayFactory::create_('c', { 1, 15 }); - auto y = NDArrayFactory::create_('c', { 1, 15 }); - auto exp = NDArrayFactory::create_('c', { 1, 15 }); + auto x = NDArrayFactory::create('c', { 1, 15 }); + auto y = NDArrayFactory::create('c', { 1, 15 }); + auto exp = NDArrayFactory::create('c', { 1, 15 }); x->assign(2); y->assign(3); exp->assign(6); @@ -1284,18 +1276,17 @@ TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { delete variableSpace; delete block; - delete exp; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); - auto exp = NDArrayFactory::create_('c', { 5, 3 }); - x->assign(2); - y->assign(3); - exp->assign(6); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); + auto exp = NDArrayFactory::create('c', { 5, 3 }); + x.assign(2); + y.assign(3); + exp.assign(6); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -1311,15 +1302,14 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { delete variableSpace; delete block; - delete exp; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { - auto x = NDArrayFactory::create_('c', { 1, 1 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); - auto exp = NDArrayFactory::create_('c', { 1, 1 }); + auto x = NDArrayFactory::create('c', { 1, 1 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); + auto exp = NDArrayFactory::create('c', { 1, 1 }); x->assign(2); y->assign(3); exp->assign(6); @@ -1338,26 +1328,25 @@ TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { delete block; delete variableSpace; - delete exp; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestSoftMax_bp_1) { - auto input = NDArrayFactory::create_('c', { 2, 2 }); + auto input = NDArrayFactory::create('c', { 2, 2 }); for (int e = 0; e < input->lengthOf(); e++) input->p(e, e + 1); - auto epsilon = NDArrayFactory::create_('c', { 2, 2 }); + auto epsilon = NDArrayFactory::create('c', { 2, 2 }); epsilon->p(0, 0.1f); epsilon->p(1, 0.2f); epsilon->p(2, 0.3f); epsilon->p(3, 0.4f); - auto output = NDArrayFactory::create_('c', { 2, 2 }); + auto output = NDArrayFactory::create('c', { 2, 2 }); output->assign(1.0f); - auto exp = NDArrayFactory::create_('c', { 2, 2 }); + auto exp = NDArrayFactory::create('c', { 2, 2 }); exp->p(0, -0.019661194f); exp->p(1, 0.019661194f); exp->p(2, -0.019661194f); @@ -1381,7 +1370,6 @@ TEST_F(DeclarableOpsTests1, TestSoftMax_bp_1) { delete variableSpace; delete block; - delete exp; } @@ -1469,9 +1457,9 @@ TEST_F(DeclarableOpsTests1, BroadcastReverseDivideTest_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, DivideMatrices1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 5, 3 }); - auto exp = NDArrayFactory::create_('c', { 5, 3 }); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 5, 3 }); + auto exp = NDArrayFactory::create('c', { 5, 3 }); x->assign(6); y->assign(2); exp->assign(3); @@ -1490,14 +1478,13 @@ TEST_F(DeclarableOpsTests1, DivideMatrices1) { delete variableSpace; delete block; - delete exp; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, DivideVectorVector1) { - auto x = NDArrayFactory::create_('c', { 1, 15 }); - auto y = NDArrayFactory::create_('c', { 1, 15 }); + auto x = NDArrayFactory::create('c', { 1, 15 }); + auto y = NDArrayFactory::create('c', { 1, 15 }); auto exp = NDArrayFactory::create('c', { 1, 15 }); x->assign(6); y->assign(2); @@ -1522,8 +1509,8 @@ TEST_F(DeclarableOpsTests1, DivideVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); x->assign(6); y->assign(2); @@ -1549,8 +1536,8 @@ TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { - auto x = NDArrayFactory::create_('c', { 5, 1 }); - auto y = NDArrayFactory::create_('c', { 5, 1 }); + auto x = NDArrayFactory::create('c', { 5, 1 }); + auto y = NDArrayFactory::create('c', { 5, 1 }); auto exp = NDArrayFactory::create('c', { 5, 1 }); x->assign(6); y->assign(2); @@ -1575,8 +1562,8 @@ TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 5, 3 }); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 5, 3 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); x->assign(2); y->assign(6); @@ -1601,8 +1588,8 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { - auto x = NDArrayFactory::create_('c', { 1, 15 }); - auto y = NDArrayFactory::create_('c', { 1, 15 }); + auto x = NDArrayFactory::create('c', { 1, 15 }); + auto y = NDArrayFactory::create('c', { 1, 15 }); auto exp = NDArrayFactory::create('c', { 1, 15 }); x->assign(2); y->assign(6); @@ -1627,8 +1614,8 @@ TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { - auto x = NDArrayFactory::create_('c', { 5, 3 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); + auto x = NDArrayFactory::create('c', { 5, 3 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); x->assign(2); y->assign(6); @@ -1653,8 +1640,8 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseDivideScalarScalar1) { - auto x = NDArrayFactory::create_('c', { 1, 1 }); - auto y = NDArrayFactory::create_('c', { 1, 1 }); + auto x = NDArrayFactory::create('c', { 1, 1 }); + auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 1, 1 }); x->assign(2); y->assign(6); @@ -1826,8 +1813,8 @@ TEST_F(DeclarableOpsTests1, TestGemv1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, Transpose1) { - auto x = NDArrayFactory::create_('c', { 3,5,2 }); - auto exp = NDArrayFactory::create_('c', { 2,5,3 }); + auto x = NDArrayFactory::create('c', { 3,5,2 }); + auto exp = NDArrayFactory::create('c', { 2,5,3 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); @@ -1846,7 +1833,6 @@ TEST_F(DeclarableOpsTests1, Transpose1) { ASSERT_TRUE(exp->dataType() == result->dataType()); ASSERT_TRUE(exp->ordering() == result->ordering()); - delete exp; delete block; delete variableSpace; } @@ -1883,7 +1869,6 @@ TEST_F(DeclarableOpsTests1, Permute1) { delete block; delete variableSpace; - delete exp; } ////////////////////////////////////////////////////////////////////// @@ -1910,14 +1895,13 @@ TEST_F(DeclarableOpsTests1, TestArgumentsValidation1) { ASSERT_TRUE(status != 0); - delete exp; delete block; delete variableSpace; } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestReductionShape1) { - auto input = NDArrayFactory::create_('c', { 4, 5, 5, 10, 10 }); + auto input = NDArrayFactory::create('c', { 4, 5, 5, 10, 10 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, input); @@ -1952,7 +1936,7 @@ TEST_F(DeclarableOpsTests1, TestReductionShape1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestReductionShape2) { - auto input = NDArrayFactory::create_('c', { 4, 5, 5, 10, 10 }); + auto input = NDArrayFactory::create('c', { 4, 5, 5, 10, 10 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, input); @@ -1984,7 +1968,7 @@ TEST_F(DeclarableOpsTests1, TestReductionShape2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestCustomShape1) { - auto input = NDArrayFactory::create_('c', { 2, 3, 4 }); + auto input = NDArrayFactory::create('c', { 2, 3, 4 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, input); @@ -2050,7 +2034,7 @@ TEST_F(DeclarableOpsTests1, Sum1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, Pnormpool2d1) { - auto x = NDArrayFactory::create_('c', { bS,iD,iH,iW }); + auto x = NDArrayFactory::create('c', { bS,iD,iH,iW }); auto exp = NDArrayFactory::create('c', { bS,iD,oH,oW }); // auto z('c',{bS,iD,oH,oW}); From 4698bd3e06f1fae59bfb58ace3dcad1fa5925671 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 3 Jun 2020 17:05:58 +0300 Subject: [PATCH 08/99] Eliminated legacy factory method usage with ops tests. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests13.cpp | 6 +++--- .../layers_tests/DeclarableOpsTests14.cpp | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp index c7222e6f7422..f88ffceba469 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp @@ -102,11 +102,11 @@ TEST_F(DeclarableOpsTests13, test_empty_range_3) { TEST_F(DeclarableOpsTests13, test_argmax_edge_1) { auto ctx = new Context(1); - auto arr = NDArrayFactory::create_('c', {1024,1}); + auto arr = NDArrayFactory::create('c', {1024,1}); ctx->setInputArray(0, arr, true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {1}), true); - ctx->setInputArray(1, NDArrayFactory::create_(0), true); //Axis 0 + ctx->setOutputArray(0, NDArrayFactory::create('c', {1}), true); + ctx->setInputArray(1, NDArrayFactory::create(0), true); //Axis 0 sd::ops::argmax op; diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp index 024ffbbc576e..035b9361dcb5 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp @@ -809,11 +809,11 @@ TEST_F(DeclarableOpsTests14, matmul_test9) { TEST_F(DeclarableOpsTests14, matmul_test10) { - auto x = NDArrayFactory::create_('c', {3, 5}); - x->linspace(1); + auto x = NDArrayFactory::create('c', {3, 5}); + x.linspace(1); - auto y = NDArrayFactory::create_('c', {5, 3}); - y->linspace(1); + auto y = NDArrayFactory::create('c', {5, 3}); + y.linspace(1); float _expB[]{135.0f, 310.0f, 485.0f, 150.0f, 350.0f, 550.0f, 165.0f, 390.0f, 615.0f}; Nd4jLong _expS[] {2, 3, 3, 1, 3, 0, 1, 102}; // expected shape @@ -2064,8 +2064,8 @@ TEST_F(DeclarableOpsTests14, Reshape1) { const std::vector xShape = { 5,4,3 }; const std::vector yShape = { 3,5,4 }; - auto x = NDArrayFactory::create_('f', xShape); - auto y = NDArrayFactory::create_('f', yShape); + auto x = NDArrayFactory::create('f', xShape); + auto y = NDArrayFactory::create('f', yShape); auto variableSpace = new VariableSpace(); @@ -2089,8 +2089,8 @@ TEST_F(DeclarableOpsTests14, Reshape2) { const std::vector xShape = { 5,4,3 }; const std::vector yShape = { 3,5,4 }; - auto x = NDArrayFactory::create_('c', xShape); - auto y = NDArrayFactory::create_('c', yShape); + auto x = NDArrayFactory::create('c', xShape); + auto y = NDArrayFactory::create('c', yShape); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, x); From a58bac2b57201e0709b8fb8285fdd1f608e06655 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 4 Jun 2020 09:54:00 +0300 Subject: [PATCH 09/99] Eliminated factory method create_ with tests. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests4.cpp | 6 +- .../layers_tests/DeclarableOpsTests6.cpp | 6 +- .../layers_tests/DeclarableOpsTests9.cpp | 8 +- libnd4j/tests_cpu/layers_tests/GraphTests.cpp | 250 +++++++++--------- 4 files changed, 134 insertions(+), 136 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp index 1e877ecc6443..537cf51d7714 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp @@ -394,7 +394,7 @@ TEST_F(DeclarableOpsTests4, avgpool2d_13) { const int oH = (iH - kH - (kH-1)*(dH-1) + 2*pH)/sH + 1; // output height const int oW = (iW - kW - (kW-1)*(dW-1) + 2*pW)/sW + 1; // output width - auto x = NDArrayFactory::create_('c', {bS,iD,iH,iW}); + auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); @@ -437,7 +437,7 @@ TEST_F(DeclarableOpsTests4, avgpool2d_14) { const int oW = (iW - kW - (kW-1)*(dW-1) + 2*pW)/sW + 1; // output width - auto x = NDArrayFactory::create_('c', {bS,iD,iH,iW}); + auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); @@ -480,7 +480,7 @@ TEST_F(DeclarableOpsTests4, Avgpool2d_test15) { const int oW = (int) sd::math::nd4j_ceil(iW * 1.f / sW); - auto x = NDArrayFactory::create_('c', {bS,iD,iH,iW}); + auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp index ed9dbee6877d..e59c8be98cf7 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp @@ -128,9 +128,9 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_4) { TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_04) { int z = 0; auto matrix = NDArrayFactory::create('c', {1}, {10}); - auto b = NDArrayFactory::create_('c', {1}, {1}); - auto e = NDArrayFactory::create_('c', {1}, {z}); - auto s = NDArrayFactory::create_('c', {1}, {1}); + auto b = NDArrayFactory::create('c', {1}, {1}); + auto e = NDArrayFactory::create('c', {1}, {z}); + auto s = NDArrayFactory::create('c', {1}, {1}); sd::ops::ones_as opOnes; //auto exp = NDArrayFactory::create('c', {2}, {1.0f, 2.0f}); auto onesRes = opOnes.evaluate({&matrix}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp index 949b43d254aa..8285f68a3e38 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp @@ -614,8 +614,8 @@ TEST_F(DeclarableOpsTests9, concat_test18) { // we crate bunch of arrays, filled with specific values for (int e = 0; e < 2000; e++) { - auto array = NDArrayFactory::create_('c', {1, 300}); - array->assign(e); + auto array = NDArrayFactory::create('c', {1, 300}); + array.assign(e); context.setInputArray(e, array, true); } @@ -642,8 +642,8 @@ TEST_F(DeclarableOpsTests9, concat_test19) { // we crate bunch of arrays, filled with specific values for (int e = 0; e < 10; e++) { - auto array = NDArrayFactory::create_('c', {1, 5, 20}); - array->assign(e); + auto array = NDArrayFactory::create('c', {1, 5, 20}); + array.assign(e); context.setInputArray(e, array, true); } diff --git a/libnd4j/tests_cpu/layers_tests/GraphTests.cpp b/libnd4j/tests_cpu/layers_tests/GraphTests.cpp index 73aac9c3bbe8..ad666e2dd99a 100644 --- a/libnd4j/tests_cpu/layers_tests/GraphTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/GraphTests.cpp @@ -47,8 +47,8 @@ class GraphTests : public testing::Test { TEST_F(GraphTests, SingleInput1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0f); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); graph->getVariableSpace()->putVariable(-1, x); @@ -77,13 +77,13 @@ TEST_F(GraphTests, SingleInput1) { TEST_F(GraphTests, DoubleInput1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto y = NDArrayFactory::create_('c', {5, 5}); - y->assign(-1.0); + auto y = NDArrayFactory::create('c', {5, 5}); + y.assign(-1.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, y); @@ -102,7 +102,7 @@ TEST_F(GraphTests, DoubleInput1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(3.0, z->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(3.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -110,11 +110,11 @@ TEST_F(GraphTests, DoubleInput1) { TEST_F(GraphTests, SingleInput3) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto v0 = NDArrayFactory::create_('c', {5, 5}); - auto v1 = NDArrayFactory::create_('c', {5, 5}); + auto v0 = NDArrayFactory::create('c', {5, 5}); + auto v1 = NDArrayFactory::create('c', {5, 5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, v0); @@ -142,11 +142,11 @@ TEST_F(GraphTests, SingleInput3) { TEST_F(GraphTests, SingleInput4) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto v0 = NDArrayFactory::create_('c', {5, 5}); - auto v1 = NDArrayFactory::create_('c', {5, 5}); + auto v0 = NDArrayFactory::create('c', {5, 5}); + auto v1 = NDArrayFactory::create('c', {5, 5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, v0); @@ -180,14 +180,14 @@ TEST_F(GraphTests, SingleInput4) { TEST_F(GraphTests, DoubleInput2) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto y = NDArrayFactory::create_('c', {5, 5}); - y->assign(-1.0); + auto y = NDArrayFactory::create('c', {5, 5}); + y.assign(-1.0); - auto z0 = NDArrayFactory::create_('c', {5, 5}); - auto z1 = NDArrayFactory::create_('c', {5, 5}); + auto z0 = NDArrayFactory::create('c', {5, 5}); + auto z1 = NDArrayFactory::create('c', {5, 5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, y); @@ -225,17 +225,16 @@ TEST_F(GraphTests, DoubleInput2) { TEST_F(GraphTests, DoubleInput3) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); - - auto y = NDArrayFactory::create_('c', {5, 5}); - y->assign(-1.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto z0 = NDArrayFactory::create_('c', {5, 5}); - auto z1 = NDArrayFactory::create_('c', {5, 5}); + auto y = NDArrayFactory::create('c', {5, 5}); + y.assign(-1.0); + auto z0 = NDArrayFactory::create('c', {5, 5}); + auto z1 = NDArrayFactory::create('c', {5, 5}); - auto w = NDArrayFactory::create_('c', {5, 5}); + auto w = NDArrayFactory::create('c', {5, 5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, y); @@ -243,7 +242,6 @@ TEST_F(GraphTests, DoubleInput3) { graph->getVariableSpace()->putVariable(-4, z1); graph->getVariableSpace()->putVariable(-5, w); - auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {3}); auto nodeC = new Node(OpType_TRANSFORM_SAME, transform::Neg, 3, {2}, {-3, 21}); @@ -269,10 +267,10 @@ TEST_F(GraphTests, DoubleInput3) { GraphExecutioner::execute(graph); - ASSERT_NEAR(-1.4142135, z0->reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(-1.0, z1->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.4142135, z0.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.0, z1.reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(2.4142135, w->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(2.4142135, w.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -281,20 +279,20 @@ TEST_F(GraphTests, DoubleInput3) { TEST_F(GraphTests, QuadInput1) { auto graph = new Graph(); - auto x0 = NDArrayFactory::create_('c', {5, 5}); - x0->assign(0.0); + auto x0 = NDArrayFactory::create('c', {5, 5}); + x0.assign(0.0); - auto x1 = NDArrayFactory::create_('c', {5, 5}); - x1->assign(-1.0); + auto x1 = NDArrayFactory::create('c', {5, 5}); + x1.assign(-1.0); - auto x2 = NDArrayFactory::create_('c', {5, 5}); - x2->assign(-2.0); + auto x2 = NDArrayFactory::create('c', {5, 5}); + x2.assign(-2.0); - auto x3 = NDArrayFactory::create_('c', {5, 5}); - x3->assign(-3.0); + auto x3 = NDArrayFactory::create('c', {5, 5}); + x3.assign(-3.0); - auto z = NDArrayFactory::create_('c', {5, 5}); - z->assign(119.0); + auto z = NDArrayFactory::create('c', {5, 5}); + z.assign(119.0); graph->getVariableSpace()->putVariable(-1, x0); graph->getVariableSpace()->putVariable(-2, x1); @@ -325,7 +323,7 @@ TEST_F(GraphTests, QuadInput1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(6.0, z->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(6.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -333,10 +331,10 @@ TEST_F(GraphTests, QuadInput1) { TEST_F(GraphTests, InternalBranching1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(0.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(0.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, z); @@ -373,7 +371,7 @@ TEST_F(GraphTests, InternalBranching1) { ASSERT_EQ(3, nodeZ->getLayer()); - ASSERT_NEAR(3.0, z->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(3.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -382,14 +380,14 @@ TEST_F(GraphTests, InternalBranching1) { TEST_F(GraphTests, ReductionsTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - for (int r = 0; r < x->rows(); r++) { - for (int c = 0; c < x->columns(); c++) { - x->p(r, c, -c); + auto x = NDArrayFactory::create('c', {5, 5}); + for (int r = 0; r < x.rows(); r++) { + for (int c = 0; c < x.columns(); c++) { + x.p(r, c, -c); } } - auto z = NDArrayFactory::create_('c', {5}); + auto z = NDArrayFactory::create('c', {5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, z); @@ -407,7 +405,7 @@ TEST_F(GraphTests, ReductionsTest1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(2.0, z->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(2.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -416,15 +414,15 @@ TEST_F(GraphTests, ReductionsTest1) { TEST_F(GraphTests, IndexReductionsTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - for (int r = 0; r < x->rows(); r++) { - for (int c = 0; c < x->columns(); c++) { - x->p(r, c, -c); + auto x = NDArrayFactory::create('c', {5, 5}); + for (int r = 0; r < x.rows(); r++) { + for (int c = 0; c < x.columns(); c++) { + x.p(r, c, -c); } } - auto z = NDArrayFactory::create_('c', {5, 1}); - auto axis = NDArrayFactory::create_('c', {1}, {1}); + auto z = NDArrayFactory::create('c', {5, 1}); + auto axis = NDArrayFactory::create('c', {1}, {1}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, z); //graph->getVariableSpace()->putVariable(-3, axis); @@ -441,7 +439,7 @@ TEST_F(GraphTests, IndexReductionsTest1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(4.0, z->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(4.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; delete axis; @@ -450,8 +448,8 @@ TEST_F(GraphTests, IndexReductionsTest1) { #if 0 TEST_F(GraphTests, AutoOutput1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); graph->getVariableSpace()->putVariable(-1, x); @@ -485,8 +483,8 @@ TEST_F(GraphTests, AutoOutput1) { TEST_F(GraphTests, AutoOutput2) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); graph->getVariableSpace()->putVariable(-1, x); @@ -525,15 +523,15 @@ TEST_F(GraphTests, AutoOutput2) { TEST_F(GraphTests, BroadcastTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(0.f); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(0.f); - auto y = NDArrayFactory::create_('c', {1, 5}); - for (int e = 0; e < y->columns(); e++) { - y->p(e, (float)e+1); + auto y = NDArrayFactory::create('c', {1, 5}); + for (int e = 0; e < y.columns(); e++) { + y.p(e, (float)e+1); } - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, y); @@ -547,7 +545,7 @@ TEST_F(GraphTests, BroadcastTest1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(3.0, z->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(3.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -556,10 +554,10 @@ TEST_F(GraphTests, BroadcastTest1) { TEST_F(GraphTests, ScalarTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, z); @@ -577,7 +575,7 @@ TEST_F(GraphTests, ScalarTest1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(2.714213, z->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(2.714213, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -585,10 +583,10 @@ TEST_F(GraphTests, ScalarTest1) { TEST_F(GraphTests, SymbolicLookupTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); auto vX = new Variable(x); auto vZ = new Variable(z); @@ -633,7 +631,7 @@ TEST_F(GraphTests, SymbolicLookupTest1) { ASSERT_TRUE(graph->getVariableSpace()->hasVariable(&p)); ASSERT_TRUE(graph->getVariableSpace()->hasVariable(&t)); - ASSERT_NEAR(1.4142135, z->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(1.4142135, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -643,10 +641,10 @@ TEST_F(GraphTests, OutputValidation1) { graph->getExecutorConfiguration()->_outputMode = OutputMode_EXPLICIT; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); auto vX = new Variable(x); auto vZ = new Variable(z); @@ -680,10 +678,10 @@ TEST_F(GraphTests, OutputValidation2) { graph->getExecutorConfiguration()->_outputMode = OutputMode_EXPLICIT; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.f); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); auto vX = new Variable(x); auto vZ = new Variable(z); @@ -722,10 +720,10 @@ TEST_F(GraphTests, OutputValidation3) { graph->getExecutorConfiguration()->_outputMode = OutputMode_IMPLICIT; - auto x = NDArrayFactory::create_('c', {5, 5}); + auto x = NDArrayFactory::create('c', {5, 5}); x->assign(-2.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); auto vX = new Variable(x); auto vZ = new Variable(z); @@ -762,10 +760,10 @@ TEST_F(GraphTests, OutputValidation4) { graph->getExecutorConfiguration()->_outputMode = OutputMode_EXPLICIT_AND_IMPLICIT; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); auto vX = new Variable(x); auto vZ = new Variable(z); @@ -808,10 +806,10 @@ TEST_F(GraphTests, OutputValidation5) { graph->getExecutorConfiguration()->_outputMode = OutputMode_VARIABLE_SPACE; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); auto vX = new Variable(x); auto vZ = new Variable(z); @@ -848,10 +846,10 @@ TEST_F(GraphTests, OutputValidation6) { graph->getExecutorConfiguration()->_outputMode = OutputMode_VARIABLE_SPACE; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create('c', {5, 5}); auto vX = new Variable(x); auto vZ = new Variable(z); @@ -894,11 +892,11 @@ TEST_F(GraphTests, TestMultiOutput1) { sd::ops::testop2i2o op1; auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); - auto y = NDArrayFactory::create_('c', {5, 5}); - y->assign(-3.0); + auto y = NDArrayFactory::create('c', {5, 5}); + y.assign(-3.0f); graph->getVariableSpace()->putVariable(-1, x); graph->getVariableSpace()->putVariable(-2, y); @@ -964,8 +962,8 @@ TEST_F(GraphTests, TestDivergentNode1) { TEST_F(GraphTests, MemoryEstimationTest1) { Graph graph; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0); graph.getVariableSpace()->putVariable(-1, x); @@ -981,14 +979,14 @@ TEST_F(GraphTests, MemoryEstimationTest1) { auto memReq = graph.estimateRequiredMemory(); - ASSERT_EQ(25 * x->sizeOfT(), memReq); + ASSERT_EQ(25 * x.sizeOfT(), memReq); } TEST_F(GraphTests, MemoryEstimationTest2) { Graph graph; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); graph.getVariableSpace()->putVariable(-1, x); @@ -1010,8 +1008,8 @@ TEST_F(GraphTests, MemoryEstimationTest2) { TEST_F(GraphTests, MemoryEstimationTest3) { Graph graph; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); graph.getVariableSpace()->putVariable(-1, x); @@ -1029,14 +1027,14 @@ TEST_F(GraphTests, MemoryEstimationTest3) { auto memReq = graph.estimateRequiredMemory(); - ASSERT_EQ(26 * x->sizeOfT(), memReq); + ASSERT_EQ(26 * x.sizeOfT(), memReq); } TEST_F(GraphTests, MemoryEstimationTest4) { Graph graph; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); graph.getVariableSpace()->putVariable(-1, x); @@ -1054,14 +1052,14 @@ TEST_F(GraphTests, MemoryEstimationTest4) { auto memReq = graph.estimateRequiredMemory(); - ASSERT_EQ(30 * x->sizeOfT(), memReq); + ASSERT_EQ(30 * x.sizeOfT(), memReq); } TEST_F(GraphTests, MemoryEstimationTest5) { Graph graph; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-2.0f); graph.getVariableSpace()->putVariable(-1, x); @@ -1084,7 +1082,7 @@ TEST_F(GraphTests, MemoryEstimationTest5) { auto memReq = graph.estimateRequiredMemory(); - ASSERT_EQ((25 + 100) * x->sizeOfT(), memReq); + ASSERT_EQ((25 + 100) * x.sizeOfT(), memReq); } TEST_F(GraphTests, TestGraphInGraph_1) { @@ -1094,11 +1092,11 @@ TEST_F(GraphTests, TestGraphInGraph_1) { // and this ons is embedded Graph graphB; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-5.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-5.0f); - auto modifier = NDArrayFactory::create_('c', {5, 5}); - modifier->assign(3.0); + auto modifier = NDArrayFactory::create('c', {5, 5}); + modifier.assign(3.0f); graphA.getVariableSpace()->putVariable(-1, x); graphB.getVariableSpace()->putVariable(-2, modifier); @@ -1160,11 +1158,11 @@ TEST_F(GraphTests, TestGraphInGraph_2) { // and this ons is embedded Graph graphB; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-5.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-5.0f); - auto modifier = NDArrayFactory::create_('c', {5, 5}); - modifier->assign(3.0); + auto modifier = NDArrayFactory::create('c', {5, 5}); + modifier.assign(3.0f); std::string nameA1("_nodeA1"); @@ -1519,8 +1517,8 @@ TEST_F(GraphTests, Test_Inplace_Execution_1) { TEST_F(GraphTests, Test_Inplace_Execution_2) { Graph graphA; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-5.0); + auto x = NDArrayFactory::create('c', {5, 5}); + x.assign(-5.0f); graphA.getVariableSpace()->putVariable(-1, x); From 62275ecc8d77b086cd3b4a2a2f263078e16db698 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 4 Jun 2020 10:47:39 +0300 Subject: [PATCH 10/99] Eliminated legacy create_ factory method usage. Signed-off-by: shugeo --- .../layers_tests/ListOperationsTests.cpp | 61 ++++++++----------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp b/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp index 04e4a70e8cf3..4ea222714d1f 100644 --- a/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp @@ -56,9 +56,9 @@ TEST_F(ListOperationsTests, BasicTest_Stack_1) { auto exp = NDArrayFactory::create('c', {10, 100}); auto tads = exp.allTensorsAlongDimension({1}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_('c', {100}); - row->assign((double) e); - list.write(e, row); + auto row = NDArrayFactory::create('c', {100}); + row.assign((double) e); + list.write(e, new NDArray(row)); tads.at(e)->assign(row); } @@ -82,11 +82,10 @@ TEST_F(ListOperationsTests, BasicTest_UnStackList_1) { auto x = NDArrayFactory::create('c', {10, 100}); auto tads = x.allTensorsAlongDimension({1}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_('c', {100}); - row->assign((double) e); + auto row = NDArrayFactory::create('c', {100}); + row.assign((double) e); //list.write(e, row); tads.at(e)->assign(row); - delete row; } sd::ops::unstack_list op; @@ -149,9 +148,9 @@ TEST_F(ListOperationsTests, BasicTest_Read_1) { exp.assign(4.0f); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_('c', {1, 100}); - row->assign((double) e); - list.write(e, new NDArray(row->dup())); + auto row = NDArrayFactory::create('c', {1, 100}); + row.assign((double) e); + list.write(e, new NDArray(row)); delete row; } @@ -175,9 +174,9 @@ TEST_F(ListOperationsTests, BasicTest_Pick_1) { auto exp = NDArrayFactory::create('c', {4, 100}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_('c', {100}); - row->assign((double) e); - list.write(e, new NDArray(row->dup())); + auto row = NDArrayFactory::create('c', {100}); + row.assign((double) e); + list.write(e, new NDArray(row)); delete row; } @@ -207,10 +206,8 @@ TEST_F(ListOperationsTests, BasicTest_Size_1) { auto exp = NDArrayFactory::create(10); for (int e = 0; e < 10; e++) { auto row = NDArrayFactory::create_('c', {100}); - row->assign((double) e); - list.write(e, new NDArray(row->dup())); - - delete row; + row.assign((double) e); + list.write(e, new NDArray(row)); } sd::ops::size_list op; @@ -267,8 +264,8 @@ TEST_F(ListOperationsTests, BasicTest_Split_1) { int cnt1 = 0; int cnt2 = 0; for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_('c', {5}); - row->assign((double) e); + auto row = NDArrayFactory::create('c', {5}); + row.assign((double) e); tads.at(e)->assign(row); if (e < 2) @@ -306,11 +303,9 @@ TEST_F(ListOperationsTests, BasicTest_Scatter_1) { auto matrix = NDArrayFactory::create('c', {10, 5}); auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_('c', {1, 5}); - row->assign((double) e); + auto row = NDArrayFactory::create('c', {1, 5}); + row.assign((double) e); tads.at(e)->assign(row); - - delete row; } auto indices = NDArrayFactory::create('c', {1, 10}); for (int e = 0; e < matrix.rows(); e++) @@ -365,11 +360,9 @@ TEST_F(ListOperationsTests, BasicTest_Clone_1) { TEST_F(ListOperationsTests, BasicTest_Gather_1) { NDArrayList list(0, true); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_('c', {3}); - row->assign((double) e); - list.write(e, new NDArray(row->dup())); - - delete row; + auto row = NDArrayFactory::create('c', {3}); + row.assign((double) e); + list.write(e, new NDArray(row)); } auto exp = NDArrayFactory::create('c', {10, 3}); @@ -403,8 +396,8 @@ TEST_F(ListOperationsTests, BasicTest_Gather_1) { TEST_F(ListOperationsTests, GraphTests_Sequential_1) { Graph graph; - auto matrix = NDArrayFactory::create_('c', {3, 3}); - auto tads = matrix->allTensorsAlongDimension({1}); + auto matrix = NDArrayFactory::create('c', {3, 3}); + auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { tads.at(e)->assign((float) (e+1)); } @@ -532,9 +525,9 @@ TEST_F(ListOperationsTests, GraphTests_Sequential_1) { TEST_F(ListOperationsTests, GraphTests_Sequential_2) { Graph graph; - auto scalar = NDArrayFactory::create_(0.0f); - auto matrix = NDArrayFactory::create_('c', {3, 3}); - auto tads = matrix->allTensorsAlongDimension({1}); + auto scalar = NDArrayFactory::create(0.0f); + auto matrix = NDArrayFactory::create('c', {3, 3}); + auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { tads.at(e)->assign((float) (e+1)); } @@ -546,8 +539,8 @@ TEST_F(ListOperationsTests, GraphTests_Sequential_2) { tadsExp.at(2)->assign(-2.f); //auto indices = NDArray::valueOf({1, 3}, 1.0f, 'c'); - auto indices = NDArrayFactory::create_('c', {1, 3}); - indices->linspace(0); + auto indices = NDArrayFactory::create('c', {1, 3}); + indices.linspace(0); auto variableSpace = graph.getVariableSpace(); From 7c1312d70b3956bf3afeb3679e57fbbc0a91829b Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 4 Jun 2020 12:51:16 +0300 Subject: [PATCH 11/99] Eliminated legacy usage for factory method create_ Signed-off-by: shugeo --- .../layers_tests/MultiDeviceTests.cpp | 8 +- .../tests_cpu/layers_tests/NDArrayTests.cpp | 174 ++++++++---------- 2 files changed, 81 insertions(+), 101 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/MultiDeviceTests.cpp b/libnd4j/tests_cpu/layers_tests/MultiDeviceTests.cpp index 1c12f2d7258f..063f653cc20c 100644 --- a/libnd4j/tests_cpu/layers_tests/MultiDeviceTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/MultiDeviceTests.cpp @@ -35,14 +35,14 @@ class MultiDeviceTests : public testing::Test { }; -void createArrays(int limit, std::vector &arrays) { +void createArrays(int limit, std::vector &arrays) { auto deviceId = AffinityManager::currentDeviceId(); auto numDevices = AffinityManager::numberOfDevices(); for (int e = 0; e < limit; e++) { auto value = deviceId * limit + e; - arrays[value] = NDArrayFactory::create_('c', {10}); - arrays[value]->assign(value); + arrays[value] = NDArrayFactory::create('c', {10}); + arrays[value].assign(value); //nd4j_printf("device_%i; value: [%i]; mean: [%f]\n", deviceId, value, arrays[value]->meanNumber().e(0)); } } @@ -51,7 +51,7 @@ TEST_F(MultiDeviceTests, test_multi_device_migration_1) { auto deviceId = AffinityManager::currentDeviceId(); auto numDevices = AffinityManager::numberOfDevices(); auto numArrays = 10; - std::vector arrays(numDevices * numArrays); + std::vector arrays(numDevices * numArrays); // filling list of arrays on multiple threads for (int e = 0; e < numDevices; e++) { diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp b/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp index 8150976e1880..cf69e9af15d0 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp @@ -67,15 +67,13 @@ TEST_F(NDArrayTest, TestDup1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, AssignScalar1) { - auto array = NDArrayFactory::create_('c', {1, 10}); + auto array = NDArrayFactory::create('c', {1, 10}); - array->assign(2.0f); + array.assign(2.0f); - for (int i = 0; i < array->lengthOf(); i++) { - ASSERT_EQ(2.0f, array->e(i)); + for (int i = 0; i < array.lengthOf(); i++) { + ASSERT_EQ(2.0f, array.e(i)); } - - delete array; } ////////////////////////////////////////////////////////////////////// @@ -153,48 +151,43 @@ TEST_F(NDArrayTest, TestGetScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, EqualityTest1) { - auto arrayA = NDArrayFactory::create_('f', {3, 5}); - auto arrayB = NDArrayFactory::create_('f', {3, 5}); - auto arrayC = NDArrayFactory::create_('f', {3, 5}); + auto arrayA = NDArrayFactory::create('f', {3, 5}); + auto arrayB = NDArrayFactory::create('f', {3, 5}); + auto arrayC = NDArrayFactory::create('f', {3, 5}); - auto arrayD = NDArrayFactory::create_('f', {2, 4}); - auto arrayE = NDArrayFactory::create_('f', {1, 15}); + auto arrayD = NDArrayFactory::create('f', {2, 4}); + auto arrayE = NDArrayFactory::create('f', {1, 15}); - for (int i = 0; i < arrayA->rows(); i++) { - for (int k = 0; k < arrayA->columns(); k++) { - arrayA->p(i, k, (float) i); + for (int i = 0; i < arrayA.rows(); i++) { + for (int k = 0; k < arrayA.columns(); k++) { + arrayA.p(i, k, (float) i); } } - for (int i = 0; i < arrayB->rows(); i++) { - for (int k = 0; k < arrayB->columns(); k++) { - arrayB->p(i, k, (float) i); + for (int i = 0; i < arrayB.rows(); i++) { + for (int k = 0; k < arrayB.columns(); k++) { + arrayB.p(i, k, (float) i); } } - for (int i = 0; i < arrayC->rows(); i++) { - for (int k = 0; k < arrayC->columns(); k++) { - arrayC->p(i, k, (float) i+1); + for (int i = 0; i < arrayC.rows(); i++) { + for (int k = 0; k < arrayC.columns(); k++) { + arrayC.p(i, k, (float) i+1); } } //nd4j_printf("A B\n",""); - ASSERT_TRUE(arrayA->equalsTo(arrayB, 1e-5)); + ASSERT_TRUE(arrayA.equalsTo(arrayB, 1e-5)); //nd4j_printf("C B\n",""); - ASSERT_FALSE(arrayC->equalsTo(arrayB, 1e-5)); + ASSERT_FALSE(arrayC.equalsTo(arrayB, 1e-5)); //nd4j_printf("D B\n",""); - ASSERT_FALSE(arrayD->equalsTo(arrayB, 1e-5)); + ASSERT_FALSE(arrayD.equalsTo(arrayB, 1e-5)); //nd4j_printf("E B\n",""); - ASSERT_FALSE(arrayE->equalsTo(arrayB, 1e-5)); + ASSERT_FALSE(arrayE.equalsTo(arrayB, 1e-5)); - delete arrayA; - delete arrayB; - delete arrayC; - delete arrayD; - delete arrayE; } TEST_F(NDArrayTest, TestTad1) { @@ -301,16 +294,16 @@ TEST_F(NDArrayTest, TestRepeat1) { TEST_F(NDArrayTest, TestRepeat2) { auto eBuffer = new float[8] {1.0,2.0,1.0,2.0,3.0,4.0,3.0,4.0}; auto eShape = new Nd4jLong[8]{2, 4, 2, 2, 1, 8192, 1, 99}; - auto array = NDArrayFactory::create_('c', {2, 2}); + auto array = NDArrayFactory::create('c', {2, 2}); auto exp = new NDArray(eBuffer, eShape); - for (int e = 0; e < array->lengthOf(); e++) - array->p(e, e + 1); + for (int e = 0; e < array.lengthOf(); e++) + array.p(e, e + 1); //array->printBuffer(); auto rep = new NDArray(exp->dup()); rep->assign(0.); - array->repeat(0, {2}, *rep); + array.repeat(0, {2}, *rep); //rep->printIndexedBuffer("Repeated"); ASSERT_EQ(4, rep->sizeAt(0)); @@ -322,20 +315,17 @@ TEST_F(NDArrayTest, TestRepeat2) { delete[] eBuffer; delete[] eShape; - delete array; delete exp; delete rep; } ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestIndexedPut1) { - auto array = NDArrayFactory::create_('f', {3, 3}); + auto array = NDArrayFactory::create('f', {3, 3}); - array->p(4, 1.0f); + array.p(4, 1.0f); ASSERT_EQ(1.0f, array->e(4)); //array->printBuffer(); - - delete array; } ////////////////////////////////////////////////////////////////////// @@ -358,11 +348,11 @@ TEST_F(NDArrayTest, TestAddiRowVector) { float *e = new float[4] {2, 3, 4, 5}; auto array = new NDArray(c, cShape); - auto row = NDArrayFactory::create_('c', {1, 2}); + auto row = NDArrayFactory::create('c', {1, 2}); auto exp = new NDArray(e, cShape); - row->assign(1.0f); + row.assign(1.0f); - array->addiRowVector(*row); + array->addiRowVector(row); ASSERT_TRUE(exp->equalsTo(array)); @@ -370,7 +360,6 @@ TEST_F(NDArrayTest, TestAddiRowVector) { delete[] e; delete array; - delete row; delete exp; } @@ -410,53 +399,49 @@ TEST_F(NDArrayTest, TestMuliColumnVector) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test3D_1) { - auto arrayC = NDArrayFactory::create_('c', {2, 5, 10}); - auto arrayF = NDArrayFactory::create_('f', {2, 5, 10}); + auto arrayC = NDArrayFactory::create('c', {2, 5, 10}); + auto arrayF = NDArrayFactory::create('f', {2, 5, 10}); - ASSERT_EQ(100, arrayC->lengthOf()); - ASSERT_EQ(100, arrayF->lengthOf()); + ASSERT_EQ(100, arrayC.lengthOf()); + ASSERT_EQ(100, arrayF.lengthOf()); - ASSERT_EQ('c', arrayC->ordering()); - ASSERT_EQ('f', arrayF->ordering()); + ASSERT_EQ('c', arrayC.ordering()); + ASSERT_EQ('f', arrayF.ordering()); - delete arrayC; - delete arrayF; } ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestTranspose1) { - auto arrayC = NDArrayFactory::create_('c', {2, 5, 10}); + auto arrayC = NDArrayFactory::create('c', {2, 5, 10}); auto expC = new Nd4jLong[10] {3, 2, 5, 10, 50, 10, 1, 16384, 1, 99}; auto expT = new Nd4jLong[10] {3, 10, 5, 2, 1, 10, 50, 16384, 1, 102}; - auto arrayT = arrayC->transpose(); + auto arrayT = arrayC.transpose(); - for (int e = 0; e < arrayC->rankOf(); e++) { - ASSERT_EQ(shape::shapeOf(expC)[e], arrayC->sizeAt(e)); + for (int e = 0; e < arrayC.rankOf(); e++) { + ASSERT_EQ(shape::shapeOf(expC)[e], arrayC.sizeAt(e)); ASSERT_EQ(shape::shapeOf(expT)[e], arrayT.sizeAt(e)); } - delete arrayC; delete[] expC; delete[] expT; } ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestTranspose2) { - auto arrayC = NDArrayFactory::create_('c', {2, 5, 10}); - + auto arrayC = NDArrayFactory::create('c', {2, 5, 10}); + auto expC = new Nd4jLong[10] {3, 2, 5, 10, 50, 10, 1, 16384, 1, 99}; auto expT = new Nd4jLong[10] {3, 10, 5, 2, 1, 10, 50, 16384, 1, 102}; - arrayC->transposei(); + arrayC.transposei(); - for (int e = 0; e < arrayC->rankOf(); e++) { - ASSERT_EQ(shape::shapeOf(expT)[e], arrayC->sizeAt(e)); + for (int e = 0; e < arrayC.rankOf(); e++) { + ASSERT_EQ(shape::shapeOf(expT)[e], arrayC.sizeAt(e)); } - delete arrayC; delete[] expC; delete[] expT; } @@ -947,22 +932,21 @@ TEST_F(NDArrayTest, TestMmulHelper2) { Nd4jLong yShape[8] = {2, 3, 1, 1, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape, sd::LaunchContext ::defaultContext(), true); - auto z = NDArrayFactory::create_('f', {5, 1}); + auto z = NDArrayFactory::create('f', {5, 1}); auto expBuffer = new float[5]{28.00f, 64.00f, 100.00f, 136.00f, 172.00f}; - auto exp = new NDArray(expBuffer, z->shapeInfo(), sd::LaunchContext ::defaultContext(), true); + auto exp = new NDArray(expBuffer, z.shapeInfo(), sd::LaunchContext ::defaultContext(), true); - //sd::blas::GEMV::op('f', x->rows(), x->columns(), 1.0f, x->buffer(), y->rows(), y->buffer(), 1, 0.0, z->buffer(), 1); + //sd::blas::GEMV::op('f', x->rows(), x->columns(), 1.0f, x->buffer(), y->rows(), y->buffer(), 1, 0.0, z.buffer(), 1); - MmulHelper::mmul(x, y, z); + MmulHelper::mmul(x, y, &z); //z->printBuffer(); - ASSERT_TRUE(z->equalsTo(exp)); + ASSERT_TRUE(z.equalsTo(exp)); delete x; delete y; - delete z; delete exp; } @@ -976,18 +960,18 @@ TEST_F(NDArrayTest, TestMmulHelper3) { auto yShape = new Nd4jLong[8] {2, 3, 1, 1, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create_('f', {5, 1}); + auto z = NDArrayFactory::create('f', {5, 1}); auto expBuffer = new float[5]{92.00f, 104.00f, 116.00f, 128.00f, 140.00f}; - auto exp = new NDArray(expBuffer, z->shapeInfo()); + auto exp = new NDArray(expBuffer, z.shapeInfo()); - //sd::blas::GEMV::op('f', x->rows(), x->columns(), 1.0f, x->buffer(), y->rows(), y->buffer(), 1, 0.0, z->buffer(), 1); + //sd::blas::GEMV::op('f', x->rows(), x->columns(), 1.0f, x->buffer(), y->rows(), y->buffer(), 1, 0.0, z.buffer(), 1); - MmulHelper::mmul(x, y, z); + MmulHelper::mmul(x, y, &z); //z->printBuffer(); - ASSERT_TRUE(z->equalsTo(exp)); + ASSERT_TRUE(z.equalsTo(exp)); delete[] expBuffer; delete[] xBuffer; @@ -997,7 +981,6 @@ TEST_F(NDArrayTest, TestMmulHelper3) { delete x; delete y; - delete z; delete exp; } @@ -1011,13 +994,13 @@ TEST_F(NDArrayTest, TestMmulHelper4) { auto yShape = new Nd4jLong[8] {2, 2, 3, 3, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create_('f', {3, 3}); + auto z = NDArrayFactory::create('f', {3, 3}); auto expBuffer = new float[9]{7.0f, 21.0f, 35.0f, 10.0f, 28.0f, 46.0f, 13.0f, 35.0f, 57.0f}; - auto exp = new NDArray(expBuffer, z->shapeInfo()); + auto exp = new NDArray(expBuffer, z.shapeInfo()); MmulHelper::mmul(x, y, z); - ASSERT_TRUE(z->equalsTo(exp)); + ASSERT_TRUE(z.equalsTo(exp)); delete[] expBuffer; delete[] xBuffer; @@ -1027,7 +1010,6 @@ TEST_F(NDArrayTest, TestMmulHelper4) { delete x; delete y; - delete z; delete exp; } @@ -1041,13 +1023,13 @@ TEST_F(NDArrayTest, TestMmulHelper5) { auto yShape = new Nd4jLong[8] {2, 2, 3, 3, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create_('f', {3, 3}); + auto z = NDArrayFactory::create('f', {3, 3}); auto expBuffer = new float[9]{7.0f, 14.0f, 21.0f, 12.0f, 21.0f, 30.0f, 17.0f, 28.0f, 39.0f}; - auto exp = new NDArray(expBuffer, z->shapeInfo()); + auto exp = new NDArray(expBuffer, z.shapeInfo()); - MmulHelper::mmul(x, y, z); - ASSERT_TRUE(z->equalsTo(exp)); + MmulHelper::mmul(x, y, &z); + ASSERT_TRUE(z.equalsTo(exp)); delete[] expBuffer; delete[] xBuffer; @@ -1057,7 +1039,6 @@ TEST_F(NDArrayTest, TestMmulHelper5) { delete x; delete y; - delete z; delete exp; } @@ -1071,13 +1052,13 @@ TEST_F(NDArrayTest, TestMmulHelper6) { auto yShape = new Nd4jLong[8] {2, 2, 3, 1, 2, 8192, 1, 102}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create_('f', {3, 3}); + auto z = NDArrayFactory::create('f', {3, 3}); auto expBuffer = new float[9]{39.0f, 54.0f, 69.0f, 9.0f, 18.0f, 27.0f, 9.0f, 12.0f, 15.0f}; - auto exp = new NDArray(expBuffer, z->shapeInfo()); + auto exp = new NDArray(expBuffer, z.shapeInfo()); - MmulHelper::mmul(x, y, z); - ASSERT_TRUE(z->equalsTo(exp)); + MmulHelper::mmul(x, y, &z); + ASSERT_TRUE(z.equalsTo(exp)); delete[] expBuffer; @@ -1102,15 +1083,15 @@ TEST_F(NDArrayTest, TestMmulHelper7) { auto yShape = new Nd4jLong[8] {2, 1, 5, 1, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create_('f', {1, 3}); + auto z = NDArrayFactory::create('f', {1, 3}); auto expBuffer = new float[9]{110.00f, 260.00f, 410.00f}; - auto exp = new NDArray(expBuffer, z->shapeInfo()); + auto exp = new NDArray(expBuffer, z.shapeInfo()); - MmulHelper::mmul(y, x, z); + MmulHelper::mmul(y, x, &z); //z->printBuffer(); - ASSERT_TRUE(z->equalsTo(exp)); + ASSERT_TRUE(z.equalsTo(exp)); delete[] expBuffer; delete[] xBuffer; @@ -1120,7 +1101,6 @@ TEST_F(NDArrayTest, TestMmulHelper7) { delete x; delete y; - delete z; delete exp; } @@ -1402,18 +1382,18 @@ TEST_F(NDArrayTest, TestIndexing4) { } TEST_F(NDArrayTest, TestReshapeNegative1) { - std::unique_ptr array(NDArrayFactory::create_('c', {2, 3, 4, 64})); + auto array = NDArrayFactory::create('c', {2, 3, 4, 64}); - array->reshapei('c', {-1, 64}); + array.reshapei('c', {-1, 64}); - ASSERT_EQ(24, array->sizeAt(0)); - ASSERT_EQ(64, array->sizeAt(1)); + ASSERT_EQ(24, array.sizeAt(0)); + ASSERT_EQ(64, array.sizeAt(1)); } TEST_F(NDArrayTest, TestReshapeNegative2) { - std::unique_ptr array(NDArrayFactory::create_('c', {2, 3, 4, 64})); + auto array = NDArrayFactory::create('c', {2, 3, 4, 64}); - auto reshaped = array->reshape('c', {-1, 64}); + auto reshaped = array.reshape('c', {-1, 64}); ASSERT_EQ(24, reshaped.sizeAt(0)); ASSERT_EQ(64, reshaped.sizeAt(1)); From 63a4235e3fa23c9567e5ac835cd2e608c025df94 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 4 Jun 2020 16:37:42 +0300 Subject: [PATCH 12/99] Eliminated legacy method for create_ with tests. Signed-off-by: shugeo --- .../tests_cpu/layers_tests/OpTupleTests.cpp | 8 +-- .../layers_tests/PlaygroundTests.cpp | 50 +++++++------------ .../tests_cpu/layers_tests/SanityTests.cpp | 14 +++--- libnd4j/tests_cpu/layers_tests/ScopeTests.cpp | 2 +- .../layers_tests/SessionLocalTests.cpp | 4 +- libnd4j/tests_cpu/layers_tests/StashTests.cpp | 24 ++++----- .../tests_cpu/layers_tests/SwitchTests.cpp | 36 ++++++------- .../layers_tests/VariableProxyTests.cpp | 22 ++++---- .../layers_tests/VariableSpaceTests.cpp | 16 +++--- .../tests_cpu/layers_tests/VariableTests.cpp | 6 +-- .../tests_cpu/layers_tests/WorkspaceTests.cpp | 8 +-- 11 files changed, 87 insertions(+), 103 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp b/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp index bec75f056dfc..9bcfb0d52720 100644 --- a/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp @@ -30,8 +30,8 @@ class OpTupleTests : public testing::Test { }; TEST_F(OpTupleTests, DirectConstructorTest1) { - auto alpha = NDArrayFactory::create_('c', {1, 2}); - auto beta = NDArrayFactory::create_('c', {1, 2}); + auto alpha = NDArrayFactory::create('c', {1, 2}); + auto beta = NDArrayFactory::create('c', {1, 2}); OpTuple tuple("dummy", {alpha, beta}, {12.0f}, {1,2, 3}); ASSERT_EQ("dummy", tuple._opName); @@ -42,8 +42,8 @@ TEST_F(OpTupleTests, DirectConstructorTest1) { } TEST_F(OpTupleTests, BuilderTest1) { - auto alpha = NDArrayFactory::create_('c', {1, 2}); - auto beta = NDArrayFactory::create_('c', {1, 2}); + auto alpha = NDArrayFactory::create('c', {1, 2}); + auto beta = NDArrayFactory::create('c', {1, 2}); OpTuple tuple("dummy"); tuple.addInput(alpha) ->addInput(beta) diff --git a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp index 91ddcbd30456..733eda10dfad 100644 --- a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp @@ -531,17 +531,17 @@ TEST_F(PlaygroundTests, ArgMaxPerfLegacyRandom) { TEST_F(PlaygroundTests, test_broadcast_1) { int pool = 1000; - std::vector aX(pool); - std::vector aY(pool); - std::vector aZ(pool); + std::vector aX(pool); + std::vector aY(pool); + std::vector aZ(pool); for (int e = 0; e < pool; e++) { - aX[e] = NDArrayFactory::create_('c', {512, 3072}); - aY[e] = NDArrayFactory::create_('c', {3072}); - aZ[e] = NDArrayFactory::create_('c', {512, 3072}); + aX[e] = NDArrayFactory::create('c', {512, 3072}); + aY[e] = NDArrayFactory::create('c', {3072}); + aZ[e] = NDArrayFactory::create('c', {512, 3072}); - aX[e]->assign(119 * (e+1)); - aY[e]->assign(119 * (e+3)); + aX[e].assign(119 * (e+1)); + aY[e].assign(119 * (e+3)); } std::vector values; @@ -556,8 +556,8 @@ TEST_F(PlaygroundTests, test_broadcast_1) { auto timeStart = std::chrono::system_clock::now(); - //op.execute({x, y}, {z}); - sd::ops::helpers::addBias(ctx, *x, *y, *z, false); + //op.execute({&x, &y}, {&z}); + sd::ops::helpers::addBias(ctx, x, y, z, false); auto timeEnd = std::chrono::system_clock::now(); auto outerTime = std::chrono::duration_cast(timeEnd - timeStart).count(); @@ -567,29 +567,23 @@ TEST_F(PlaygroundTests, test_broadcast_1) { std::sort(values.begin(), values.end()); nd4j_printf("Time: %lld us;\n", values[values.size() / 2]); - - for (int e = 0; e < pool; e++) { - delete aX[e]; - delete aY[e]; - delete aZ[e]; - } } /* TEST_F(PlaygroundTests, test_broadcast_1) { int pool = 500; - std::vector aX(pool); - std::vector aY(pool); - std::vector aZ(pool); + std::vector aX(pool); + std::vector aY(pool); + std::vector aZ(pool); for (int e = 0; e < pool; e++) { - aX[e] = NDArrayFactory::create_('c', {512, 3072}); - aY[e] = NDArrayFactory::create_('c', {768}); - aZ[e] = NDArrayFactory::create_('c', {512, 3072}); + aX[e] = NDArrayFactory::create('c', {512, 3072}); + aY[e] = NDArrayFactory::create('c', {768}); + aZ[e] = NDArrayFactory::create('c', {512, 3072}); - aX[e]->assign( (e+1) / 119); - aY[e]->assign( (e+3) / 119); + aX[e].assign( (e+1) / 119); + aY[e].assign( (e+3) / 119); } @@ -604,7 +598,7 @@ TEST_F(PlaygroundTests, test_broadcast_1) { auto timeStart = std::chrono::system_clock::now(); //x->applyTrueBroadcast(BroadcastOpsTuple::Multiply(), *y, *z); - x->applyTransform(transform::Tanh, *z, nullptr); + x.applyTransform(transform::Tanh, z, nullptr); auto timeEnd = std::chrono::system_clock::now(); auto outerTime = std::chrono::duration_cast(timeEnd - timeStart).count(); @@ -614,12 +608,6 @@ TEST_F(PlaygroundTests, test_broadcast_1) { std::sort(values.begin(), values.end()); nd4j_printf("Time: %lld us;\n", values[values.size() / 2]); - - for (int e = 0; e < pool; e++) { - delete aX[e]; - delete aY[e]; - delete aZ[e]; - } } */ diff --git a/libnd4j/tests_cpu/layers_tests/SanityTests.cpp b/libnd4j/tests_cpu/layers_tests/SanityTests.cpp index 7ca6732fe62b..ae3ea224bba0 100644 --- a/libnd4j/tests_cpu/layers_tests/SanityTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/SanityTests.cpp @@ -43,20 +43,20 @@ TEST_F(SanityTests, VariableSpace_1) { TEST_F(SanityTests, VariableSpace_2) { VariableSpace variableSpace; - variableSpace.putVariable(1, new Variable(NDArrayFactory::create_('c', {3, 3}))); - variableSpace.putVariable(1, 1, new Variable(NDArrayFactory::create_('c', {3, 3}))); + variableSpace.putVariable(1, new Variable(NDArrayFactory::create('c', {3, 3}))); + variableSpace.putVariable(1, 1, new Variable(NDArrayFactory::create('c', {3, 3}))); std::pair pair(1, 2); - variableSpace.putVariable(pair, new Variable(NDArrayFactory::create_('c', {3, 3}))); + variableSpace.putVariable(pair, new Variable(NDArrayFactory::create('c', {3, 3}))); } TEST_F(SanityTests, Graph_1) { Graph graph; - graph.getVariableSpace()->putVariable(1, new Variable(NDArrayFactory::create_('c', {3, 3}))); - graph.getVariableSpace()->putVariable(1, 1, new Variable(NDArrayFactory::create_('c', {3, 3}))); + graph.getVariableSpace()->putVariable(1, new Variable(NDArrayFactory::create('c', {3, 3}))); + graph.getVariableSpace()->putVariable(1, 1, new Variable(NDArrayFactory::create('c', {3, 3}))); std::pair pair(1, 2); - graph.getVariableSpace()->putVariable(pair, new Variable(NDArrayFactory::create_('c', {3, 3}))); -} \ No newline at end of file + graph.getVariableSpace()->putVariable(pair, new Variable(NDArrayFactory::create('c', {3, 3}))); +} diff --git a/libnd4j/tests_cpu/layers_tests/ScopeTests.cpp b/libnd4j/tests_cpu/layers_tests/ScopeTests.cpp index 6c83e869e91d..43bd2eb7e854 100644 --- a/libnd4j/tests_cpu/layers_tests/ScopeTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ScopeTests.cpp @@ -34,7 +34,7 @@ class ScopeTests : public testing::Test { TEST_F(ScopeTests, BasicTests_1) { Graph graph; - auto x = NDArrayFactory::create_('c', {2, 2}); + auto x = NDArrayFactory::create('c', {2, 2}); x->assign(0.0f); auto variableSpace = graph.getVariableSpace(); diff --git a/libnd4j/tests_cpu/layers_tests/SessionLocalTests.cpp b/libnd4j/tests_cpu/layers_tests/SessionLocalTests.cpp index 8481dfde5cef..617d5b399d3c 100644 --- a/libnd4j/tests_cpu/layers_tests/SessionLocalTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/SessionLocalTests.cpp @@ -62,8 +62,8 @@ TEST_F(SessionLocalTests, BasicTests_2) { if (omp_get_max_threads() <= 1) return; - auto alpha = sd::NDArrayFactory::create_('c',{5,5}); - alpha->assign(0.0); + auto alpha = sd::NDArrayFactory::create('c',{5,5}); + alpha.assign(0.0); variableSpace.putVariable(-1, alpha); diff --git a/libnd4j/tests_cpu/layers_tests/StashTests.cpp b/libnd4j/tests_cpu/layers_tests/StashTests.cpp index 2cba6682dd11..2541bfd98c0f 100644 --- a/libnd4j/tests_cpu/layers_tests/StashTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/StashTests.cpp @@ -36,14 +36,14 @@ class StashTests : public testing::Test { TEST_F(StashTests, BasicTests_1) { Stash stash; - auto alpha = NDArrayFactory::create_('c',{5, 5}); - alpha->assign(1.0); + auto alpha = NDArrayFactory::create('c',{5, 5}); + alpha.assign(1.0f); - auto beta = NDArrayFactory::create_('c',{5, 5}); - beta->assign(2.0); + auto beta = NDArrayFactory::create('c',{5, 5}); + beta.assign(2.0f); - auto cappa = NDArrayFactory::create_('c',{5, 5}); - cappa->assign(3.0); + auto cappa = NDArrayFactory::create('c',{5, 5}); + cappa.assign(3.0f); stash.storeArray(1, "alpha", alpha); stash.storeArray(2, "alpha", beta); @@ -62,14 +62,14 @@ TEST_F(StashTests, BasicTests_1) { TEST_F(StashTests, BasicTests_2) { Stash stash; - auto alpha = NDArrayFactory::create_('c',{5, 5}); - alpha->assign(1.0); + auto alpha = NDArrayFactory::create('c',{5, 5}); + alpha.assign(1.0f); - auto beta = NDArrayFactory::create_('c',{5, 5}); - beta->assign(2.0); + auto beta = NDArrayFactory::create('c',{5, 5}); + beta.assign(2.0f); - auto cappa = NDArrayFactory::create_('c',{5, 5}); - cappa->assign(3.0); + auto cappa = NDArrayFactory::create('c',{5, 5}); + cappa.assign(3.0f); stash.storeArray(1, "alpha", alpha); stash.storeArray(1, "beta", beta); diff --git a/libnd4j/tests_cpu/layers_tests/SwitchTests.cpp b/libnd4j/tests_cpu/layers_tests/SwitchTests.cpp index 8d6a8d180e63..20039b07ac3b 100644 --- a/libnd4j/tests_cpu/layers_tests/SwitchTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/SwitchTests.cpp @@ -38,13 +38,13 @@ TEST_F(SwitchTests, SwitchTest1) { auto variableSpace = graph.getVariableSpace(); variableSpace->setFlowPath(&flowPath); - auto input = NDArrayFactory::create_('c',{32, 100}); - input->assign(-119.0f); + auto input = NDArrayFactory::create('c',{32, 100}); + input.assign(-119.0f); - auto condtionX = NDArrayFactory::create_('c', {1, 1}); - condtionX->p(0, 0.0f); - auto condtionY = NDArrayFactory::create_('c', {1, 1}); - condtionY->p(0, 0.0f); + auto condtionX = NDArrayFactory::create('c', {1, 1}); + condtionX.p(0, 0.0f); + auto condtionY = NDArrayFactory::create('c', {1, 1}); + condtionY.p(0, 0.0f); variableSpace->putVariable(-1, input); variableSpace->putVariable(-2, condtionX); @@ -125,13 +125,13 @@ TEST_F(SwitchTests, SwitchTest2) { auto variableSpace = graph.getVariableSpace(); variableSpace->setFlowPath(&flowPath); - auto input = NDArrayFactory::create_('c',{32, 100}); - input->assign(-119.0f); + auto input = NDArrayFactory::create('c',{32, 100}); + input.assign(-119.0f); - auto condtionX = NDArrayFactory::create_('c', {1, 1}); - condtionX->p(0, 1.0f); - auto condtionY = NDArrayFactory::create_('c', {1, 1}); - condtionY->p(0, 1.0f); + auto condtionX = NDArrayFactory::create('c', {1, 1}); + condtionX.p(0, 1.0f); + auto condtionY = NDArrayFactory::create('c', {1, 1}); + condtionY.p(0, 1.0f); variableSpace->putVariable(-1, input); @@ -191,13 +191,13 @@ TEST_F(SwitchTests, SwitchTest3) { auto variableSpace = graph.getVariableSpace(); variableSpace->setFlowPath(&flowPath); - auto input = NDArrayFactory::create_('c',{32, 100}); - input->assign(-119.0f); + auto input = NDArrayFactory::create('c',{32, 100}); + input.assign(-119.0f); - auto condtionX = NDArrayFactory::create_('c', {1, 1}); - condtionX->p(0, 2.0f); - auto condtionY = NDArrayFactory::create_('c', {1, 1}); - condtionY->p(0, 1.0f); + auto condtionX = NDArrayFactory::create('c', {1, 1}); + condtionX.p(0, 2.0f); + auto condtionY = NDArrayFactory::create('c', {1, 1}); + condtionY.p(0, 1.0f); variableSpace->putVariable(-1, input); diff --git a/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp b/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp index 16e7cf7ac310..6a0e8416827c 100644 --- a/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp @@ -31,7 +31,7 @@ class VariableProxyTests : public testing::Test { TEST_F(VariableProxyTests, Test_Simple_1) { - auto x = NDArrayFactory::create_('c', {2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); VariableSpace ref; ref.putVariable(119, x); @@ -45,7 +45,7 @@ TEST_F(VariableProxyTests, Test_Simple_1) { TEST_F(VariableProxyTests, Test_Simple_2) { - auto x = NDArrayFactory::create_('c', {2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); VariableSpace ref; ASSERT_FALSE(ref.hasVariable(119)); @@ -63,8 +63,8 @@ TEST_F(VariableProxyTests, Test_Simple_2) { TEST_F(VariableProxyTests, Test_Simple_3) { - auto x = NDArrayFactory::create_('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create_('c', {2, 2}, {4, 2, 3, 1}); + auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create('c', {2, 2}, {4, 2, 3, 1}); VariableSpace ref; ref.putVariable(119, x); @@ -90,9 +90,9 @@ TEST_F(VariableProxyTests, Test_Simple_3) { } TEST_F(VariableProxyTests, Test_Simple_4) { - auto x = NDArrayFactory::create_('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create_('c', {2, 2}, {4, 2, 3, 1}); - auto z = NDArrayFactory::create_('c', {2, 2}, {4, 1, 3, 2}); + auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create('c', {2, 2}, {4, 2, 3, 1}); + auto z = NDArrayFactory::create('c', {2, 2}, {4, 1, 3, 2}); VariableSpace ref; ref.putVariable(119, x); @@ -122,8 +122,8 @@ TEST_F(VariableProxyTests, Test_Simple_4) { TEST_F(VariableProxyTests, Test_Cast_1) { - auto x = NDArrayFactory::create_('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create_('c', {2, 2}, {4, 2, 3, 1}); + auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create('c', {2, 2}, {4, 2, 3, 1}); VariableSpace ref; ref.putVariable(-119, x); @@ -151,8 +151,8 @@ TEST_F(VariableProxyTests, Test_Cast_1) { TEST_F(VariableProxyTests, Test_Clone_1) { - auto x = NDArrayFactory::create_('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create_('c', {2, 2}, {4, 2, 3, 1}); + auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create('c', {2, 2}, {4, 2, 3, 1}); VariableSpace ref; ref.putVariable(118, x); diff --git a/libnd4j/tests_cpu/layers_tests/VariableSpaceTests.cpp b/libnd4j/tests_cpu/layers_tests/VariableSpaceTests.cpp index ec10f3db097b..4c523bd650e0 100644 --- a/libnd4j/tests_cpu/layers_tests/VariableSpaceTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/VariableSpaceTests.cpp @@ -44,8 +44,8 @@ class VariableSpaceTest : public testing::Test { TEST_F(VariableSpaceTest, SettersGettersTest1) { auto space1 = new VariableSpace(); - auto arrayA = NDArrayFactory::create_('c', {5, 5}); - auto arrayB = NDArrayFactory::create_('c', {3, 3}); + auto arrayA = NDArrayFactory::create('c', {5, 5}); + auto arrayB = NDArrayFactory::create('c', {3, 3}); space1->putVariable(1, arrayA); space1->putVariable(2, arrayB); @@ -63,8 +63,8 @@ TEST_F(VariableSpaceTest, SettersGettersTest1) { TEST_F(VariableSpaceTest, SettersGettersTest2) { auto space1 = new VariableSpace(); - auto arrayA = NDArrayFactory::create_('c', {5, 5}); - auto arrayB = NDArrayFactory::create_('c', {3, 3}); + auto arrayA = NDArrayFactory::create('c', {5, 5}); + auto arrayB = NDArrayFactory::create('c', {3, 3}); auto varA = new Variable(arrayA); auto varB = new Variable(arrayB); @@ -88,7 +88,7 @@ TEST_F(VariableSpaceTest, EqualityTest1) { std::string name("myvar"); - auto arrayA = NDArrayFactory::create_('c', {3, 3}); + auto arrayA = NDArrayFactory::create('c', {3, 3}); auto variableA = new Variable(arrayA, name.c_str()); space.putVariable(1, variableA); @@ -110,7 +110,7 @@ TEST_F(VariableSpaceTest, EqualityTest1) { TEST_F(VariableSpaceTest, EqualityTest2) { VariableSpace space; - auto arrayA = NDArrayFactory::create_('c', {3, 3}); + auto arrayA = NDArrayFactory::create('c', {3, 3}); space.putVariable(1, arrayA); @@ -128,7 +128,7 @@ TEST_F(VariableSpaceTest, EqualityTest2) { TEST_F(VariableSpaceTest, CloneTests_1) { VariableSpace spaceA; - auto arrayA = NDArrayFactory::create_('c', {3, 3}); + auto arrayA = NDArrayFactory::create('c', {3, 3}); arrayA->assign(1.0); spaceA.putVariable(1, arrayA); @@ -154,7 +154,7 @@ TEST_F(VariableSpaceTest, CloneTests_1) { TEST_F(VariableSpaceTest, CloneTests_2) { VariableSpace spaceA; - auto arrayA = NDArrayFactory::create_('c', {3, 3}); + auto arrayA = NDArrayFactory::create('c', {3, 3}); arrayA->assign(1.0); auto variableA = new Variable(arrayA, "alpha"); diff --git a/libnd4j/tests_cpu/layers_tests/VariableTests.cpp b/libnd4j/tests_cpu/layers_tests/VariableTests.cpp index 49b9b02d6dc3..5e6eccfb4a6d 100644 --- a/libnd4j/tests_cpu/layers_tests/VariableTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/VariableTests.cpp @@ -35,8 +35,8 @@ class VariableTests : public testing::Test { }; TEST_F(VariableTests, TestClone_1) { - auto array1 = NDArrayFactory::create_('c', {5, 5}); - array1->assign(1.0); + auto array1 = NDArrayFactory::create('c', {5, 5}); + array1.assign(1.0f); auto var1 = new Variable(array1, "alpha"); var1->setId(119); @@ -203,7 +203,7 @@ TEST_F(VariableTests, Test_FlatVariableDataType_4) { } */ TEST_F(VariableTests, Test_Dtype_Conversion_1) { - auto x = NDArrayFactory::create_('c', {2, 3}, {1, 2, 3, 4, 5, 6}); + auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 4, 5, 6}); Variable v(x, "alpha", 12, 3); auto vd = v.template asT(); diff --git a/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp b/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp index 571db71f3048..fcc371fa3758 100644 --- a/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp @@ -161,12 +161,10 @@ TEST_F(WorkspaceTests, NewInWorkspaceTest1) { ASSERT_TRUE(MemoryRegistrator::getInstance()->hasWorkspaceAttached()); - auto ast = NDArrayFactory::create_('c', {5, 5}); + auto ast = NDArrayFactory::create('c', {5, 5}); ASSERT_TRUE(ws.getCurrentOffset() > 0); - delete ast; - MemoryRegistrator::getInstance()->forgetWorkspace(); ASSERT_FALSE(MemoryRegistrator::getInstance()->hasWorkspaceAttached()); @@ -184,12 +182,10 @@ TEST_F(WorkspaceTests, NewInWorkspaceTest2) { MemoryRegistrator::getInstance()->attachWorkspace(&ws); - auto ast = NDArrayFactory::create_('c', {5, 5}, &ctx); + auto ast = NDArrayFactory::create('c', {5, 5}, &ctx); ASSERT_TRUE(ws.getCurrentOffset() > 0); - delete ast; - MemoryRegistrator::getInstance()->forgetWorkspace(); } From a74c9999c536659788c4ed26cf79d393b8be052b Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 4 Jun 2020 18:02:26 +0300 Subject: [PATCH 13/99] Cosmetic changes only. Signed-off-by: shugeo --- libnd4j/include/array/impl/NDArrayFactory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index b203f6163abe..1708bc7e5c5f 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -247,7 +247,7 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::linspace(const T from, const T to, const Nd4jLong numElements) { - NDArray result = NDArrayFactory::vector(numElements); + auto result = NDArrayFactory::vector(numElements); //TO DO: linspace should be executed on DEVICE, but only CPU version implented! for (Nd4jLong e = 0; e < numElements; e++) { T step = (T) e / ((T) numElements - (T) 1); From 3ee5b9b6a65d1ac55bb81b7bdcdcceeecb390965 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 5 Jun 2020 09:29:22 +0300 Subject: [PATCH 14/99] Fixed valueOf factory routine definition and usage. Signed-off-by: shugeo --- libnd4j/include/array/impl/NDArrayFactory.cpp | 30 +++++++------------ .../generic/helpers/BroadcastHelper.h | 6 ++-- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 1708bc7e5c5f..86a15ec3e45a 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -121,19 +121,19 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: #ifndef __JAVACPP_HACK__ //////////////////////////////////////////////////////////////////////// template - NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const T value, const char order, sd::LaunchContext * context) { + NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const T value, const char order, sd::LaunchContext * context) { return valueOf(std::vector(shape), value, order); } - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const double value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const float value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const float16 value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const bfloat16 value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const Nd4jLong value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const int value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const uint8_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const int8_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const int16_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray* NDArrayFactory::valueOf(const std::initializer_list& shape, const bool value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const double value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const float value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const float16 value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const bfloat16 value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const Nd4jLong value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const uint8_t value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int8_t value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int16_t value, const char order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const bool value, const char order, sd::LaunchContext * context); //////////////////////////////////////////////////////////////////////// template @@ -450,10 +450,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray(str, dtype, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_(const char* str, sd::DataType dtype, sd::LaunchContext* context) { - return string_(std::string(str), dtype, context); - } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::string& str, sd::DataType dtype, sd::LaunchContext* context) { return NDArray(str, dtype, context); } @@ -502,10 +498,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char return NDArray(shape, std::vector(string), dataType, context); } ///////////////////////////////////////////////////////////////////////// - NDArray* NDArrayFactory::string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dataType, sd::LaunchContext* context) { - return NDArrayFactory::string_( shape, std::vector(strings), dataType, context); - } - ///////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray( shape, string, dtype, context); } diff --git a/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h b/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h index 7df331c4d1e9..9046f9436669 100644 --- a/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h +++ b/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h @@ -80,8 +80,8 @@ namespace sd { } else { auto v = y->getShapeAsVector(); auto tZ = NDArrayFactory::valueOf(v, y, y->ordering()); - tZ->applyPairwiseTransform(op.p, *y, extraArgs); - return tZ; + tZ.applyPairwiseTransform(op.p, *y, extraArgs); + return new NDArray(tZ); } } else if (x->isScalar() && y->isScalar()) { // x->isScalar() && y->isScalar() x->applyScalarArr(op.s, const_cast(*y), *z); @@ -122,7 +122,7 @@ namespace sd { auto v = y->getShapeAsVector(); auto tZ = NDArrayFactory::valueOf(v, y, y->ordering()); //tZ->applyPairwiseTransform(op.p, *y, extraArgs); - return tZ; + return new NDArray(tZ); } } else if (x->isScalar() && y->isScalar()) { // x->isScalar() && y->isScalar() x->applyScalarArr(op.s, const_cast(*y), *z); From ea5c5861666c0c204c2e48ff6bda0492cf70d74f Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 5 Jun 2020 10:12:23 +0300 Subject: [PATCH 15/99] Fixed NDArrayFactory class and so on. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 22 ++------------- libnd4j/include/array/impl/NDArrayFactory.cpp | 28 +++++++++---------- libnd4j/include/graph/impl/FlatUtils.cpp | 6 ++-- 3 files changed, 20 insertions(+), 36 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index 4a2cbf88830f..a4681fff9987 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -101,18 +101,14 @@ namespace sd { * This factory create array from utf8 string * @return NDArray default dataType UTF8 */ -// static NDArray string(const char *string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// static NDArray* string_(const char *string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// static NDArray* string_(const std::string &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray string(const char *string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray string(const std::string& string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** * This factory create array from utf16 string * @return NDArray default dataType UTF16 */ -// static NDArray string(const char16_t* u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_(const char16_t* u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_(const std::u16string& u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); + static NDArray string(const char16_t* u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string(const std::u16string& u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** @@ -120,8 +116,6 @@ namespace sd { * @return NDArray default dataType UTF32 */ static NDArray string(const char32_t* u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_(const char32_t* u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_(const std::u32string& u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string(const std::u32string& u32string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** @@ -132,10 +126,6 @@ namespace sd { static NDArray string( const std::vector &shape, const std::initializer_list &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray string( const std::vector &shape, const std::vector &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray string( const std::vector &shape, const std::vector &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// static NDArray* string_( const std::vector &shape, const std::initializer_list &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// static NDArray* string_( const std::vector &shape, const std::initializer_list &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// static NDArray* string_( const std::vector &shape, const std::vector &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); -// static NDArray* string_( const std::vector &shape, const std::vector &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); /** * This factory create array from vector of utf16 strings @@ -145,10 +135,6 @@ namespace sd { static NDArray string( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** * This factory create array from vector of utf32 strings @@ -158,10 +144,6 @@ namespace sd { static NDArray string( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_( const std::vector& shape, const std::initializer_list& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); -// static NDArray* string_( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static ResultSet createSetOfArrs(const Nd4jLong numOfArrs, const void* buffer, const Nd4jLong* shapeInfo, const Nd4jLong* offsets, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 86a15ec3e45a..cc93e1a2d72f 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -120,20 +120,20 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: #ifndef __JAVACPP_HACK__ //////////////////////////////////////////////////////////////////////// - template - NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const T value, const char order, sd::LaunchContext * context) { - return valueOf(std::vector(shape), value, order); - } - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const double value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const float value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const float16 value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const bfloat16 value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const Nd4jLong value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const uint8_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int8_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int16_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const bool value, const char order, sd::LaunchContext * context); +// template +// NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const T value, const char order, sd::LaunchContext * context) { +// return valueOf(std::vector(shape), value, order); +// } +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const double value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const float value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const float16 value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const bfloat16 value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const Nd4jLong value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const uint8_t value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int8_t value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int16_t value, const char order, sd::LaunchContext * context); +// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const bool value, const char order, sd::LaunchContext * context); //////////////////////////////////////////////////////////////////////// template diff --git a/libnd4j/include/graph/impl/FlatUtils.cpp b/libnd4j/include/graph/impl/FlatUtils.cpp index e6984bb9705d..b5b04f948434 100644 --- a/libnd4j/include/graph/impl/FlatUtils.cpp +++ b/libnd4j/include/graph/impl/FlatUtils.cpp @@ -47,7 +47,8 @@ namespace sd { // empty arrays is special case, nothing to restore here if (shape::isEmpty(newShape)) { delete[] newShape; - return NDArrayFactory::empty_(dtype, nullptr); + auto empty = NDArrayFactory::empty(dtype, nullptr); + return new NDArray(empty); } // TODO fix UTF16 and UTF32 if (dtype == UTF8) { @@ -88,7 +89,8 @@ namespace sd { delete[] offsets; delete[] newShape; // string order always 'c' - return NDArrayFactory::string_(shapeVector, substrings); + auto stringV = NDArrayFactory::string(shapeVector, substrings); + return new NDArray(stringV); } From b67d85c372ae85e612d635c08df54654e8f0d804 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 5 Jun 2020 10:47:25 +0300 Subject: [PATCH 16/99] Fixed implementations. Signed-off-by: shugeo --- libnd4j/include/array/impl/NDArrayFactory.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index cc93e1a2d72f..5e9cb69981e8 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -247,11 +247,11 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::linspace(const T from, const T to, const Nd4jLong numElements) { - auto result = NDArrayFactory::vector(numElements); + auto result = NDArrayFactory::vector(numElements, from); //TO DO: linspace should be executed on DEVICE, but only CPU version implented! for (Nd4jLong e = 0; e < numElements; e++) { T step = (T) e / ((T) numElements - (T) 1); - result.p(e, (from * ((T) 1 - step) + step * to)); + result. template r(e) = (from * ((T) 1 - step) + step * to); } result.syncToDevice(); @@ -344,12 +344,6 @@ NDArray NDArrayFactory::create(sd::DataType dtype, sd::LaunchContext * context) return res; } -NDArray* NDArrayFactory::create_(sd::DataType dtype, sd::LaunchContext * context) { - auto result = new NDArray(); - *result = NDArrayFactory::create(dtype, context); - return result; -} - //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context) { From f2ee085f02adad374bd2b94b448329724074f5d2 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 5 Jun 2020 12:35:58 +0300 Subject: [PATCH 17/99] Fixed list ops. Signed-off-by: shugeo --- libnd4j/include/ops/declarable/generic/list/create_list.cpp | 2 +- libnd4j/include/ops/declarable/generic/list/gather_list.cpp | 2 +- libnd4j/include/ops/declarable/generic/list/size_list.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libnd4j/include/ops/declarable/generic/list/create_list.cpp b/libnd4j/include/ops/declarable/generic/list/create_list.cpp index 59ae723b6211..bbba6cc341e3 100644 --- a/libnd4j/include/ops/declarable/generic/list/create_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/create_list.cpp @@ -49,7 +49,7 @@ namespace sd { // OVERWRITE_RESULT(list); auto scalar = NDArrayFactory::create(list->counter()); - block.pushNDArrayToVariableSpace(block.getNodeId(), 1, scalar.dup()); + block.pushNDArrayToVariableSpace(block.getNodeId(), 1, new NDArray(scalar)); return ND4J_STATUS_OK; } diff --git a/libnd4j/include/ops/declarable/generic/list/gather_list.cpp b/libnd4j/include/ops/declarable/generic/list/gather_list.cpp index b641a5fc438c..f91210d5468a 100644 --- a/libnd4j/include/ops/declarable/generic/list/gather_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/gather_list.cpp @@ -65,7 +65,7 @@ namespace sd { } //OVERWRITE_RESULT(result); - setupResult(result.dup(), block); + setupResult(new NDArray(result), block); return Status::OK(); } DECLARE_SYN(TensorArrayGatherV3, gather_list); diff --git a/libnd4j/include/ops/declarable/generic/list/size_list.cpp b/libnd4j/include/ops/declarable/generic/list/size_list.cpp index 7d97056d62cc..aca0c2064a52 100644 --- a/libnd4j/include/ops/declarable/generic/list/size_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/size_list.cpp @@ -37,7 +37,7 @@ namespace sd { result.printIndexedBuffer("actual height"); //OVERWRITE_RESULT(result); - setupResult(result.dup(), block); + setupResult(new NDArray(result), block); return Status::OK(); } DECLARE_SYN(TensorArraySizeV3, size_list); From 2b9bd3289d461fb4ebabed34632865b5d1c076aa Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 5 Jun 2020 12:41:12 +0300 Subject: [PATCH 18/99] Fixed gather_list and write_list ops. Signed-off-by: shugeo --- .../include/ops/declarable/generic/list/gather_list.cpp | 2 +- .../include/ops/declarable/generic/list/write_list.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libnd4j/include/ops/declarable/generic/list/gather_list.cpp b/libnd4j/include/ops/declarable/generic/list/gather_list.cpp index f91210d5468a..e7e5433a044e 100644 --- a/libnd4j/include/ops/declarable/generic/list/gather_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/gather_list.cpp @@ -60,7 +60,7 @@ namespace sd { indicesList[0] = skipPosition; indicesList[1] = skipPosition++ + 1; - auto subarray = (*result)(indicesList, true); + auto subarray = result(indicesList, true); subarray.assign(array); } diff --git a/libnd4j/include/ops/declarable/generic/list/write_list.cpp b/libnd4j/include/ops/declarable/generic/list/write_list.cpp index c61bcb68b3e0..e4504e468fa4 100644 --- a/libnd4j/include/ops/declarable/generic/list/write_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/write_list.cpp @@ -41,10 +41,10 @@ namespace sd { //input->printIndexedBuffer("input buffer"); Nd4jStatus result = list->write(idx->e(0), new NDArray(input->dup())); - auto res = NDArrayFactory::create_(list->counter(), block.launchContext()); + auto res = NDArrayFactory::create(list->counter(), block.launchContext()); //res->printShapeInfo("Write_list 2 output shape"); - setupResult(res, block); + setupResult(new NDArray(res), block); // OVERWRITE_RESULT(res); return result; @@ -54,10 +54,10 @@ namespace sd { Nd4jStatus result = list->write(idx, new NDArray(input->dup())); - auto res = NDArrayFactory::create_(list->counter(), block.launchContext()); + auto res = NDArrayFactory::create(list->counter(), block.launchContext()); //res->printShapeInfo("Write_list 1 output shape"); //OVERWRITE_RESULT(res); - setupResult(res, block); + setupResult(new NDArray(res), block); return result; } else return ND4J_STATUS_BAD_INPUT; From a491b701b9c025ef6973850da9f3d5f2ade7bcf6 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 5 Jun 2020 15:12:04 +0300 Subject: [PATCH 19/99] Fixed nn ops. Signed-off-by: shugeo --- .../declarable/generic/nn/convo/sconv2d.cpp | 6 ++--- .../declarable/generic/nn/fusedBatchNorm.cpp | 2 +- .../declarable/generic/nn/recurrent/sru.cpp | 26 +++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp b/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp index 3042f389f54e..d8cb4b2de3f4 100644 --- a/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp @@ -281,11 +281,11 @@ CUSTOM_OP_IMPL(sconv2d_bp, 3, 2, false, 0, 9) { ConvolutionUtils::sconv2d(block, input, weightsDepth, nullptr, nullptr, &resultFF, kH,kW, sH,sW, pH,pW, dH,dW, isSameMode, isNCHW, wFormat); auto gradIDepthShape = ShapeUtils::composeShapeUsingDimsAndIdx({bS,iC*mC,oH,oW, 0,indIOioC,indIiH,indIiH+1}); - auto gradIDepth = NDArrayFactory::create(resultFF->ordering(), gradIDepthShape, resultFF.dataType(), block.launchContext()); // [bS, oH, oW, iC*mC] (NHWC) or [bS, iC*mC, oH, oW] (NCHW) + auto gradIDepth = NDArrayFactory::create(resultFF.ordering(), gradIDepthShape, resultFF.dataType(), block.launchContext()); // [bS, oH, oW, iC*mC] (NHWC) or [bS, iC*mC, oH, oW] (NCHW) - ConvolutionUtils::conv2dBP(block, resultFF, weightsPoint, bias, gradO, gradIDepth, gradWP, gradB, 1,1, 1,1, 0,0, 1,1, isSameMode, isNCHW, wFormat); // in this case oH=iH and oW=iW + ConvolutionUtils::conv2dBP(block, &resultFF, weightsPoint, bias, gradO, &gradIDepth, gradWP, gradB, 1,1, 1,1, 0,0, 1,1, isSameMode, isNCHW, wFormat); // in this case oH=iH and oW=iW - gradO = gradIDepth; + gradO = new NDArray(gradIDepth); bias = gradB = nullptr; // if pointwise backprop was done then don't calculate gradB at depthwise_conv2d_bp step } diff --git a/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp b/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp index 87dc5f07c39e..fdca7f7f9cc0 100644 --- a/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp @@ -74,7 +74,7 @@ CUSTOM_OP_IMPL(fused_batch_norm, 3, 3, false, 0, 2) { std::vector shape = {iD}; auto meanV = NDArrayFactory::create(scale->ordering(), shape, scale->dataType(), block.launchContext()); auto varianceV = NDArrayFactory::create(scale->ordering(), shape, scale->dataType(), block.launchContext()); - mean = meanV.dup(); variance = varianceV.dup(); + mean = new NDArray(meanV); variance = new NDArray(varianceV); } // FIXME: double? diff --git a/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp b/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp index 1e93a0b337ba..cae7a86e2882 100644 --- a/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp @@ -179,11 +179,11 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { auto wiR = (*wi)({0,0, 2*K,3*K, 0,0}, true); // reset gate [bS x K x N] auto bF = (*b) ({0,0, 0,K }, true); // biases for forget gate [1 x K] auto bR = (*b) ({0,0, K,2*K}, true); // biases for reset gate [1 x K] - auto gradBF = (*gradBias)({0,0, 0,K, 0,0}, true); // [bS x K x N] - auto gradBR = (*gradBias)({0,0, K,2*K, 0,0}, true); // [bS x K x N] - auto gradUZ = (*gradU) ({0,0, 0,K, 0,0}, true ); // [bS x K x N] - auto gradUF = (*gradU) ({0,0, K,2*K, 0,0}, true ); // [bS x K x N] - auto gradUR = (*gradU) ({0,0, 2*K,3*K, 0,0}, true ); // [bS x K x N] + auto gradBF = gradBias({0,0, 0,K, 0,0}, true); // [bS x K x N] + auto gradBR = gradBias({0,0, K,2*K, 0,0}, true); // [bS x K x N] + auto gradUZ = gradU ({0,0, 0,K, 0,0}, true ); // [bS x K x N] + auto gradUF = gradU ({0,0, K,2*K, 0,0}, true ); // [bS x K x N] + auto gradUR = gradU ({0,0, 2*K,3*K, 0,0}, true ); // [bS x K x N] NDArray* ct_1 = nullptr; @@ -201,7 +201,7 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { auto inGradHt = (*inGradH)(idx); // [bS x K x N] -> [bS x K x 1] -> [bS x K] auto gradBRt = gradBR(idx); // [bS x K x N] -> [bS x K x 1] -> [bS x K] auto gradBFt = gradBF(idx); // [bS x K x N] -> [bS x K x 1] -> [bS x K] - auto gradHXt = (*gradHX)(idx); // [bS x K x N] -> [bS x K x 1] -> [bS x K] + auto gradHXt = gradHX(idx); // [bS x K x N] -> [bS x K x 1] -> [bS x K] auto gradUZt = gradUZ(idx); // [bS x K x N] -> [bS x K x 1] -> [bS x K] auto gradUFt = gradUF(idx); // [bS x K x N] -> [bS x K x 1] -> [bS x K] auto gradURt = gradUR(idx); // [bS x K x N] -> [bS x K x 1] -> [bS x K] @@ -230,7 +230,7 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { ///////////////// backward // bR, *grad_brt_ptr = inGradHt * (g_ct - xt) * (1.0f - rt) * rt; gct.applyPairwiseTransform(pairwise::Subtract, xt, temp1); // temp1 = (g_ct - xt) - rtMinus->applyPairwiseTransform(pairwise::Multiply, rt, temp2); // temp2 = (1.0f - rt) * rt; + rtMinus.applyPairwiseTransform(pairwise::Multiply, rt, temp2); // temp2 = (1.0f - rt) * rt; temp1.applyPairwiseTransform(pairwise::Multiply, temp2); // temp1 = (g_ct - xt) * (1.0f - rt) * rt; inGradHt.applyPairwiseTransform(pairwise::Multiply, temp1, gradBRt); // = inGradHt * (g_ct - xt) * (1.0f - rt) * rt; @@ -242,7 +242,7 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { rt.applyPairwiseTransform(pairwise::Multiply, gradTanh, gradCt); // gradCt = rt * gradTanh inGradHt.applyPairwiseTransform(pairwise::Multiply, gradCt, gradCt); // gradCt = inGradHt * rt * gradTanh // gradBFt = (gradCt + inGradCt) * (ct_1 - zt) * (1 - ft) * ft; - gradCt->applyPairwiseTransform(pairwise::Add, inGradCt, temp1); // temp1 = (gradCt + inGradCt) + gradCt.applyPairwiseTransform(pairwise::Add, *inGradCt, temp1); // temp1 = (gradCt + inGradCt) ct_1->applyPairwiseTransform(pairwise::Subtract, zt, temp2); // temp2 = (ct_1 - zt) temp1.applyPairwiseTransform(pairwise::Multiply, ftMinus, temp1); // temp1 = (gradCt + inGradCt)*(1-ft) temp1.applyPairwiseTransform(pairwise::Multiply, ft, temp1); // temp1 = (gradCt + inGradCt)*(1-ft)*ft @@ -254,14 +254,14 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { // U_t, gradUZt = (inGradHt * rt * grad_tanh + inGradCt) * (1.0f - ft); rt.applyPairwiseTransform(pairwise::Multiply, gradTanh, temp1); // temp1 = rt * grad_tanh inGradHt.applyPairwiseTransform(pairwise::Multiply, temp1, temp1); // temp1 = inGradHt * rt * grad_tanh - temp1->applyPairwiseTransform(pairwise::Add, *inGradCt, temp1); // temp1 = inGradHt * rt * grad_tanh + inGradCt - temp1->applyPairwiseTransform(pairwise::Multiply, ftMinus, gradUZt); // gradUZt = (inGradHt * rt * grad_tanh + inGradCt) * (1.0f - ft); + temp1.applyPairwiseTransform(pairwise::Add, *inGradCt, temp1); // temp1 = inGradHt * rt * grad_tanh + inGradCt + temp1.applyPairwiseTransform(pairwise::Multiply, ftMinus, gradUZt); // gradUZt = (inGradHt * rt * grad_tanh + inGradCt) * (1.0f - ft); gradUFt.assign(&gradBFt); gradURt.assign(&gradBRt); // c_{t-1}, inGradCt = (gradCt + inGradCt) * ft; - gradCt.applyPairwiseTransform(pairwise::Add, inGradCt, temp1); // temp1 = (gradCt + inGradCt) - temp1.applyPairwiseTransform(pairwise::Multiply, ft, inGradCt); // inGradCt = (gradCt + inGradCt) * ft; + gradCt.applyPairwiseTransform(pairwise::Add, *inGradCt, temp1); // temp1 = (gradCt + inGradCt) + temp1.applyPairwiseTransform(pairwise::Multiply, ft, *inGradCt); // inGradCt = (gradCt + inGradCt) * ft; if(t != 0) delete ct_1; @@ -278,7 +278,7 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { gradX->applyBroadcast(broadcast::Multiply, {0,1}, *mask, *gradX); // apply mask // gradB - auto temp3 = gradBias->reduceAlongDimension(reduce::Sum, {0,2}, false, true); // [1 x 2K] + auto temp3 = gradBias.reduceAlongDimension(reduce::Sum, {0,2}, false, true); // [1 x 2K] gradB->assign(temp3); // gradW [bS x 3K x K] From 628a98ca9141b905bd134f9ef75db7a752ae7267 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 5 Jun 2020 17:03:35 +0300 Subject: [PATCH 20/99] Fixed misc typo errors. Signed-off-by: shugeo --- .../ops/declarable/generic/random/uniform.cpp | 9 ++-- .../ops/declarable/generic/tensor/range.cpp | 45 +++++++++++-------- .../declarable/generic/tsne/symmetrized.cpp | 2 +- .../ops/declarable/helpers/impl/where.cpp | 2 +- .../include/ops/declarable/impl/BooleanOp.cpp | 3 +- 5 files changed, 36 insertions(+), 25 deletions(-) diff --git a/libnd4j/include/ops/declarable/generic/random/uniform.cpp b/libnd4j/include/ops/declarable/generic/random/uniform.cpp index 073b90d9287f..9efb85ab7bf9 100644 --- a/libnd4j/include/ops/declarable/generic/random/uniform.cpp +++ b/libnd4j/include/ops/declarable/generic/random/uniform.cpp @@ -49,10 +49,11 @@ namespace sd { bool disposable = false; if (min == nullptr && max == nullptr && block.numT() >= 2) { - min = NDArrayFactory::create(dtype, block.launchContext()).dup(); - max = NDArrayFactory::create(dtype, block.launchContext()).dup(); - min->p(0, T_ARG(0)); - max->p(0, T_ARG(1)); + auto minV = NDArrayFactory::create(dtype, block.launchContext()); + auto maxV = NDArrayFactory::create(dtype, block.launchContext()); + minV.p(0, T_ARG(0)); + maxV.p(0, T_ARG(1)); + min = new NDArray(minV); max = new NDArray(maxV); disposable = true; } diff --git a/libnd4j/include/ops/declarable/generic/tensor/range.cpp b/libnd4j/include/ops/declarable/generic/tensor/range.cpp index 3ff8e42ff6e9..bbe27881d1b7 100644 --- a/libnd4j/include/ops/declarable/generic/tensor/range.cpp +++ b/libnd4j/include/ops/declarable/generic/tensor/range.cpp @@ -35,8 +35,8 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { const int numTArgs = block.getTArguments()->size(); const int numIArgs = block.getIArguments()->size(); - NDArray *s = nullptr; - NDArray *d = nullptr; + NDArray* s = nullptr; + NDArray* d = nullptr; bool localS = false; bool localD = false; @@ -49,11 +49,13 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { if(numInArrs == 1) { //limit = (*INPUT_VARIABLE(0))(0.); if (output->isR()) { - s = NDArrayFactory::create(0.0f, block.launchContext()).dup(); - d = NDArrayFactory::create(1.0f, block.launchContext()).dup(); + auto sLocal = NDArrayFactory::create(0.0f, block.launchContext()); + auto dLocal = NDArrayFactory::create(1.0f, block.launchContext()); + s = new NDArray(sLocal); d = new NDArray(dLocal); } else { - s = NDArrayFactory::create(0, block.launchContext()).dup(); - d = NDArrayFactory::create(1, block.launchContext()).dup(); + auto sLocal = NDArrayFactory::create(0, block.launchContext()); + auto dLocal = NDArrayFactory::create(1, block.launchContext()); + s = new NDArray(sLocal); d = new NDArray(dLocal); } localS = true; localD = true; @@ -61,9 +63,11 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { s = INPUT_VARIABLE(0); //limit = (*INPUT_VARIABLE(1))(0.); if (output->isR()) { - d = NDArrayFactory::create(1.0f, block.launchContext()).dup(); + auto dLocal = NDArrayFactory::create(1.0f, block.launchContext()); + d = new NDArray(dLocal); } else { - d = NDArrayFactory::create(1, block.launchContext()).dup(); + auto dLocal = NDArrayFactory::create(1, block.launchContext()); + d = new NDArray(dLocal); } localD = true; } else { @@ -76,14 +80,16 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { if(numIArgs == 1) { // limit = INT_ARG(0); } else if(numIArgs == 2) { - s = NDArrayFactory::create(INT_ARG(0), block.launchContext()).dup(); + auto sLocal = NDArrayFactory::create(INT_ARG(0), block.launchContext()); //limit = INT_ARG(1); - d = NDArrayFactory::create(1, block.launchContext()).dup(); + auto dLocal = NDArrayFactory::create(1, block.launchContext()); + s = new NDArray(sLocal); d = new NDArray(dLocal); } else { - s = NDArrayFactory::create(INT_ARG(0), block.launchContext()).dup(); + auto sLocal = NDArrayFactory::create(INT_ARG(0), block.launchContext()).dup(); //limit = INT_ARG(1); - d = NDArrayFactory::create(INT_ARG(2), block.launchContext()).dup(); + auto dLocal = NDArrayFactory::create(INT_ARG(2), block.launchContext()).dup(); + s = new NDArray(sLocal); d = new NDArray(dLocal); } localS = true; @@ -93,17 +99,20 @@ CUSTOM_OP_IMPL(range, -2, 1, false, -2, -2) { if(numTArgs == 1) { //limit = T_ARG(0); - s = NDArrayFactory::create(0.0f, block.launchContext()).dup(); - d = NDArrayFactory::create(1.0f, block.launchContext()).dup(); + auto sLocal = NDArrayFactory::create(0.0f, block.launchContext()).dup(); + auto dLocal = NDArrayFactory::create(1.0f, block.launchContext()).dup(); + s = new NDArray(sLocal); d = new NDArray(dLocal); } else if(numTArgs == 2) { - s = NDArrayFactory::create(T_ARG(0), block.launchContext()).dup(); + auto sLocal = NDArrayFactory::create(T_ARG(0), block.launchContext()).dup(); //limit = T_ARG(1); - d = NDArrayFactory::create(1.0f, block.launchContext()).dup(); + auto dLocal = NDArrayFactory::create(1.0f, block.launchContext()).dup(); + s = new NDArray(sLocal); d = new NDArray(dLocal); } else { - s = NDArrayFactory::create(T_ARG(0), block.launchContext()).dup(); + auto sLocal = NDArrayFactory::create(T_ARG(0), block.launchContext()).dup(); //limit = T_ARG(1); - d = NDArrayFactory::create(T_ARG(2), block.launchContext()).dup(); + auto dLocal = NDArrayFactory::create(T_ARG(2), block.launchContext()).dup(); + s = new NDArray(sLocal); d = new NDArray(dLocal); } localS = true; diff --git a/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp b/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp index 00fd0ebab89e..84ffb64f6153 100644 --- a/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp +++ b/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp @@ -74,7 +74,7 @@ namespace sd { rowCounts.syncToHost(); // rowCounts->printBuffer("Row Counts"); if (len <= 0) throw std::runtime_error("barnes_symmetrized: Cannot allocate shape due non-positive len."); - rowCountsPtr = rowCounts.dup(); + rowCountsPtr = new NDArray(rowCounts); //ALLOCATE(outShapeInfo, block.workspace(), shape::shapeInfoLength(2), Nd4jLong); // outShapeInfo[1] = 1; // outShapeInfo[2] = len; diff --git a/libnd4j/include/ops/declarable/helpers/impl/where.cpp b/libnd4j/include/ops/declarable/helpers/impl/where.cpp index 6c1bfd5634a9..30e7eca15226 100644 --- a/libnd4j/include/ops/declarable/helpers/impl/where.cpp +++ b/libnd4j/include/ops/declarable/helpers/impl/where.cpp @@ -42,7 +42,7 @@ namespace sd { for (int f = 0; f < condition.rankOf(); f++) array.p(f, (T) idx[f]); - list.write(cnt++, array.dup()); + list.write(cnt++, new NDArray(array)); } } diff --git a/libnd4j/include/ops/declarable/impl/BooleanOp.cpp b/libnd4j/include/ops/declarable/impl/BooleanOp.cpp index 954b9d689039..46f515cd05a2 100644 --- a/libnd4j/include/ops/declarable/impl/BooleanOp.cpp +++ b/libnd4j/include/ops/declarable/impl/BooleanOp.cpp @@ -73,7 +73,8 @@ namespace sd { auto var = ctx.variable(pair); if (!var->hasNDArray()) { - var->setNDArray(NDArrayFactory::create(false, ctx.launchContext()).dup()); + auto arr = NDArrayFactory::create(false, ctx.launchContext()); + var->setNDArray(new NDArray(arr)); var->markRemovable(true); } } From bb88ddaf2a8d2fb1d36aca6911330a31fdcc5752 Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 8 Jun 2020 09:21:25 +0300 Subject: [PATCH 21/99] Refactored context to use reference as input/output arrays. Signed-off-by: shugeo --- libnd4j/include/graph/Context.h | 2 ++ libnd4j/include/graph/impl/Context.cpp | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/libnd4j/include/graph/Context.h b/libnd4j/include/graph/Context.h index de6608b464c6..0ee9150d8388 100644 --- a/libnd4j/include/graph/Context.h +++ b/libnd4j/include/graph/Context.h @@ -195,11 +195,13 @@ namespace sd { std::vector& fastpath_out(); #endif + void setInputArray(int index, NDArray const& array); void setInputArray(int index, NDArray *array, bool removable = false); void setInputArray(int index, void *buffer, void const* shapeInfo, void *specialBuffer, void const* specialShapeInfo); void setInputArray(int index, void *buffer, void * shapeInfo, void *specialBuffer, void * specialShapeInfo); void setInputArray(int index, void *databuffer, void const* shapeInfo, void const* specialShapeInfo); + void setOutputArray(int index, NDArray const& array); void setOutputArray(int index, NDArray *array, bool removable = false); void setOutputArray(int index, void *buffer, const void * shapeInfo, void *specialBuffer, const void * specialShapeInfo); void setOutputArray(int index, void *buffer, void * shapeInfo, void *specialBuffer, void * specialShapeInfo); diff --git a/libnd4j/include/graph/impl/Context.cpp b/libnd4j/include/graph/impl/Context.cpp index ae5bc59a05bf..daa9e679bcbd 100644 --- a/libnd4j/include/graph/impl/Context.cpp +++ b/libnd4j/include/graph/impl/Context.cpp @@ -407,6 +407,15 @@ namespace sd { _handles.emplace_back(array); } + void Context::setInputArray(int index, NDArray const& array) { + if (_fastpath_in.size() < index + 1) + _fastpath_in.resize(index + 1); + auto pArr = new NDArray(array); + _fastpath_in[index] = pArr; + _handles.emplace_back(pArr); + } + + void Context::setInputArray(int index, void *buffer, void * shapeInfo, void *specialBuffer, void * specialShapeInfo) { this->setInputArray(index, buffer, const_cast(shapeInfo), specialBuffer, const_cast(specialShapeInfo)); } @@ -424,6 +433,15 @@ namespace sd { array->setContext(_context); } + void Context::setOutputArray(int index, NDArray const& array) { + if (_fastpath_out.size() < index + 1) + _fastpath_out.resize(index + 1); + auto pArray = new NDArray(array); + _fastpath_out[index] = pArray; + _handles.emplace_back(pArray); + } + + void Context::setOutputArray(int index, NDArray *array, bool removable) { if (_fastpath_out.size() < index + 1) _fastpath_out.resize(index+1); From b2d5d1c43bb163042d40610fd0ddfd4745da8d0c Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 8 Jun 2020 09:29:44 +0300 Subject: [PATCH 22/99] Fixed benchmarking with refactored context. Signed-off-by: shugeo --- .../benchmarking/impl/FullBenchmarkSuit.cpp | 94 +++++++++---------- .../benchmarking/impl/LightBenchmarkSuit.cpp | 12 ++- 2 files changed, 54 insertions(+), 52 deletions(-) diff --git a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp index 15fd2fdba108..637b3a929b33 100644 --- a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp @@ -105,19 +105,19 @@ namespace sd { //nchw auto input = NDArrayFactory::create('c', {16, c, hw, hw}); auto output = NDArrayFactory::create('c', {16, c, hw, hw}); - ctx->setInputArray(0, input.dup(), true); - ctx->setOutputArray(0, output.dup(), true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); axis = 1; } else { auto input = NDArrayFactory::create('c', {32, hw, hw, c}); auto output = NDArrayFactory::create('c', {32, hw, hw, c}); - ctx->setInputArray(0, input.dup(), true); - ctx->setOutputArray(0, output.dup(), true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); axis = 3; } auto bias = NDArrayFactory::create('c', {c}); - ctx->setInputArray(1, bias.dup(), true); + ctx->setInputArray(1, bias); auto iargs = new Nd4jLong[1]; iargs[0] = axis; ctx->setIArguments(iargs, 1); @@ -164,12 +164,12 @@ namespace sd { //Same mode + stride 1: output is same shape as input if(format == 1) { //NDHWC - ctx->setInputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn}).dup(), true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn}).dup(), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn})); + ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn})); } else { //NCDHW - ctx->setInputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw}).dup(), true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw}).dup(), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw})); + ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw})); } auto iargs = new Nd4jLong[15]; @@ -230,17 +230,17 @@ namespace sd { //Same mode + stride 1: output is same shape as input if(format == 1) { //NDHWC - ctx->setInputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn}).dup(), true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn}).dup(), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn})); + ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn})); } else { //NCDHW - ctx->setInputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw}).dup(), true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw}).dup(), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw})); + ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw})); } //Weights and bias: - ctx->setInputArray(1, NDArrayFactory::create('c', {3, 3, 3, chIn, chOut}).dup(), true); - ctx->setInputArray(2, NDArrayFactory::create('c', {chOut}).dup(), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {3, 3, 3, chIn, chOut})); + ctx->setInputArray(2, NDArrayFactory::create('c', {chOut})); auto iargs = new Nd4jLong[14]; @@ -296,29 +296,29 @@ namespace sd { int n = p.getIntParam("nInOut"); Nd4jLong l = 0; - ctx->setInputArray(0, NDArrayFactory::create(l).dup(), true); //Max TS length (unused) + ctx->setInputArray(0, NDArrayFactory::create(l)); //Max TS length (unused) if (f == 0) { //TNS format - ctx->setInputArray(1, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //x - ctx->setOutputArray(0, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //i - ctx->setOutputArray(1, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //c - ctx->setOutputArray(2, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //f - ctx->setOutputArray(3, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //o - ctx->setOutputArray(4, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //z - ctx->setOutputArray(5, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //h - ctx->setOutputArray(6, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //y + ctx->setInputArray(1, NDArrayFactory::create('c', {seqLength, m, n})); //x + ctx->setOutputArray(0, NDArrayFactory::create('c', {seqLength, m, n})); //i + ctx->setOutputArray(1, NDArrayFactory::create('c', {seqLength, m, n})); //c + ctx->setOutputArray(2, NDArrayFactory::create('c', {seqLength, m, n})); //f + ctx->setOutputArray(3, NDArrayFactory::create('c', {seqLength, m, n})); //o + ctx->setOutputArray(4, NDArrayFactory::create('c', {seqLength, m, n})); //z + ctx->setOutputArray(5, NDArrayFactory::create('c', {seqLength, m, n})); //h + ctx->setOutputArray(6, NDArrayFactory::create('c', {seqLength, m, n})); //y } else { //NST format - ctx->setInputArray(1, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //x - ctx->setOutputArray(0, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //i - ctx->setOutputArray(1, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //c - ctx->setOutputArray(2, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //f - ctx->setOutputArray(3, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //o - ctx->setOutputArray(4, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //z - ctx->setOutputArray(5, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //h - ctx->setOutputArray(6, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //y + ctx->setInputArray(1, NDArrayFactory::create('f', {m, n, seqLength})); //x + ctx->setOutputArray(0, NDArrayFactory::create('f', {m, n, seqLength})); //i + ctx->setOutputArray(1, NDArrayFactory::create('f', {m, n, seqLength})); //c + ctx->setOutputArray(2, NDArrayFactory::create('f', {m, n, seqLength})); //f + ctx->setOutputArray(3, NDArrayFactory::create('f', {m, n, seqLength})); //o + ctx->setOutputArray(4, NDArrayFactory::create('f', {m, n, seqLength})); //z + ctx->setOutputArray(5, NDArrayFactory::create('f', {m, n, seqLength})); //h + ctx->setOutputArray(6, NDArrayFactory::create('f', {m, n, seqLength})); //y } auto cLast = NDArrayFactory::create('c', {m, n}); @@ -329,13 +329,13 @@ namespace sd { auto Wco = NDArrayFactory::create('c', {n}); auto b = NDArrayFactory::create('c', {4 * n}); - ctx->setInputArray(2, cLast.dup(), true); - ctx->setInputArray(3, yLast.dup(), true); - ctx->setInputArray(4, W.dup(), true); - ctx->setInputArray(5, Wci.dup(), true); - ctx->setInputArray(6, Wcf.dup(), true); - ctx->setInputArray(7, Wco.dup(), true); - ctx->setInputArray(8, b.dup(), true); + ctx->setInputArray(2, cLast); + ctx->setInputArray(3, yLast); + ctx->setInputArray(4, W); + ctx->setInputArray(5, Wci); + ctx->setInputArray(6, Wcf); + ctx->setInputArray(7, Wco); + ctx->setInputArray(8, b); auto iargs = new Nd4jLong[2]; iargs[0] = 0; //No peephole @@ -382,29 +382,29 @@ namespace sd { if (n == 0) { auto input = NDArrayFactory::create('c', {32, ch, hw, hw}); auto output = NDArrayFactory::create('c', {32, ch, hw, hw}); - ctx->setInputArray(0, input.dup(), true); - ctx->setOutputArray(0, output.dup(), true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); args[2] = 1; //axis } else { auto input = NDArrayFactory::create('c', {32, hw, hw, ch}); auto output = NDArrayFactory::create('c', {32, hw, hw, ch}); - ctx->setInputArray(0, input.dup(), true); - ctx->setOutputArray(0, output.dup(), true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); args[2] = 3; //axis } ctx->setIArguments(args, 3); delete[] args; - ctx->setInputArray(1, NDArrayFactory::create('c', {ch}).dup(), true); //mean + ctx->setInputArray(1, NDArrayFactory::create('c', {ch})); //mean auto v = NDArrayFactory::create('c', {ch}); v.assign(1.0f); - ctx->setInputArray(2, v.dup(), true); //variance + ctx->setInputArray(2, v); //variance auto g = NDArrayFactory::create('c', {ch}); g.assign(1.0); - ctx->setInputArray(3, g.dup(), true); //gamma + ctx->setInputArray(3, g); //gamma auto b = NDArrayFactory::create('c', {ch}); b.assign(1.0f); - ctx->setInputArray(4, b.dup(), true); //beta + ctx->setInputArray(4, b); //beta auto targs = new double[1]; targs[0] = 1e-5; diff --git a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp index d1898a0799c4..38535a593578 100644 --- a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp @@ -46,13 +46,14 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create_('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); arr.assign(1.0); - x.push_back(arr.dup()); + x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ z.push_back(arr); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")}).dup()); + auto arrV = NDArrayFactory::create('c', {p.getIntParam("length")}); + z.push_back(new NDArray(arrV)); } }; @@ -86,9 +87,10 @@ namespace sd { arr.assign(1.0); x.push_back(arr.dup()); if(p.getIntParam("inplace") == 1){ - z.push_back(arr); + z.push_back(new NDArray(arr)); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + auto zArr = NDArrayFactory::create('c', {p.getIntParam("length")}); + z.push_back(new NDArray(zArr)); } }; From dede0477a94f16cfe35d2c42547fdb2582c93be3 Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 8 Jun 2020 13:03:17 +0300 Subject: [PATCH 23/99] Fixed cuda implementation due refactored legacy factory methods create_ and empty_ Signed-off-by: shugeo --- .../helpers/cuda/image_suppression.cu | 10 +- .../ops/declarable/helpers/cuda/lup.cu | 7 +- .../benchmarking/impl/FullBenchmarkSuit.cpp | 10 +- .../benchmarking/impl/LightBenchmarkSuit.cpp | 129 +++++++++--------- .../layers_tests/LaunchContextCudaTests.cu | 12 +- .../layers_tests/NDArrayConstructorsTests.cu | 32 ++--- .../layers_tests/NDArrayCudaBasicsTests.cu | 116 +++++++--------- 7 files changed, 145 insertions(+), 171 deletions(-) diff --git a/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu b/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu index 8b7e8ee57074..5e7733bc75f0 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu @@ -188,16 +188,16 @@ namespace helpers { static void nonMaxSuppressionV2_(sd::LaunchContext* context, NDArray* boxes, NDArray* scales, int maxSize, double threshold, double scoreThreshold, NDArray* output) { auto stream = context->getCudaStream(); NDArray::prepareSpecialUse({output}, {boxes, scales}); - std::unique_ptr indices(NDArrayFactory::create_('c', {scales->lengthOf()}, context)); // - 1, scales->lengthOf()); //, scales->getContext()); + auto indices = NDArrayFactory::create('c', {scales->lengthOf()}, context); // - 1, scales->lengthOf()); //, scales->getContext()); NDArray scores(*scales); Nd4jPointer extras[2] = {nullptr, stream}; - auto indexBuf = indices->dataBuffer()->specialAsT();///reinterpret_cast(indices->specialBuffer()); + auto indexBuf = indices.dataBuffer()->specialAsT();///reinterpret_cast(indices->specialBuffer()); auto scoreBuf = scores.dataBuffer()->specialAsT(); suppressScores<<<128, 128, 128, *stream>>>(scoreBuf, indexBuf, scores.lengthOf(), T(scoreThreshold)); - indices->tickWriteDevice(); - sortByValue(extras, indices->buffer(), indices->shapeInfo(), indices->specialBuffer(), indices->specialShapeInfo(), scores.buffer(), scores.shapeInfo(), scores.specialBuffer(), scores.specialShapeInfo(), true); - indices->tickWriteDevice(); + indices.tickWriteDevice(); + sortByValue(extras, indices.buffer(), indices.shapeInfo(), indices.specialBuffer(), indices.specialShapeInfo(), scores.buffer(), scores.shapeInfo(), scores.specialBuffer(), scores.specialShapeInfo(), true); + indices.tickWriteDevice(); NDArray selectedIndices = NDArrayFactory::create('c', {output->lengthOf()}, context); int numSelected = 0; int numBoxes = boxes->sizeAt(0); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/lup.cu b/libnd4j/include/ops/declarable/helpers/cuda/lup.cu index 682b2eee91b0..3c8151a1ac84 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/lup.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/lup.cu @@ -922,11 +922,10 @@ namespace helpers { else if (input->dataType() == DataType::FLOAT32) cholesky__(context, input, output, inplace); else { - std::unique_ptr tempOutput( - NDArrayFactory::create_('c', input->getShapeAsVector(), DataType::FLOAT32, context)); + auto tempOutput = NDArrayFactory::create_('c', input->getShapeAsVector(), DataType::FLOAT32, context); tempOutput->assign(input); - cholesky__(context, tempOutput.get(), tempOutput.get(), true); - output->assign(tempOutput.get()); + cholesky__(context, &tempOutput, &tempOutput, true); + output->assign(tempOutput); } NDArray::registerSpecialUse({output}, {input}); return Status::OK(); diff --git a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp index 637b3a929b33..84220dc75820 100644 --- a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp @@ -446,15 +446,15 @@ namespace sd { int khw = p.getIntParam("k"); if (n == 0) { - auto input = NDArrayFactory::create_('c', {32, p.getIntParam("c"), hw, hw}); + auto input = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); auto output = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); } else { auto input = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); auto output = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); } auto args = new Nd4jLong[11]; diff --git a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp index 38535a593578..c9a000e3c79d 100644 --- a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp @@ -58,7 +58,7 @@ namespace sd { }; ScalarBenchmark sbRelu(scalar::Ops::RELU, "RELU"); - sbRelu.setY(NDArrayFactory::create(0.0).dup()); + sbRelu.setY(NDArrayFactory::create(0.0)); TransformBenchmark tbSigmoid(transform::StrictOps::Sigmoid, "sigmoid"); //TransformBenchmark tbSoftmax(transform::StrictOps::SoftMax, "softmax"); @@ -85,7 +85,7 @@ namespace sd { auto generator = PARAMETRIC_XZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); arr.assign(1.0); - x.push_back(arr.dup()); + x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr)); } else { @@ -99,9 +99,9 @@ namespace sd { ScalarBenchmark sbPow(scalar::Ops::Pow, "sPow"); - sbAdd.setY(NDArrayFactory::create_(3.14159265359)); - sbDiv.setY(NDArrayFactory::create_(3.14159265359)); - sbPow.setY(NDArrayFactory::create_(3.14159265359)); + sbAdd.setY(NDArrayFactory::create(3.14159265359)); + sbDiv.setY(NDArrayFactory::create(3.14159265359)); + sbPow.setY(NDArrayFactory::create(3.14159265359)); output += helper.runOperationSuit(&sbAdd, generator, batch, "Scalar Addition - x.add(3.14159265359)"); @@ -126,12 +126,13 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto arr1 = NDArrayFactory::create('c', {p.getIntParam("length")}); auto arr2 = NDArrayFactory::create('c', {p.getIntParam("length")}); - x.push_back(arr1.dup()); - y.push_back(arr2.dup()); + x.push_back(new NDArray(arr1)); + y.push_back(new NDArray(arr2)); if(p.getIntParam("inplace") == 1){ - z.push_back(arr1); + z.push_back(new NDArray(arr1)); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")}).dup()); + auto zArr = NDArrayFactory::create('c', {p.getIntParam("length")}); + z.push_back(new NDArray(zArr)); } }; @@ -159,10 +160,10 @@ namespace sd { int cols = numElements / rows; bool c = p.getIntParam("cf"); - auto arr = NDArrayFactory::create_(c ? 'c' : 'f', {rows, cols}); - auto arr2 = NDArrayFactory::create_(c ? 'f' : 'c', {rows, cols}); - x.push_back(arr.dup()); - z.push_back(arr2.dup()); + auto arr = NDArrayFactory::create(c ? 'c' : 'f', {rows, cols}); + auto arr2 = NDArrayFactory::create(c ? 'f' : 'c', {rows, cols}); + x.push_back(new NDArray(arr)); + z.push_back(new NDArray(arr2)); }; TransformBenchmark tb(transform::AnyOps::Assign, "assign"); @@ -178,15 +179,15 @@ namespace sd { bool nchw = p.getIntParam("nchw"); if(nchw) { - auto orig = NDArrayFactory::create_('c', {mb, c, hw, hw}); + auto orig = NDArrayFactory::create('c', {mb, c, hw, hw}); orig.permutei({0,2,3,1}); - x.push_back(orig.dup()); - z.push_back(NDArrayFactory::create('c', {mb, hw, hw, c}).dup()); + x.push_back(new NDArray(orig)); + z.push_back(new NDArray(NDArrayFactory::create('c', {mb, hw, hw, c}))); } else { - auto orig = NDArrayFactory::create_('c', {mb, hw, hw, c}); + auto orig = NDArrayFactory::create('c', {mb, hw, hw, c}); orig.permutei({0,3,1,2}); - x.push_back(orig.dup()); - z.push_back(NDArrayFactory::create_('c', {mb, c, hw, hw}).dup()); + x.push_back(new NDArray(orig.dup())); + z.push_back(new NDArray(NDArrayFactory::create('c', {mb, c, hw, hw}))); } }; @@ -219,9 +220,9 @@ namespace sd { auto B = NDArrayFactory::create('c', shapeB); auto C = NDArrayFactory::create(resultOrder, {a, c}); - x.push_back(A.dup()); - y.push_back(B.dup()); - z.push_back(C.dup()); + x.push_back(new NDArray(A)); + y.push_back(new NDArray(B)); + z.push_back(new NDArray(C)); }; std::string n; @@ -250,9 +251,9 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); - x.push_back(arr.dup()); + x.push_back(new NDArray(arr)); y.push_back(nullptr); - z.push_back(NDArrayFactory::create(0.0f).dup()); + z.push_back(NDArray(NDArrayFactory::create(0.0f))); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -269,9 +270,9 @@ namespace sd { auto generator3 = PARAMETRIC_D(){ auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")}).dup(), true); - ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0), true); - ctx->setOutputArray(0, NDArrayFactory::create(0), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")})); + ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0)); + ctx->setOutputArray(0, NDArrayFactory::create(0)); return ctx; }; @@ -303,8 +304,8 @@ namespace sd { auto arr = NDArrayFactory::create('c', {rows, cols}); - x.push_back(arr.dup()); - y.push_back(NDArrayFactory::create(dim).dup()); + x.push_back(new NDArray(arr)); + y.push_back(new NDArray(NDArrayFactory::create(dim))); NDArray result; if(dim == 0){ @@ -312,7 +313,7 @@ namespace sd { } else { result = NDArrayFactory::create('c', {rows}); } - z.push_back(result.dup()); + z.push_back(new NDArray(result)); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -333,14 +334,14 @@ namespace sd { int rows = p.getIntParam("rows"); int cols = length[i] / rows; int dim = p.getIntParam("dim"); - auto arr = NDArrayFactory::create_('c', {rows, cols}); + auto arr = NDArrayFactory::create('c', {rows, cols}); auto dimArg = new Nd4jLong[1]; dimArg[0] = dim; ctx->setIArguments(dimArg, 1); delete[] dimArg; - ctx->setInputArray(0, arr, true); + ctx->setInputArray(0, arr); NDArray result; if(dim == 0){ @@ -348,7 +349,7 @@ namespace sd { } else { result = NDArrayFactory::create('c', {rows}); } - ctx->setOutputArray(0, result.dup(), true); + ctx->setOutputArray(0, result); return ctx; }; @@ -441,13 +442,13 @@ namespace sd { if (n == 0) { auto input = NDArrayFactory::create('c', {8, c, hw, hw}); auto output = NDArrayFactory::create('c', {8, c, hw, hw}); - ctx->setInputArray(0, input.dup(), true); - ctx->setOutputArray(0, output.dup(), true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); } else { auto input = NDArrayFactory::create('c', {8, hw, hw, c}); auto output = NDArrayFactory::create('c', {8, hw, hw, c}); - ctx->setInputArray(0, input.dup(), true); - ctx->setOutputArray(0, output.dup(), true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); } std::vector args(11);// = new Nd4jLong[11]; @@ -495,29 +496,29 @@ namespace sd { int m = p.getIntParam("mb"); Nd4jLong l = 0; - ctx->setInputArray(0, NDArrayFactory::create(l).dup(), true); //Max TS length (unused) + ctx->setInputArray(0, NDArrayFactory::create(l)); //Max TS length (unused) if (f == 0) { //TNS format - ctx->setInputArray(1, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //x - ctx->setOutputArray(0, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //i - ctx->setOutputArray(1, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //c - ctx->setOutputArray(2, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //f - ctx->setOutputArray(3, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //o - ctx->setOutputArray(4, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //z - ctx->setOutputArray(5, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //h - ctx->setOutputArray(6, NDArrayFactory::create('c', {seqLength, m, n}).dup(), true); //y + ctx->setInputArray(1, NDArrayFactory::create('c', {seqLength, m, n})); //x + ctx->setOutputArray(0, NDArrayFactory::create('c', {seqLength, m, n})); //i + ctx->setOutputArray(1, NDArrayFactory::create('c', {seqLength, m, n})); //c + ctx->setOutputArray(2, NDArrayFactory::create('c', {seqLength, m, n})); //f + ctx->setOutputArray(3, NDArrayFactory::create('c', {seqLength, m, n})); //o + ctx->setOutputArray(4, NDArrayFactory::create('c', {seqLength, m, n})); //z + ctx->setOutputArray(5, NDArrayFactory::create('c', {seqLength, m, n})); //h + ctx->setOutputArray(6, NDArrayFactory::create('c', {seqLength, m, n})); //y } else { //NST format - ctx->setInputArray(1, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //x - ctx->setOutputArray(0, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //i - ctx->setOutputArray(1, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //c - ctx->setOutputArray(2, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //f - ctx->setOutputArray(3, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //o - ctx->setOutputArray(4, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //z - ctx->setOutputArray(5, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //h - ctx->setOutputArray(6, NDArrayFactory::create('f', {m, n, seqLength}).dup(), true); //y + ctx->setInputArray(1, NDArrayFactory::create('f', {m, n, seqLength})); //x + ctx->setOutputArray(0, NDArrayFactory::create('f', {m, n, seqLength})); //i + ctx->setOutputArray(1, NDArrayFactory::create('f', {m, n, seqLength})); //c + ctx->setOutputArray(2, NDArrayFactory::create('f', {m, n, seqLength})); //f + ctx->setOutputArray(3, NDArrayFactory::create('f', {m, n, seqLength})); //o + ctx->setOutputArray(4, NDArrayFactory::create('f', {m, n, seqLength})); //z + ctx->setOutputArray(5, NDArrayFactory::create('f', {m, n, seqLength})); //h + ctx->setOutputArray(6, NDArrayFactory::create('f', {m, n, seqLength})); //y } auto cLast = NDArrayFactory::create('c', {m, n}); @@ -528,13 +529,13 @@ namespace sd { auto Wco = NDArrayFactory::create('c', {n}); auto b = NDArrayFactory::create('c', {4 * n}); - ctx->setInputArray(2, cLast.dup(), true); - ctx->setInputArray(3, yLast.dup(), true); - ctx->setInputArray(4, W.dup(), true); - ctx->setInputArray(5, Wci.dup(), true); - ctx->setInputArray(6, Wcf.dup(), true); - ctx->setInputArray(7, Wco.dup(), true); - ctx->setInputArray(8, b.dup(), true); + ctx->setInputArray(2, cLast); + ctx->setInputArray(3, yLast); + ctx->setInputArray(4, W); + ctx->setInputArray(5, Wci); + ctx->setInputArray(6, Wcf); + ctx->setInputArray(7, Wco); + ctx->setInputArray(8, b); std::vector iargs(2); iargs[0] = 0; //No peephole @@ -570,15 +571,15 @@ namespace sd { auto ctx = new Context(1); ctx->setInputArray(0, arr, true); if(a == 0){ - ctx->setInputArray(1, NDArrayFactory::create('c', {rows, 1}).dup(), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {rows, 1})); } else { - ctx->setInputArray(1, NDArrayFactory::create('c', {1, p.getIntParam("cols")}).dup(), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {1, p.getIntParam("cols")})); } if (p.getIntParam("inplace") == 1) { ctx->setOutputArray(0, arr); ctx->markInplace(true); } else { - ctx->setOutputArray(0, NDArrayFactory::create('c', {rows, p.getIntParam("cols")}).dup(), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {rows, p.getIntParam("cols")})); } return ctx; }; diff --git a/libnd4j/tests_cpu/layers_tests/LaunchContextCudaTests.cu b/libnd4j/tests_cpu/layers_tests/LaunchContextCudaTests.cu index e16df80e680c..74ce69e1ad4d 100644 --- a/libnd4j/tests_cpu/layers_tests/LaunchContextCudaTests.cu +++ b/libnd4j/tests_cpu/layers_tests/LaunchContextCudaTests.cu @@ -66,15 +66,15 @@ TEST_F(LaunchContextCudaTests, basic_test_1) { ASSERT_NE(deviceA, deviceB); } -void fillArray(int tid, std::vector &arrays) { - auto array = NDArrayFactory::create_('c', {3, 10}); +void fillArray(int tid, std::vector &arrays) { + auto array = NDArrayFactory::create('c', {3, 10}); nd4j_printf("Array created on device [%i]\n", AffinityManager::currentDeviceId()); - array->assign(tid); + array.assign(tid); arrays[tid] = array; } TEST_F(LaunchContextCudaTests, basic_test_2) { - std::vector arrays(2); + std::vector arrays(2); std::thread threadA(fillArray, 0, std::ref(arrays)); std::thread threadB(fillArray, 1, std::ref(arrays)); @@ -84,9 +84,7 @@ TEST_F(LaunchContextCudaTests, basic_test_2) { for (int e = 0; e < 2; e++) { auto array = arrays[e]; - ASSERT_EQ(e, array->e(0)); - - delete array; + ASSERT_EQ(e, array.e(0)); } } diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu b/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu index 24ac087d1673..ac512b8c265a 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu +++ b/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu @@ -137,33 +137,29 @@ TEST_F(NDArrayConstructorsTests, test_constructor_7) { } TEST_F(NDArrayConstructorsTests, test_constructor_8) { - auto x = NDArrayFactory::create_('c',{2, 2}, {1, 2, 3, 4}); - - ASSERT_TRUE(x->buffer() == nullptr); - ASSERT_FALSE(x->specialBuffer() == nullptr); + auto x = NDArrayFactory::create('c',{2, 2}, {1, 2, 3, 4}); - ASSERT_FALSE(x->shapeInfo() == nullptr); - ASSERT_FALSE(x->specialShapeInfo() == nullptr); + ASSERT_TRUE(x.buffer() == nullptr); + ASSERT_FALSE(x.specialBuffer() == nullptr); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_FALSE(x->isActualOnHostSide()); + ASSERT_FALSE(x.shapeInfo() == nullptr); + ASSERT_FALSE(x.specialShapeInfo() == nullptr); - delete x; + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayConstructorsTests, test_constructor_9) { - auto x = NDArrayFactory::create_('c',{2, 2}); + auto x = NDArrayFactory::create('c',{2, 2}); - ASSERT_TRUE(x->buffer() == nullptr); - ASSERT_FALSE(x->specialBuffer() == nullptr); - - ASSERT_FALSE(x->shapeInfo() == nullptr); - ASSERT_FALSE(x->specialShapeInfo() == nullptr); + ASSERT_TRUE(x.buffer() == nullptr); + ASSERT_FALSE(x.specialBuffer() == nullptr); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_FALSE(x->isActualOnHostSide()); + ASSERT_FALSE(x.shapeInfo() == nullptr); + ASSERT_FALSE(x.specialShapeInfo() == nullptr); - delete x; + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayConstructorsTests, test_linspace_1) { diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu b/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu index f95705f08e93..fb6d87829b5e 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu +++ b/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu @@ -98,62 +98,54 @@ TEST_F(NDArrayCudaBasicsTests, Test_Registration_3) { } TEST_F(NDArrayCudaBasicsTests, Test_Registration_01) { - auto x = NDArrayFactory::create_('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create_('c', {5}, {5, 4, 3, 2, 1}); + auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create('c', {5}, {5, 4, 3, 2, 1}); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_FALSE(x->isActualOnHostSide()); - delete x; - delete y; + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayCudaBasicsTests, Test_Registration_02) { - auto x = NDArrayFactory::create_('c', {5}); - auto y = NDArrayFactory::create_('c', {5}); + auto x = NDArrayFactory::create('c', {5}); + auto y = NDArrayFactory::create('c', {5}); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_FALSE(x->isActualOnHostSide()); - delete x; - delete y; + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayCudaBasicsTests, Test_Registration_03) { - auto x = NDArrayFactory::create_('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create_('c', {5}, {5, 4, 3, 2, 1}); + auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create('c', {5}, {5, 4, 3, 2, 1}); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_FALSE(x->isActualOnHostSide()); + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_FALSE(x.isActualOnHostSide()); - NDArray::registerSpecialUse({y}, {x}); - x->applyTransform(transform::Neg, *y); - //ASSERT_TRUE(x->isActualOnDeviceSide()); - //ASSERT_FALSE(x->isActualOnHostSide()); + NDArray::registerSpecialUse({&y}, {&x}); + x.applyTransform(transform::Neg, y); + //ASSERT_TRUE(x.isActualOnDeviceSide()); + //ASSERT_FALSE(x.isActualOnHostSide()); - //ASSERT_TRUE(y->isActualOnDeviceSide()); - //ASSERT_TRUE(y->isActualOnHostSide()); + //ASSERT_TRUE(y.isActualOnDeviceSide()); + //ASSERT_TRUE(y.isActualOnHostSide()); //y->syncToHost(); // y->printBuffer("Negatives"); - delete x; - delete y; } TEST_F(NDArrayCudaBasicsTests, Test_Cosine_1) { - auto x = NDArrayFactory::create_('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create_('c', {5}, {5, 4, 3, 2, 1}); + auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create('c', {5}, {5, 4, 3, 2, 1}); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_FALSE(x->isActualOnHostSide()); + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_FALSE(x.isActualOnHostSide()); - NDArray::registerSpecialUse({y}, {x}); - x->applyTransform(transform::Cosine, *y); - //ASSERT_TRUE(x->isActualOnDeviceSide()); - //ASSERT_FALSE(x->isActualOnHostSide()); + NDArray::registerSpecialUse({&y}, {&x}); + x.applyTransform(transform::Cosine, y); + //ASSERT_TRUE(x.isActualOnDeviceSide()); + //ASSERT_FALSE(x.isActualOnHostSide()); //ASSERT_TRUE(y->isActualOnDeviceSide()); //ASSERT_TRUE(y->isActualOnHostSide()); //y->syncToHost(); - delete x; - delete y; } ////////////////////////////////////////////////////////////////////////// @@ -1432,44 +1424,38 @@ TEST_F(NDArrayCudaBasicsTests, reduceAlongDimension_float_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, EqualityTest1) { - auto arrayA = NDArrayFactory::create_('f', {3, 5}); - auto arrayB = NDArrayFactory::create_('f', {3, 5}); - auto arrayC = NDArrayFactory::create_('f', {3, 5}); + auto arrayA = NDArrayFactory::create('f', {3, 5}); + auto arrayB = NDArrayFactory::create('f', {3, 5}); + auto arrayC = NDArrayFactory::create('f', {3, 5}); - auto arrayD = NDArrayFactory::create_('f', {2, 4}); - auto arrayE = NDArrayFactory::create_('f', {1, 15}); + auto arrayD = NDArrayFactory::create('f', {2, 4}); + auto arrayE = NDArrayFactory::create('f', {1, 15}); - for (int i = 0; i < arrayA->rows(); i++) { - for (int k = 0; k < arrayA->columns(); k++) { - arrayA->p(i, k, (float) i); + for (int i = 0; i < arrayA.rows(); i++) { + for (int k = 0; k < arrayA.columns(); k++) { + arrayA.p(i, k, (float) i); } } for (int i = 0; i < arrayB->rows(); i++) { for (int k = 0; k < arrayB->columns(); k++) { - arrayB->p(i, k, (float) i); + arrayB.p(i, k, (float) i); } } - for (int i = 0; i < arrayC->rows(); i++) { - for (int k = 0; k < arrayC->columns(); k++) { - arrayC->p(i, k, (float) i+1); + for (int i = 0; i < arrayC.rows(); i++) { + for (int k = 0; k < arrayC.columns(); k++) { + arrayC.p(i, k, (float) i+1); } } - ASSERT_TRUE(arrayA->equalsTo(arrayB, 1e-5)); + ASSERT_TRUE(arrayA.equalsTo(arrayB, 1e-5)); - ASSERT_FALSE(arrayC->equalsTo(arrayB, 1e-5)); + ASSERT_FALSE(arrayC.equalsTo(arrayB, 1e-5)); - ASSERT_FALSE(arrayD->equalsTo(arrayB, 1e-5)); + ASSERT_FALSE(arrayD.equalsTo(arrayB, 1e-5)); - ASSERT_FALSE(arrayE->equalsTo(arrayB, 1e-5)); - - delete arrayA; - delete arrayB; - delete arrayC; - delete arrayD; - delete arrayE; + ASSERT_FALSE(arrayE.equalsTo(arrayB, 1e-5)); } //////////////////////////////////////////////////////////////////////////////// @@ -2092,17 +2078,17 @@ TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_02) { auto x = NDArrayFactory::linspace(1.f, 60.f, 60); //('c', {1, 60}); //x.linspace(1); auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); - x->reshapei('c', {3, 4, 5}); + x.reshapei('c', {3, 4, 5}); - x->permutei({0, 1, 2}); - x->streamline(); + x.permutei({0, 1, 2}); + x.streamline(); // x.printShapeInfo("{0, 1, 2} shape"); // x.printBuffer("{0, 1, 2} data"); ASSERT_TRUE(exp.isSameShape(x)); ASSERT_TRUE(exp.equalsTo(x)); - delete x; +// delete x; } TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_0) { @@ -2178,9 +2164,9 @@ TEST_F(NDArrayCudaBasicsTests, Test_Empty_1) { } TEST_F(NDArrayCudaBasicsTests, Test_Empty_2) { - auto x = NDArrayFactory::empty_(); + auto x = NDArrayFactory::empty(); - ASSERT_TRUE(x->isEmpty()); + ASSERT_TRUE(x.isEmpty()); delete x; } @@ -2190,9 +2176,3 @@ TEST_F(NDArrayCudaBasicsTests, Test_Empty_3) { ASSERT_TRUE(x.isEmpty()); } -TEST_F(NDArrayCudaBasicsTests, Test_Empty_4) { - auto x = NDArrayFactory::empty_(sd::DataType::FLOAT32); - - ASSERT_TRUE(x->isEmpty()); - delete x; -} \ No newline at end of file From b5fca36444ef197e22aeb7a96e4cc7e77490a20a Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 8 Jun 2020 17:15:39 +0300 Subject: [PATCH 24/99] Refactored benchmarks with new elementar base. Signed-off-by: shugeo --- .../benchmarking/impl/FullBenchmarkSuit.cpp | 304 +++++++++--------- .../benchmarking/impl/LightBenchmarkSuit.cpp | 26 +- 2 files changed, 161 insertions(+), 169 deletions(-) diff --git a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp index 84220dc75820..8563e39f3ab0 100644 --- a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp @@ -509,30 +509,29 @@ namespace sd { if (n == 0) { auto input = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); auto output = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); } else { auto input = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); auto output = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); } auto b = NDArrayFactory::create('c', {p.getIntParam("c")}); auto w = NDArrayFactory::create('c', {khw, khw, p.getIntParam("c"), p.getIntParam("c")}); // [kH, kW, iC, oC] always - ctx->setInputArray(1, w, true); - ctx->setInputArray(2, b, true); + ctx->setInputArray(1, w); + ctx->setInputArray(2, b); - auto args = new Nd4jLong[10]; + std::vector args(10); args[0] = args[1] = khw; //Kernel args[2] = args[3] = 1;//Stride args[4] = args[5] = 0; //Pad args[6] = args[7] = 1; //Dilation args[8] = 1; //SAME args[9] = n;//0-nchw, 1=nhwc - ctx->setIArguments(args, 10); - delete[] args; + ctx->setIArguments(args.data(), 10); return ctx; }; @@ -552,8 +551,8 @@ namespace sd { auto gen01 = PARAMETRIC_D() { auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', {2},{1, p.getIntParam("length")}), true); //Shape as NDArray - ctx->setOutputArray(0, NDArrayFactory::create('c', {1, p.getIntParam("length")}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {2},{1, p.getIntParam("length")})); //Shape as NDArray + ctx->setOutputArray(0, NDArrayFactory::create('c', {1, p.getIntParam("length")})); auto d = new double[2]; d[0] = 0.0; d[1] = 1.0; @@ -564,8 +563,8 @@ namespace sd { auto gen05 = PARAMETRIC_D() { auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', {2},{1, p.getIntParam("length")}), true); //Shape as NDArray - ctx->setOutputArray(0, NDArrayFactory::create('c', {1, p.getIntParam("length")}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {2},{1, p.getIntParam("length")})); //Shape as NDArray + ctx->setOutputArray(0, NDArrayFactory::create('c', {1, p.getIntParam("length")})); auto d = new double[1]; d[0] = 0.5; ctx->setTArguments(d, 1); @@ -642,9 +641,9 @@ namespace sd { auto B = NDArrayFactory::create('c', shapeB); auto C = NDArrayFactory::create('f', {a, c}); - x.push_back(A); - y.push_back(B); - z.push_back(C); + x.push_back(new NDArray(A)); + y.push_back(new NDArray(B)); + z.push_back(new NDArray(C)); }; std::string n; @@ -678,9 +677,9 @@ namespace sd { auto B = NDArrayFactory::create('c', shapeB); auto C = NDArrayFactory::create('f', {a, c}); - x.push_back(A); - y.push_back(B); - z.push_back(C); + x.push_back(new NDArray(A)); + y.push_back(new NDArray(B)); + z.push_back(new NDArray(C)); }; std::string n2; @@ -714,9 +713,9 @@ namespace sd { auto B = NDArrayFactory::create('c', shapeB); auto C = NDArrayFactory::create('f', {a, c}); - x.push_back(A); - y.push_back(B); - z.push_back(C); + x.push_back(new NDArray(A)); + y.push_back(new NDArray(B)); + z.push_back(new NDArray(C)); }; std::string n3; @@ -752,13 +751,13 @@ namespace sd { auto ctx = new Context(1); if(rank == 3){ - ctx->setInputArray(0, NDArrayFactory::create('c', {32, 1024, 1024}), true); - ctx->setInputArray(1, NDArrayFactory::create('c', {32, 1024, 1024}), true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {32, 1024, 1024}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {32, 1024, 1024})); + ctx->setInputArray(1, NDArrayFactory::create('c', {32, 1024, 1024})); + ctx->setOutputArray(0, NDArrayFactory::create('c', {32, 1024, 1024})); } else { - ctx->setInputArray(0, NDArrayFactory::create('c', {4, 8, 1024, 1024}), true); - ctx->setInputArray(1, NDArrayFactory::create('c', {4, 8, 1024, 1024}), true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {4, 8, 1024, 1024}), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {4, 8, 1024, 1024})); + ctx->setInputArray(1, NDArrayFactory::create('c', {4, 8, 1024, 1024})); + ctx->setOutputArray(0, NDArrayFactory::create('c', {4, 8, 1024, 1024})); } return ctx; @@ -791,9 +790,9 @@ namespace sd { auto B = NDArrayFactory::create('c', {s, s}); auto C = NDArrayFactory::create(resultOrder, {s, s}); - x.push_back(A); - y.push_back(B); - z.push_back(C); + x.push_back(new NDArray(A)); + y.push_back(new NDArray(B)); + z.push_back(new NDArray(C)); }; std::string n; @@ -838,13 +837,13 @@ namespace sd { srand(12345); std::random_shuffle(a, (a + length-1)); for( int i=0; ip(i, a[i]); + indices.p(i, a[i]); } delete[] a; - ctx->setInputArray(0, in, true); - ctx->setInputArray(1, indices, true); - ctx->setInputArray(2, updates, true); + ctx->setInputArray(0, in); + ctx->setInputArray(1, indices); + ctx->setInputArray(2, updates); ctx->setOutputArray(0, in); //Needs to be inplace to avoid copy! ctx->markInplace(true); return ctx; @@ -873,13 +872,13 @@ namespace sd { srand(12345); std::random_shuffle(a, (a + rows-1)); for( int i=0; ip(i, a[i]); + indices.p(i, a[i]); } delete[] a; - ctx->setInputArray(0, in, true); - ctx->setInputArray(1, indices, true); - ctx->setInputArray(2, updates, true); + ctx->setInputArray(0, in); + ctx->setInputArray(1, indices); + ctx->setInputArray(2, updates); ctx->setOutputArray(0, in); //Needs to be inplace to avoid copy! ctx->markInplace(true); return ctx; @@ -908,13 +907,13 @@ namespace sd { srand(12345); std::random_shuffle(a, (a + sz0-1)); for( int i=0; ip(i, a[i]); + indices.p(i, a[i]); } delete[] a; - ctx->setInputArray(0, in, true); - ctx->setInputArray(1, indices, true); - ctx->setInputArray(2, updates, true); + ctx->setInputArray(0, in); + ctx->setInputArray(1, indices); + ctx->setInputArray(2, updates); ctx->setOutputArray(0, in); //Needs to be inplace to avoid copy! ctx->markInplace(true); return ctx; @@ -946,13 +945,13 @@ namespace sd { srand(12345); std::random_shuffle(a, (a + length-1)); for( int i=0; ip(i, a[i]); + indices.p(i, a[i]); } delete[] a; - ctx->setInputArray(0, in, true); - ctx->setInputArray(1, indices, true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {length}), true); + ctx->setInputArray(0, in); + ctx->setInputArray(1, indices); + ctx->setOutputArray(0, NDArrayFactory::create('c', {length})); return ctx; }; @@ -978,13 +977,13 @@ namespace sd { srand(12345); std::random_shuffle(a, (a + rows-1)); for( int i=0; ip(i, a[i]); + indices.p(i, a[i]); } delete[] a; - ctx->setInputArray(0, in, true); - ctx->setInputArray(1, indices, true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {rows, cols}), true); + ctx->setInputArray(0, in); + ctx->setInputArray(1, indices); + ctx->setOutputArray(0, NDArrayFactory::create('c', {rows, cols})); return ctx; }; @@ -1010,13 +1009,13 @@ namespace sd { srand(12345); std::random_shuffle(a, (a + sz0-1)); for( int i=0; ip(i, a[i]); + indices.p(i, a[i]); } delete[] a; - ctx->setInputArray(0, in, true); - ctx->setInputArray(1, indices, true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {sz0, sz1, 512/sz1}), true); + ctx->setInputArray(0, in); + ctx->setInputArray(1, indices); + ctx->setOutputArray(0, NDArrayFactory::create('c', {sz0, sz1, 512/sz1})); return ctx; }; @@ -1042,8 +1041,8 @@ namespace sd { auto arr = NDArrayFactory::create(c ? 'c' : 'f', {rows, cols}); auto arr2 = NDArrayFactory::create(c ? 'f' : 'c', {rows, cols}); - x.push_back(arr); - z.push_back(arr2); + x.push_back(new NDArray(arr)); + z.push_back(new NDArray(arr2)); }; TransformBenchmark tb(transform::AnyOps::Assign, "assign"); @@ -1057,14 +1056,14 @@ namespace sd { if(nchw) { auto orig = NDArrayFactory::create('c', {16, 32, 64, 64}); - orig->permutei({0,2,3,1}); - x.push_back(orig); - z.push_back(NDArrayFactory::create('c', {16, 64, 64, 32})); + orig.permutei({0,2,3,1}); + x.push_back(new NDArray(orig.dup())); + z.push_back(new NDArray(NDArrayFactory::create('c', {16, 64, 64, 32}))); } else { auto orig = NDArrayFactory::create('c', {16, 64, 64, 32}); - orig->permutei({0,3,1,2}); - x.push_back(orig); - z.push_back(NDArrayFactory::create('c', {16, 32, 64, 64})); + orig.permutei({0,3,1,2}); + x.push_back(new NDArray(orig)); + z.push_back(new NDArray(NDArrayFactory::create('c', {16, 32, 64, 64}))); } }; @@ -1156,9 +1155,9 @@ namespace sd { } auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', shape), true); - ctx->setInputArray(1, NDArrayFactory::create('c', toBcShape), true); - ctx->setOutputArray(0, NDArrayFactory::create('c', shape), true); + ctx->setInputArray(0, NDArrayFactory::create('c', shape)); + ctx->setInputArray(1, NDArrayFactory::create('c', toBcShape)); + ctx->setOutputArray(0, NDArrayFactory::create('c', shape)); return ctx; }; @@ -1191,17 +1190,17 @@ namespace sd { auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); auto ctx = new Context(1); - ctx->setInputArray(0, arr, true); + ctx->setInputArray(0, arr); if(a == 0){ - ctx->setInputArray(1, NDArrayFactory::create('c', {p.getIntParam("rows"), 1}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {p.getIntParam("rows"), 1})); } else { - ctx->setInputArray(1, NDArrayFactory::create('c', {1, p.getIntParam("cols")}), true); + ctx->setInputArray(1, NDArrayFactory::create('c', {1, p.getIntParam("cols")})); } if (p.getIntParam("inplace") == 1) { ctx->setOutputArray(0, arr); ctx->markInplace(true); } else { - ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")})); } return ctx; }; @@ -1227,16 +1226,16 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); - x.push_back(arr); + x.push_back(new NDArray(arr)); if(axis == 0){ - y.push_back(NDArrayFactory::create('c', {p.getIntParam("rows")})); + y.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("rows")}))); } else { - y.push_back(NDArrayFactory::create('c', {p.getIntParam("cols")})); + y.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("cols")}))); } if (p.getIntParam("inplace") == 1) { - z.push_back(arr); + z.push_back(new NDArray(arr)); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")})); + z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}))); } }; @@ -1265,9 +1264,9 @@ namespace sd { //Note: always inplace here auto generator = PARAMETRIC_XYZ() { auto arr = NDArrayFactory::create('c', shape); - x.push_back(arr); - y.push_back(NDArrayFactory::create('c', {vectorLength})); - z.push_back(arr); + x.push_back(new NDArray(arr)); + y.push_back(new NDArray(NDArrayFactory::create('c', {vectorLength}))); + z.push_back(new NDArray(arr)); }; std::string name("bArr-r"); name += std::to_string(rank); name += "a"; name += std::to_string(axis); @@ -1295,17 +1294,16 @@ namespace sd { NDArray* strided; if(stride == 1){ - strided = arr; + strided = new NDArray(arr); } else { IndicesList indices({NDIndex::interval(0,131072), NDIndex::interval(0,1)}); - strided = new NDArray(arr->subarray(indices)); //All rows, first column - delete arr; + strided = new NDArray(arr.subarray(indices)); //All rows, first column } strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); - z.push_back(NDArrayFactory::create(0.0f)); + z.push_back(new NDArray(NDArrayFactory::create(0.0f))); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "stridedSum"); @@ -1319,17 +1317,16 @@ namespace sd { NDArray* strided; if(stride == 1){ - strided = arr; + strided = new NDArray(arr); } else { IndicesList indices({NDIndex::interval(0,2*1024,2), NDIndex::all(), NDIndex::interval(0,1)}); - strided = new NDArray(arr->subarray(indices)); - delete arr; + strided = new NDArray(arr.subarray(indices)); } strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); - z.push_back(NDArrayFactory::create(0.0f)); + z.push_back(new NDArray(NDArrayFactory::create(0.0f))); }; ReductionBenchmark rbSum2(reduce::SameOps::Sum, "stridedSumNoEWS"); @@ -1355,17 +1352,16 @@ namespace sd { NDArray* strided; if(stride == 1){ - strided = arr; + strided = new NDArray(arr); } else { IndicesList indices({NDIndex::all(), NDIndex::interval(0,1)}); - strided = new NDArray(arr->subarray(indices)); //All rows, first column - delete arr; + strided = new NDArray(arr.subarray(indices)); //All rows, first column } strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); - z.push_back(NDArrayFactory::create(0.0f)); + z.push_back(new NDArray(NDArrayFactory::create(0.0f))); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "stridedSum"); @@ -1390,18 +1386,16 @@ namespace sd { NDArray* strided; if(stride == 1){ - strided = arr; + strided = new NDArray(arr); } else { IndicesList indices({NDIndex::all(), NDIndex::point(0)}); - strided = new NDArray(arr->subarray(indices)); //All rows, first column - delete arr; + strided = new NDArray(arr.subarray(indices)); //All rows, first column } strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); -// z.push_back(NDArrayFactory::create(0.0f)); - z.push_back(NDArrayFactory::create('c', {1})); + z.push_back(new NDArray(NDArrayFactory::create('c', {1}))); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "Strided Sum"); @@ -1415,16 +1409,15 @@ namespace sd { NDArray* strided; if(stride == 1){ - strided = arr; + strided = new NDArray(arr); } else { IndicesList indices({NDIndex::all(), NDIndex::point(0)}); - strided = new NDArray(arr->subarray(indices)); //All rows, first column - delete arr; + strided = new NDArray(arr.subarray(indices)); //All rows, first column } strided->assign(1.0); ctx->setInputArray(0, strided, true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {1}), true); + ctx->setOutputArray(0, NDArrayFactory::create('c', {1})); auto iargs = new Nd4jLong[1]; iargs[0] = 0; ctx->setIArguments(iargs, 1); @@ -1460,16 +1453,16 @@ namespace sd { auto arr = NDArrayFactory::create('c', {rows, cols}); - x.push_back(arr); - y.push_back(NDArrayFactory::create(dim)); + x.push_back(new NDArray(arr)); + y.push_back(new NDArray(NDArrayFactory::create(dim))); - NDArray* result; + NDArray result; if(dim == 0){ result = NDArrayFactory::create('c', {cols}); } else { result = NDArrayFactory::create('c', {rows}); } - z.push_back(result); + z.push_back(new NDArray(result)); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -1493,15 +1486,15 @@ namespace sd { ctx->setIArguments(dimArg, 1); delete[] dimArg; - ctx->setInputArray(0, arr, true); + ctx->setInputArray(0, arr); - NDArray* result; + NDArray result; if(dim == 0){ result = NDArrayFactory::create('c', {cols}); } else { result = NDArrayFactory::create('c', {rows}); } - ctx->setOutputArray(0, result, true); + ctx->setOutputArray(0, result); return ctx; }; @@ -1527,9 +1520,9 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); - x.push_back(arr); + x.push_back(new NDArray(arr)); y.push_back(nullptr); - z.push_back(NDArrayFactory::create(0.0f)); + z.push_back(new NDArray(NDArrayFactory::create(0.0f))); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -1542,9 +1535,9 @@ namespace sd { auto generator3 = PARAMETRIC_D(){ auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")}), true); - ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0), true); - ctx->setOutputArray(0, NDArrayFactory::create(0), true); + ctx->setInputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")})); + ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0)); + ctx->setOutputArray(0, NDArrayFactory::create(0)); return ctx; }; @@ -1563,21 +1556,20 @@ namespace sd { auto generator = PARAMETRIC_XZ() { int r = p.getIntParam("rowcol"); - auto arr = NDArrayFactory::create('c', {r, r+1}); + auto arr = NDArrayFactory::create('c', {r, r + 1}); IndicesList indices({NDIndex::all(), NDIndex::interval(0,r-1)}); - auto view = new NDArray(arr->subarray(indices)); + auto view = new NDArray(arr.subarray(indices)); //nd4j_printf("VIEW ARRAY: rows=%lld, columns=%lld", view->sizeAt(0), view->sizeAt(1)); x.push_back(view); if(p.getIntParam("inplace") == 1){ z.push_back(view); } else { - z.push_back(NDArrayFactory::create('c', {view->sizeAt(0),view->sizeAt(1)})); + z.push_back(new NDArray(NDArrayFactory::create('c', {view->sizeAt(0),view->sizeAt(1)}))); } - delete arr; }; ScalarBenchmark sbLRelu(scalar::Ops::LeakyRELU, "LeakyRELU_View"); - sbLRelu.setY(NDArrayFactory::create(0.0)); + sbLRelu.setY(new NDArray(NDArrayFactory::create(0.0))); TransformBenchmark tbExp(transform::StrictOps::Exp, "exp view"); @@ -1598,12 +1590,12 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto arr1 = NDArrayFactory::create('c', {p.getIntParam("length")}); auto arr2 = NDArrayFactory::create('c', {p.getIntParam("length")}); - x.push_back(arr1); - y.push_back(arr2); + x.push_back(new NDArray(arr1)); + y.push_back(new NDArray(arr2)); if(p.getIntParam("inplace") == 1){ - z.push_back(arr1); + z.push_back(new NDArray(arr1)); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); + z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); } }; @@ -1626,12 +1618,12 @@ namespace sd { auto generator = PARAMETRIC_XZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); - arr->assign(1.0); - x.push_back(arr); + arr.assign(1.0); + x.push_back(new NDArray(arr)); if (p.getIntParam("inplace") == 1) { - z.push_back(arr); + z.push_back(new NDArray(arr)); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); + z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); } }; @@ -1645,12 +1637,12 @@ namespace sd { auto generator2 = PARAMETRIC_D() { auto ctx = new Context(1); auto in0 = NDArrayFactory::create('c', {p.getIntParam("length")}); - in0->assign(0.25); + in0.assign(0.25); auto in1 = NDArrayFactory::create('c', {p.getIntParam("length")}); - in1->assign(0.5); - ctx->setInputArray(0, in0, true); - ctx->setInputArray(1, in1, true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")}), true); + in1.assign(0.5); + ctx->setInputArray(0, in0); + ctx->setInputArray(1, in1); + ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")})); return ctx; }; @@ -1662,15 +1654,15 @@ namespace sd { auto generator3 = PARAMETRIC_D() { auto ctx = new Context(1); auto in0 = NDArrayFactory::create('c', {p.getIntParam("length")}); - in0->assign(0.25); + in0.assign(0.25); auto in1 = NDArrayFactory::create('c', {p.getIntParam("length")}); - in1->assign(0.5); + in1.assign(0.5); auto in2 = NDArrayFactory::create('c', {p.getIntParam("length")}); - in2->assign(0.75); - ctx->setInputArray(0, in0, true); - ctx->setInputArray(1, in1, true); - ctx->setInputArray(2, in2, true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")}), true); + in2.assign(0.75); + ctx->setInputArray(0, in0); + ctx->setInputArray(1, in1); + ctx->setInputArray(2, in2); + ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")})); return ctx; }; @@ -1692,12 +1684,12 @@ namespace sd { auto generator = PARAMETRIC_XZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); - arr->assign(1.0); - x.push_back(arr); + arr.assign(1.0); + x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ - z.push_back(arr); + z.push_back(new NDArray(arr)); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); + z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); } }; @@ -1716,12 +1708,12 @@ namespace sd { auto generator2 = PARAMETRIC_XZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); - arr->assign(1.0); - x.push_back(arr); + arr.assign(1.0); + x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ - z.push_back(arr); + z.push_back(new NDArray(arr)); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")})); + z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}))); } }; @@ -1742,17 +1734,17 @@ namespace sd { auto generator = PARAMETRIC_XZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); - arr->assign(1.0); - x.push_back(arr); + arr.assign(1.0); + x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ - z.push_back(arr); + z.push_back(new NDArray(arr)); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); + z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); } }; ScalarBenchmark sbLRelu(scalar::Ops::LeakyRELU, "LeakyRELU"); - sbLRelu.setY(NDArrayFactory::create(0.0)); + sbLRelu.setY(new NDArray(NDArrayFactory::create(0.0))); TransformBenchmark tbAbs(transform::SameOps::Abs, "abs"); TransformBenchmark tbExp(transform::StrictOps::Exp, "exp"); @@ -1775,12 +1767,12 @@ namespace sd { auto generator = PARAMETRIC_XZ() { auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); - arr->assign(1.0); - x.push_back(arr); + arr.assign(1.0); + x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ - z.push_back(arr); + z.push_back(new NDArray(arr)); } else { - z.push_back(NDArrayFactory::create('c', {p.getIntParam("length")})); + z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); } }; @@ -1789,9 +1781,9 @@ namespace sd { ScalarBenchmark sbPow(scalar::Ops::Pow, "sPow"); - sbAdd.setY(NDArrayFactory::create(3.14159265359)); - sbDiv.setY(NDArrayFactory::create(3.14159265359)); - sbPow.setY(NDArrayFactory::create(3.14159265359)); + sbAdd.setY(new NDArray(NDArrayFactory::create(3.14159265359))); + sbDiv.setY(new NDArray(NDArrayFactory::create(3.14159265359))); + sbPow.setY(new NDArray(NDArrayFactory::create(3.14159265359))); output += helper.runOperationSuit(&sbAdd, generator, batch, "Scalar Addition - x.add(3.14159265359) - F32"); diff --git a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp index c9a000e3c79d..57f55d314edc 100644 --- a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp @@ -50,7 +50,7 @@ namespace sd { arr.assign(1.0); x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ - z.push_back(arr); + z.push_back(new NDArray(arr)); } else { auto arrV = NDArrayFactory::create('c', {p.getIntParam("length")}); z.push_back(new NDArray(arrV)); @@ -58,7 +58,7 @@ namespace sd { }; ScalarBenchmark sbRelu(scalar::Ops::RELU, "RELU"); - sbRelu.setY(NDArrayFactory::create(0.0)); + sbRelu.setY(new NDArray(NDArrayFactory::create(0.0))); TransformBenchmark tbSigmoid(transform::StrictOps::Sigmoid, "sigmoid"); //TransformBenchmark tbSoftmax(transform::StrictOps::SoftMax, "softmax"); @@ -99,9 +99,9 @@ namespace sd { ScalarBenchmark sbPow(scalar::Ops::Pow, "sPow"); - sbAdd.setY(NDArrayFactory::create(3.14159265359)); - sbDiv.setY(NDArrayFactory::create(3.14159265359)); - sbPow.setY(NDArrayFactory::create(3.14159265359)); + sbAdd.setY(new NDArray(NDArrayFactory::create(3.14159265359))); + sbDiv.setY(new NDArray(NDArrayFactory::create(3.14159265359))); + sbPow.setY(new NDArray(NDArrayFactory::create(3.14159265359))); output += helper.runOperationSuit(&sbAdd, generator, batch, "Scalar Addition - x.add(3.14159265359)"); @@ -253,7 +253,7 @@ namespace sd { x.push_back(new NDArray(arr)); y.push_back(nullptr); - z.push_back(NDArray(NDArrayFactory::create(0.0f))); + z.push_back(new NDArray(NDArrayFactory::create(0.0f))); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -387,20 +387,20 @@ namespace sd { if (n == 0) { auto input = NDArrayFactory::create('c', {8, 3, hw, hw}); auto output = NDArrayFactory::create('c', {8, 3, hw, hw}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); } else { auto input = NDArrayFactory::create('c', {8, hw, hw, 3}); auto output = NDArrayFactory::create('c', {8, hw, hw, 3}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + ctx->setInputArray(0, input); + ctx->setOutputArray(0, output); } auto b = NDArrayFactory::create('c', {3}); auto w = NDArrayFactory::create('c', {khw, khw, 3, 3}); // [kH, kW, iC, oC] always - ctx->setInputArray(1, w, true); - ctx->setInputArray(2, b, true); + ctx->setInputArray(1, w); + ctx->setInputArray(2, b); auto args = new Nd4jLong[10]; args[0] = args[1] = khw; //Kernel @@ -569,7 +569,7 @@ namespace sd { auto arr = NDArrayFactory::create('c', {rows, p.getIntParam("cols")}); auto ctx = new Context(1); - ctx->setInputArray(0, arr, true); + ctx->setInputArray(0, arr); if(a == 0){ ctx->setInputArray(1, NDArrayFactory::create('c', {rows, 1})); } else { From d8cfcdb358c1b71efde1092f2d39f51b6c14a47d Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 8 Jun 2020 18:21:08 +0300 Subject: [PATCH 25/99] Adopted tests to non-pointer arrays. Signed-off-by: shugeo --- .../layers_tests/BooleanOpsTests.cpp | 9 ++--- .../layers_tests/ConditionalTests.cpp | 8 ++--- .../layers_tests/ConstantShapeHelperTests.cpp | 4 +-- .../tests_cpu/layers_tests/ContextTests.cpp | 36 +++++++++---------- .../layers_tests/ConvolutionTests1.cpp | 20 +++++------ .../layers_tests/ConvolutionTests2.cpp | 22 ++++++------ 6 files changed, 46 insertions(+), 53 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp index f830ab94a246..f03ad0c13572 100644 --- a/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp @@ -32,16 +32,13 @@ class BooleanOpsTests : public testing::Test { TEST_F(BooleanOpsTests, LtTest_1) { - auto x = NDArrayFactory::create_(1.0f); - auto y = NDArrayFactory::create_(2.0f); + auto x = NDArrayFactory::create(1.0f); + auto y = NDArrayFactory::create(2.0f); sd::ops::lt_scalar op; - ASSERT_TRUE(op.verify({x, y})); - - delete x; - delete y; + ASSERT_TRUE(op.verify({&x, &y})); } TEST_F(BooleanOpsTests, LtTest_2) { diff --git a/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp b/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp index 93ef53e4c51d..3c2f2b55dd53 100644 --- a/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp @@ -51,10 +51,10 @@ TEST_F(ConditionalTests, BasicTests_1) { auto variableSpace = graph.getVariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y0); - variableSpace->putVariable(-3, y1); - variableSpace->putVariable(-4, scalar); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y0)); + variableSpace->putVariable(-3, new NDArray(y1)); + variableSpace->putVariable(-4, new NDArray(scalar)); auto scopeCondition = new Node(OpType_LOGIC, logic::Scope, 1); diff --git a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp index 90fec7f97093..4ce47cea39fb 100644 --- a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp @@ -140,15 +140,13 @@ TEST_F(ConstantShapeHelperTests, basic_test_4) { auto dup = array.dup('f'); - ASSERT_TRUE(dup->shapeInfo() != nullptr); + ASSERT_TRUE(dup.shapeInfo() != nullptr); #ifdef __CUDABLAS__ ASSERT_TRUE(dup->specialShapeInfo() != nullptr); PointersManager manager(sd::LaunchContext ::defaultContext(), "test"); // manager.printDevContentOnDev(dup->specialShapeInfo(), shape::shapeInfoLength(2), 0); #endif - - delete dup; } diff --git a/libnd4j/tests_cpu/layers_tests/ContextTests.cpp b/libnd4j/tests_cpu/layers_tests/ContextTests.cpp index 5e02b48500a0..baa6b4f26fdb 100644 --- a/libnd4j/tests_cpu/layers_tests/ContextTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ContextTests.cpp @@ -37,11 +37,11 @@ TEST_F(ContextTests, Basic_Test_1) { auto _20 = NDArrayFactory::create('c', {2, 2}); auto _21 = NDArrayFactory::create('c', {2, 2}); - _20->assign(1.0f); - _21->assign(2.0f); + _20.assign(1.0f); + _21.assign(2.0f); - variableSpace.putVariable(2, 0, _20); - variableSpace.putVariable(2, 1, _21); + variableSpace.putVariable(2, 0, new NDArray(_20)); + variableSpace.putVariable(2, 1, new NDArray(_21)); Context block(1, &variableSpace); @@ -68,8 +68,8 @@ TEST_F(ContextTests, Basic_Test_2) { _20.assign(1.0f); _21.assign(2.0f); - variableSpace.putVariable(-1, _20); - variableSpace.putVariable(-2, _21); + variableSpace.putVariable(-1, new NDArray(_20)); + variableSpace.putVariable(-2, new NDArray(_21)); Context block(1, &variableSpace); @@ -94,7 +94,7 @@ TEST_F(ContextTests, Basic_Test_3) { auto _20 = NDArrayFactory::create('c', {2, 2}); - ctx.pushNDArrayToVariableSpace(1, 1, _20); + ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_20)); ASSERT_TRUE(variableSpace.hasVariable(1, 1)); } @@ -111,11 +111,11 @@ TEST_F(ContextTests, Basic_Test_4) { auto _21 = NDArrayFactory::create('c', {2, 2}); _21.linspace(10); - ctx.pushNDArrayToVariableSpace(1, 1, _20); + ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_20)); ASSERT_TRUE(variableSpace.hasVariable(1, 1)); - ctx.pushNDArrayToVariableSpace(1, 1, _21); + ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_21)); auto vA = ctx.variable(1, 1); @@ -130,21 +130,19 @@ TEST_F(ContextTests, Basic_Test_5) { auto _20 = NDArrayFactory::create('c', {2, 2}); _20.linspace(1); - auto exp = _20.dup()); + auto exp = _20; - ctx.pushNDArrayToVariableSpace(1, 1, _20); + ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_20)); ASSERT_TRUE(variableSpace.hasVariable(1, 1)); - ctx.pushNDArrayToVariableSpace(1, 1, _20); + ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_20)); auto vA = ctx.variable(1, 1); - ASSERT_TRUE(vA->getNDArray() == _20); + ASSERT_TRUE(vA->getNDArray()->equalsTo(_20)); ASSERT_TRUE(vA->getNDArray()->equalsTo(exp)); - - delete exp; } @@ -191,8 +189,8 @@ TEST_F(ContextTests, Basic_Test_7) { auto _11 = NDArrayFactory::create('c', {2, 2}); _11.linspace(10); - ctx.pushNDArrayToVariableSpace(1, 0, _10); - ctx.pushNDArrayToVariableSpace(1, 1, _11); + ctx.pushNDArrayToVariableSpace(1, 0, new NDArray(_10)); + ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_11)); auto z0 = variableSpace.getVariable(1, 0); auto z1 = variableSpace.getVariable(1, 1); @@ -212,8 +210,8 @@ TEST_F(ContextTests, Basic_Test_8) { auto _11 = NDArrayFactory::create('c', {2, 2}); _11.linspace(10); - ctx.pushNDArrayToVariableSpace(1, 0, _10); - ctx.pushNDArrayToVariableSpace(1, 1, _11); + ctx.pushNDArrayToVariableSpace(1, 0, new NDArray(_10)); + ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_11)); auto z0 = variableSpace.getVariable(1, 0); auto z1 = variableSpace.getVariable(1, 1); diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp index 9d9e9a45083b..c6f013db495a 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp @@ -62,21 +62,21 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_1) { Nd4jLong _expS[]{4, 1, 3, 5, 4, 60, 20, 4, 1, typeid(TypeParam) == typeid(float) ? 8192 : 16384, 1, 99}; auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); auto weights = NDArrayFactory::create('c', {oC, iC, kH, kW}); - for (int e = 0; e < input->lengthOf(); e++) + for (int e = 0; e < input.lengthOf(); e++) input.p(e, e + 1); - for (int e = 0; e < weights->lengthOf(); e++) + for (int e = 0; e < weights.lengthOf(); e++) weights.p(e, e + 1); weights.permutei({2,3,1,0}); // weights->printShapeInfo("weights"); - ArrayOptions::setDataType(_expS, input->dataType()); + ArrayOptions::setDataType(_expS, input.dataType()); auto exp = new NDArray(_expB, _expS); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input.dup()); - variableSpace->putVariable(-2, weights.dup()); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(weights)); auto block = new Context(1, variableSpace, false); // not-in-place block->fillInputs({-1, -2}); @@ -394,17 +394,17 @@ TEST_F(ConvolutionTests1, sconv2d_1) { int B = 2; auto input = NDArrayFactory::create('c', {B, iC, iY, iX}); - for (int e = 0; e < input->lengthOf(); e++) + for (int e = 0; e < input.lengthOf(); e++) input.p(e, e+1); auto weights = NDArrayFactory::create('c', {oC, iC, kY, kX}); - for (int e = 0; e < weights->lengthOf(); e++) + for (int e = 0; e < weights.lengthOf(); e++) weights.p(e, e+1); - weights->permutei({2,3,1,0}); + weights.permutei({2,3,1,0}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input.dup()); - variableSpace->putVariable(-2, weights.dup()); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(weights)); auto block = new Context(1, variableSpace, false); block->fillInputs({-1, -2}); diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp index d399f2f35d8d..16cbf25fa89b 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp @@ -904,7 +904,7 @@ TEST_F(ConvolutionTests2, maxpool2d_1) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -948,7 +948,7 @@ TEST_F(ConvolutionTests2, maxpool2d_2) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -992,7 +992,7 @@ TEST_F(ConvolutionTests2, maxpool2d_3) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -1036,7 +1036,7 @@ TEST_F(ConvolutionTests2, maxpool2d_4) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -1080,7 +1080,7 @@ TEST_F(ConvolutionTests2, maxpool2d_5) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -1696,8 +1696,8 @@ TEST_F(ConvolutionTests2, maxpool2d_bp_1) { auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, epsilon); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(epsilon)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -1880,8 +1880,8 @@ TEST_F(ConvolutionTests2, avgpool2d_bp_1) { auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, epsilon); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(epsilon)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -2051,8 +2051,8 @@ TEST_F(ConvolutionTests2, pnormpool2d_bp_1) { auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, epsilon); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(epsilon)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); From edbbf625ede07a0fddc0dadcbc96a755b723bd2c Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 9 Jun 2020 12:15:06 +0300 Subject: [PATCH 26/99] Fixed issues with the first test file. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests1.cpp | 330 +++++++++--------- 1 file changed, 165 insertions(+), 165 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp index 263d5bffdc2e..521b558ca723 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp @@ -111,11 +111,11 @@ TEST_F(DeclarableOpsTests1, BasicInitialization1) { auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x0); - variableSpace->putVariable(-2, x1); - variableSpace->putVariable(-3, x2); - variableSpace->putVariable(-4, x3); - variableSpace->putVariable(-5, x4); + variableSpace->putVariable(-1, new NDArray(x0)); + variableSpace->putVariable(-2, new NDArray(x1)); + variableSpace->putVariable(-3, new NDArray(x2)); + variableSpace->putVariable(-4, new NDArray(x3)); + variableSpace->putVariable(-5, new NDArray(x4)); auto nodeVar = new Variable(); @@ -617,8 +617,8 @@ TEST_F(DeclarableOpsTests1, AddMatrices1) { exp.assign(3.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -626,7 +626,7 @@ TEST_F(DeclarableOpsTests1, AddMatrices1) { addOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete block; delete variableSpace; @@ -639,13 +639,13 @@ TEST_F(DeclarableOpsTests1, AddVectorVector1) { auto x = NDArrayFactory::create('c', { 1, 15 }); auto y = NDArrayFactory::create('c', { 1, 15 }); auto exp = NDArrayFactory::create('c', { 1, 15 }); - x->assign(2); - y->assign(1); - exp->assign(3); + x.assign(2); + y.assign(1); + exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -653,7 +653,7 @@ TEST_F(DeclarableOpsTests1, AddVectorVector1) { addOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete block; delete variableSpace; @@ -670,8 +670,8 @@ TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -679,7 +679,7 @@ TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { addOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -696,8 +696,8 @@ TEST_F(DeclarableOpsTests1, AddScalarScalar1) { exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -705,7 +705,7 @@ TEST_F(DeclarableOpsTests1, AddScalarScalar1) { addOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -722,8 +722,8 @@ TEST_F(DeclarableOpsTests1, SubtractMatrices1) { exp.assign(2); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -731,7 +731,7 @@ TEST_F(DeclarableOpsTests1, SubtractMatrices1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; @@ -749,8 +749,8 @@ TEST_F(DeclarableOpsTests1, SubtractTest_1) { exp.assign(2.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -758,7 +758,7 @@ TEST_F(DeclarableOpsTests1, SubtractTest_1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; @@ -798,7 +798,7 @@ TEST_F(DeclarableOpsTests1, TestRng1) { auto x = NDArrayFactory::create_('c', {5, 3}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); auto block = new Context(1, variableSpace, true); block->fillInputs({-1}); block->setRNG(rng); @@ -811,7 +811,7 @@ TEST_F(DeclarableOpsTests1, TestRng1) { ASSERT_EQ(ND4J_STATUS_OK, status); - ASSERT_TRUE(x->sumNumber() > 0.0); + ASSERT_TRUE(x.sumNumber() > 0.0); destroyRandom((Nd4jPointer) rng); delete[] buffer; @@ -834,10 +834,10 @@ TEST_F(DeclarableOpsTests1, MergeSumTest1) { exp.assign(6.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); - variableSpace->putVariable(-3, z); - variableSpace->putVariable(1, new Variable(NDArrayFactory::create('c', { 5, 5 }))); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); + variableSpace->putVariable(-3, new NDArray(z)); + variableSpace->putVariable(1, new NDArray(NDArrayFactory::create('c', { 5, 5 }))); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2, -3 }); @@ -867,7 +867,7 @@ TEST_F(DeclarableOpsTests1, ClipByValue1) { exp.p(1, 2.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); variableSpace->putVariable(1, new Variable()); auto block = new Context(1, variableSpace, true); block->getTArguments()->push_back(0.0f); @@ -878,7 +878,7 @@ TEST_F(DeclarableOpsTests1, ClipByValue1) { clip.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; @@ -900,10 +900,10 @@ TEST_F(DeclarableOpsTests1, MergeAvgTest1) { auto zu = NDArrayFactory::create('c', { 5, 5 }); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); - variableSpace->putVariable(-3, z); - variableSpace->putVariable(1, new Variable(NDArrayFactory::create('c', { 5, 5 }))); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); + variableSpace->putVariable(-3, new NDArray(z)); + variableSpace->putVariable(1, new NDArray(NDArrayFactory::create('c', { 5, 5 }))); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2, -3 }); @@ -931,8 +931,8 @@ TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { exp.assign(2.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -940,7 +940,7 @@ TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete block; delete variableSpace; @@ -954,13 +954,13 @@ TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { auto x = NDArrayFactory::create('c', { 5, 3 }); auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(3); - y->assign(1); + x.assign(3); + y.assign(1); exp.assign(2); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -968,7 +968,7 @@ TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete block; delete variableSpace; @@ -986,8 +986,8 @@ TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { exp.assign(2.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -995,7 +995,7 @@ TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete block; delete variableSpace; @@ -1007,13 +1007,13 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrices1) { auto x = NDArrayFactory::create('c', { 5, 3 }); auto y = NDArrayFactory::create('c', { 5, 3 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(3.f); - y->assign(1.f); + x.assign(3.f); + y.assign(1.f); exp.assign(-2.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1021,7 +1021,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrices1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -1157,8 +1157,8 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { exp.assign(-2.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1166,7 +1166,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete variableSpace; delete block; @@ -1179,13 +1179,13 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { auto x = NDArrayFactory::create('c', { 5, 3 }); auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(3.f); - y->assign(1.f); - exp->assign(-2.f); + x.assign(3.f); + y.assign(1.f); + exp.assign(-2.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1193,7 +1193,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete variableSpace; delete block; @@ -1211,8 +1211,8 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { exp.assign(-2); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1220,7 +1220,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete variableSpace; delete block; @@ -1237,8 +1237,8 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { exp.assign(6.f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1246,7 +1246,7 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { mul.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete variableSpace; delete block; @@ -1258,13 +1258,13 @@ TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { auto x = NDArrayFactory::create('c', { 1, 15 }); auto y = NDArrayFactory::create('c', { 1, 15 }); auto exp = NDArrayFactory::create('c', { 1, 15 }); - x->assign(2); - y->assign(3); - exp->assign(6); + x.assign(2); + y.assign(3); + exp.assign(6); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1272,7 +1272,7 @@ TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { mul.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete variableSpace; delete block; @@ -1289,8 +1289,8 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { exp.assign(6); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1298,7 +1298,7 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { mul.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete variableSpace; delete block; @@ -1310,13 +1310,13 @@ TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { auto x = NDArrayFactory::create('c', { 1, 1 }); auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 1, 1 }); - x->assign(2); - y->assign(3); - exp->assign(6); + x.assign(2); + y.assign(3); + exp.assign(6); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1324,7 +1324,7 @@ TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { mul.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete block; delete variableSpace; @@ -1334,29 +1334,29 @@ TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { TEST_F(DeclarableOpsTests1, TestSoftMax_bp_1) { auto input = NDArrayFactory::create('c', { 2, 2 }); - for (int e = 0; e < input->lengthOf(); e++) - input->p(e, e + 1); + for (int e = 0; e < input.lengthOf(); e++) + input.p(e, e + 1); auto epsilon = NDArrayFactory::create('c', { 2, 2 }); - epsilon->p(0, 0.1f); - epsilon->p(1, 0.2f); - epsilon->p(2, 0.3f); - epsilon->p(3, 0.4f); + epsilon.p(0, 0.1f); + epsilon.p(1, 0.2f); + epsilon.p(2, 0.3f); + epsilon.p(3, 0.4f); auto output = NDArrayFactory::create('c', { 2, 2 }); - output->assign(1.0f); + output.assign(1.0f); auto exp = NDArrayFactory::create('c', { 2, 2 }); - exp->p(0, -0.019661194f); - exp->p(1, 0.019661194f); - exp->p(2, -0.019661194f); - exp->p(3, 0.019661194f); + exp.p(0, -0.019661194f); + exp.p(1, 0.019661194f); + exp.p(2, -0.019661194f); + exp.p(3, 0.019661194f); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, epsilon); - variableSpace->putVariable(1, output); - //variableSpace->putVariable(42, exp); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(epsilon)); + variableSpace->putVariable(1, new NDArray(output)); + //variableSpace->putVariable(42, new NDArray(exp)); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2 }); @@ -1366,7 +1366,7 @@ TEST_F(DeclarableOpsTests1, TestSoftMax_bp_1) { Nd4jStatus status = op.execute(block); ASSERT_EQ(ND4J_STATUS_OK, status); - ASSERT_TRUE(output->equalsTo(exp)); + ASSERT_TRUE(output.equalsTo(exp)); delete variableSpace; delete block; @@ -1460,13 +1460,13 @@ TEST_F(DeclarableOpsTests1, DivideMatrices1) { auto x = NDArrayFactory::create('c', { 5, 3 }); auto y = NDArrayFactory::create('c', { 5, 3 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(6); - y->assign(2); - exp->assign(3); + x.assign(6); + y.assign(2); + exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1474,7 +1474,7 @@ TEST_F(DeclarableOpsTests1, DivideMatrices1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(x.equalsTo(exp)); delete variableSpace; delete block; @@ -1486,13 +1486,13 @@ TEST_F(DeclarableOpsTests1, DivideVectorVector1) { auto x = NDArrayFactory::create('c', { 1, 15 }); auto y = NDArrayFactory::create('c', { 1, 15 }); auto exp = NDArrayFactory::create('c', { 1, 15 }); - x->assign(6); - y->assign(2); + x.assign(6); + y.assign(2); exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1500,7 +1500,7 @@ TEST_F(DeclarableOpsTests1, DivideVectorVector1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -1512,13 +1512,13 @@ TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { auto x = NDArrayFactory::create('c', { 5, 3 }); auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(6); - y->assign(2); + x.assign(6); + y.assign(2); exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1526,7 +1526,7 @@ TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete block; delete variableSpace; @@ -1539,13 +1539,13 @@ TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { auto x = NDArrayFactory::create('c', { 5, 1 }); auto y = NDArrayFactory::create('c', { 5, 1 }); auto exp = NDArrayFactory::create('c', { 5, 1 }); - x->assign(6); - y->assign(2); + x.assign(6); + y.assign(2); exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1553,7 +1553,7 @@ TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -1565,13 +1565,13 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { auto x = NDArrayFactory::create('c', { 5, 3 }); auto y = NDArrayFactory::create('c', { 5, 3 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(2); - y->assign(6); + x.assign(2); + y.assign(6); exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1579,7 +1579,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -1591,13 +1591,13 @@ TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { auto x = NDArrayFactory::create('c', { 1, 15 }); auto y = NDArrayFactory::create('c', { 1, 15 }); auto exp = NDArrayFactory::create('c', { 1, 15 }); - x->assign(2); - y->assign(6); + x.assign(2); + y.assign(6); exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1605,7 +1605,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -1617,13 +1617,13 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { auto x = NDArrayFactory::create('c', { 5, 3 }); auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 5, 3 }); - x->assign(2); - y->assign(6); + x.assign(2); + y.assign(6); exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1631,7 +1631,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -1643,13 +1643,13 @@ TEST_F(DeclarableOpsTests1, ReverseDivideScalarScalar1) { auto x = NDArrayFactory::create('c', { 1, 1 }); auto y = NDArrayFactory::create('c', { 1, 1 }); auto exp = NDArrayFactory::create('c', { 1, 1 }); - x->assign(2); - y->assign(6); + x.assign(2); + y.assign(6); exp.assign(3); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1657,7 +1657,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideScalarScalar1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(x.equalsTo(&exp)); delete variableSpace; delete block; @@ -1688,7 +1688,7 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // ////////////////////////////////////////////////////////////////////// // TEST_F(DeclarableOpsTests1, TestLegacyExecution1) { // auto x = NDArrayFactory::create_('c', {10, 10}); -// x->assign(1.0f); +// x.assign(1.0f); // auto y = NDArrayFactory::create_('c', {10, 10}); // y->assign(2.0f); @@ -1705,10 +1705,10 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // auto inputBuffers = new Nd4jPointer[2]; // auto inputShapes = new Nd4jPointer[2]; -// inputBuffers[0] = (Nd4jPointer) x->buffer(); +// inputBuffers[0] = (Nd4jPointer) x.buffer(); // inputBuffers[1] = (Nd4jPointer) y->buffer(); -// inputShapes[0] = (Nd4jPointer) x->shapeInfo(); +// inputShapes[0] = (Nd4jPointer) x.shapeInfo(); // inputShapes[1] = (Nd4jPointer) y->shapeInfo(); // auto outputBuffers = new Nd4jPointer[1]; @@ -1722,7 +1722,7 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // auto status = execCustomOp(nullptr, hash, inputBuffers, inputShapes, 2, outputBuffers, outputShapes, 1, nullptr, 0, nullptr, 0, nullptr, 0, false); // ASSERT_EQ(ND4J_STATUS_OK, status); // ASSERT_NEAR(2.0f, y->meanNumber().e(0), 1e-5); -// ASSERT_NEAR(1.0f, x->meanNumber().e(0), 1e-5); +// ASSERT_NEAR(1.0f, x.meanNumber().e(0), 1e-5); // ASSERT_NEAR(3.0f, z->meanNumber().e(0), 1e-5); // delete x; @@ -1738,7 +1738,7 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // ////////////////////////////////////////////////////////////////////// // TEST_F(DeclarableOpsTests1, TestLegacyExecution2) { // auto x = NDArrayFactory::create_('c', {10, 10}); -// x->assign(1.0f); +// x.assign(1.0f); // auto y = NDArrayFactory::create_('c', {10, 10}); // y->assign(2.0f); @@ -1755,10 +1755,10 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // auto inputBuffers = new Nd4jPointer[2]; // auto inputShapes = new Nd4jPointer[2]; -// inputBuffers[0] = (Nd4jPointer) x->buffer(); +// inputBuffers[0] = (Nd4jPointer) x.buffer(); // inputBuffers[1] = (Nd4jPointer) y->buffer(); -// inputShapes[0] = (Nd4jPointer) x->shapeInfo(); +// inputShapes[0] = (Nd4jPointer) x.shapeInfo(); // inputShapes[1] = (Nd4jPointer) y->shapeInfo(); // auto outputBuffers = new Nd4jPointer[1]; @@ -1767,7 +1767,7 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // execCustomOp(nullptr, hash, inputBuffers, inputShapes, 2, outputBuffers, outputShapes, 1, nullptr, 0, nullptr, 0, nullptr, 0, true); // ASSERT_NEAR(2.0, y->meanNumber().e(0), 1e-5); -// ASSERT_NEAR(3.0, x->meanNumber().e(0), 1e-5); +// ASSERT_NEAR(3.0, x.meanNumber().e(0), 1e-5); // delete x; @@ -1817,7 +1817,7 @@ TEST_F(DeclarableOpsTests1, Transpose1) { auto exp = NDArrayFactory::create('c', { 2,5,3 }); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); variableSpace->putVariable(1, new Variable()); auto block = new Context(1, variableSpace, false); // not-in-place @@ -1829,9 +1829,9 @@ TEST_F(DeclarableOpsTests1, Transpose1) { auto result = variableSpace->getVariable(block->getNodeId())->getNDArray(); - ASSERT_TRUE(exp->isSameShape(result)); - ASSERT_TRUE(exp->dataType() == result->dataType()); - ASSERT_TRUE(exp->ordering() == result->ordering()); + ASSERT_TRUE(exp.isSameShape(result)); + ASSERT_TRUE(exp.dataType() == result->dataType()); + ASSERT_TRUE(exp.ordering() == result->ordering()); delete block; delete variableSpace; @@ -1904,7 +1904,7 @@ TEST_F(DeclarableOpsTests1, TestReductionShape1) { auto input = NDArrayFactory::create('c', { 4, 5, 5, 10, 10 }); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); + variableSpace->putVariable(-1, new NDArray(input)); auto block = new Context(1, variableSpace, false); // not-in-place block->fillInputs({ -1 }); @@ -1914,8 +1914,8 @@ TEST_F(DeclarableOpsTests1, TestReductionShape1) { sd::ops::testreduction testop; - auto inP = new Nd4jLong[shape::shapeInfoLength(input->shapeInfo())]; - memcpy(inP, input->shapeInfo(), shape::shapeInfoByteLength(input->rankOf())); + auto inP = new Nd4jLong[shape::shapeInfoLength(input.shapeInfo())]; + memcpy(inP, input.shapeInfo(), shape::shapeInfoByteLength(input.rankOf())); auto inshape = new ShapeList(inP); @@ -1939,7 +1939,7 @@ TEST_F(DeclarableOpsTests1, TestReductionShape2) { auto input = NDArrayFactory::create('c', { 4, 5, 5, 10, 10 }); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); + variableSpace->putVariable(-1, new NDArray(input)); auto block = new Context(1, variableSpace, false); // not-in-place block->fillInputs({ -1 }); @@ -1953,7 +1953,7 @@ TEST_F(DeclarableOpsTests1, TestReductionShape2) { sd::ops::testreduction testop; - auto inshapes = new ShapeList(input->shapeInfo()); + auto inshapes = new ShapeList(input.shapeInfo()); auto shapes = testop.calculateOutputShape(inshapes, *block); ASSERT_EQ(1, shapes->size()); ASSERT_EQ(1, shapes->at(0)[0]); @@ -1971,21 +1971,21 @@ TEST_F(DeclarableOpsTests1, TestCustomShape1) { auto input = NDArrayFactory::create('c', { 2, 3, 4 }); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); + variableSpace->putVariable(-1, new NDArray(input)); auto block = new Context(1, variableSpace, false); // not-in-place block->fillInputs({ -1 }); sd::ops::testcustom test; - auto inshapes = new ShapeList(input->shapeInfo()); + auto inshapes = new ShapeList(input.shapeInfo()); auto shapes = test.calculateOutputShape(inshapes, *block); - ASSERT_EQ(input->shapeInfo()[0], shapes->at(0)[0]); - ASSERT_EQ(input->shapeInfo()[1] * 2, shapes->at(0)[1]); - ASSERT_EQ(input->shapeInfo()[2] * 2, shapes->at(0)[2]); - ASSERT_EQ(input->shapeInfo()[3] * 2, shapes->at(0)[3]); + ASSERT_EQ(input.shapeInfo()[0], shapes->at(0)[0]); + ASSERT_EQ(input.shapeInfo()[1] * 2, shapes->at(0)[1]); + ASSERT_EQ(input.shapeInfo()[2] * 2, shapes->at(0)[2]); + ASSERT_EQ(input.shapeInfo()[3] * 2, shapes->at(0)[3]); delete variableSpace; delete block; @@ -2039,7 +2039,7 @@ TEST_F(DeclarableOpsTests1, Pnormpool2d1) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); From 1d6ea1b8db13c652ee3e949be805eb1cd7bb8c84 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 9 Jun 2020 13:24:05 +0300 Subject: [PATCH 27/99] Corrected context usage with test. Signed-off-by: shugeo --- libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp index f88ffceba469..195ef15ecb24 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp @@ -104,9 +104,9 @@ TEST_F(DeclarableOpsTests13, test_argmax_edge_1) { auto ctx = new Context(1); auto arr = NDArrayFactory::create('c', {1024,1}); - ctx->setInputArray(0, arr, true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {1}), true); - ctx->setInputArray(1, NDArrayFactory::create(0), true); //Axis 0 + ctx->setInputArray(0, arr); + ctx->setOutputArray(0, NDArrayFactory::create('c', {1})); + ctx->setInputArray(1, NDArrayFactory::create(0)); //Axis 0 sd::ops::argmax op; From 30d3e622d1b2f553e4928306a9fd668821117553 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 9 Jun 2020 14:10:39 +0300 Subject: [PATCH 28/99] Added Order enum for NDArray orders. Signed-off-by: shugeo --- libnd4j/include/array/Order.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 libnd4j/include/array/Order.h diff --git a/libnd4j/include/array/Order.h b/libnd4j/include/array/Order.h new file mode 100644 index 000000000000..9c4a4fed9db3 --- /dev/null +++ b/libnd4j/include/array/Order.h @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2020 Skymind, Inc. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ + +// +// Created by shugeo on 6/9/20. +// + +#ifndef LIBND4J__ARRAY__ORDER__H +#define LIBND4J__ARRAY__ORDER__H + +namespace sd { + enum Order { + kCOrder = 'c', + kFortranOrder = 'f', + }; +} + +#endif //LIBND4J__ARRAY__ORDER__H + From 5a4fd0b6b85193db6114be775784e616cb289885 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 9 Jun 2020 14:30:34 +0300 Subject: [PATCH 29/99] Refactored factory to eliminated expensive methods. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 23 -- libnd4j/include/array/impl/NDArrayFactory.cpp | 230 +++++------------- 2 files changed, 66 insertions(+), 187 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index a4681fff9987..7d045136d17d 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -25,7 +25,6 @@ #define DEV_TESTS_NDARRAYFACTORY_H #include -#include #include //#include #include @@ -74,22 +73,6 @@ namespace sd { static NDArray create(const std::vector &values, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); #ifndef __JAVACPP_HACK__ - // this method only available out of javacpp - /** - * This constructor creates vector of T - * - * @param values - */ - - template - static NDArray create(char order, const std::initializer_list& shape, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - - template - static NDArray create(T* buffer, char order, const std::initializer_list& shape, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - - template - static NDArray create(char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - /** * This method creates NDArray from .npy file * @param fileName @@ -122,8 +105,6 @@ namespace sd { * This factory create array from vector of utf8 strings * @return NDArray default dataType UTF8 */ - static NDArray string( const std::vector &shape, const std::initializer_list &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray string( const std::vector &shape, const std::initializer_list &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray string( const std::vector &shape, const std::vector &strings, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray string( const std::vector &shape, const std::vector &string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); @@ -131,8 +112,6 @@ namespace sd { * This factory create array from vector of utf16 strings * @return NDArray default dataType UTF16 */ - static NDArray string( const std::vector& shape, const std::initializer_list& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray string( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); @@ -140,8 +119,6 @@ namespace sd { * This factory create array from vector of utf32 strings * @return NDArray default dataType UTF32 */ - static NDArray string( const std::vector& shape, const std::initializer_list& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - static NDArray string( const std::vector& shape, const std::initializer_list& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& strings, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); static NDArray string( const std::vector& shape, const std::vector& string, sd::DataType dtype = sd::DataType::UTF32, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 5e9cb69981e8..6392bfab5bc3 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -118,44 +118,6 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std::vector &vector); -#ifndef __JAVACPP_HACK__ - //////////////////////////////////////////////////////////////////////// -// template -// NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const T value, const char order, sd::LaunchContext * context) { -// return valueOf(std::vector(shape), value, order); -// } -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const double value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const float value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const float16 value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const bfloat16 value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const Nd4jLong value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const uint8_t value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int8_t value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const int16_t value, const char order, sd::LaunchContext * context); -// template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::initializer_list& shape, const bool value, const char order, sd::LaunchContext * context); - -//////////////////////////////////////////////////////////////////////// - template - NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context) { - std::vector vec(data); - return create(order, shape, vec, context); - } - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context); - -#endif - template NDArray NDArrayFactory::create(sd::DataType type, const T scalar, sd::LaunchContext * context) { @@ -299,14 +261,6 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const int16_t startingValue, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const bool startingValue, sd::LaunchContext * context); -//////////////////////////////////////////////////////////////////////// - template - NDArray NDArrayFactory::create(const char order, const std::initializer_list& shape, sd::LaunchContext * context) { - std::vector vec(shape); - return create(order, vec, context); - } - BUILD_SINGLE_TEMPLATE(template ND4J_EXPORT NDArray NDArrayFactory::create, (const char, const std::initializer_list&, sd::LaunchContext * context), LIBND4J_TYPES); - //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::create(const char order, const std::vector &shape, sd::LaunchContext * context) { @@ -395,128 +349,76 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &val res.assign(const_cast(value)); return res; } -//////////////////////////////////////////////////////////////////////// -template -NDArray NDArrayFactory::create(T* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context) { - if ((int) shape.size() > MAX_RANK) - throw std::invalid_argument("NDArrayFactory::create: Rank of NDArray can't exceed 32"); + ///////////////////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string(const char16_t* u16string, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray(u16string, dtype, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string(const std::u16string& u16string, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray(u16string, dtype, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string(const char32_t* u32string, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray(u32string, dtype, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string(const std::u32string& u32string, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray(u32string, dtype, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string(const char* str, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray(str, dtype, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string(const std::string& str, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray(str, dtype, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string( const std::vector &shape, const std::vector &strings, sd::DataType dataType, sd::LaunchContext * context) { + return NDArray( shape, strings, dataType, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string( const std::vector &shape, const std::vector &string, sd::DataType dataType, sd::LaunchContext * context) { + return NDArray(shape, string, dataType, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { + return NDArray( shape, strings, dataType, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string( const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray( shape, string, dtype, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { + return NDArray( shape, strings, dataType, context); + } + ///////////////////////////////////////////////////////////////////////// + NDArray NDArrayFactory::string(const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray( shape, string, dtype, context); + } - std::vector shp(shape); - ShapeDescriptor descriptor(DataTypeUtils::fromT(), order, shp); + NDArray NDArrayFactory::fromNpyFile(const char *fileName) { + auto size = sd::graph::getFileSize(fileName); + if (size < 0) + throw std::runtime_error("File doesn't exit"); - std::shared_ptr pBuffer = std::make_shared(buffer, descriptor.arrLength() * sizeof(T), descriptor.dataType(), false, context->getWorkspace()); + auto pNPY = reinterpret_cast(::numpyFromFile(std::string(fileName))); - NDArray result(pBuffer, descriptor, context); + auto nBuffer = reinterpret_cast(::dataPointForNumpy(pNPY)); + auto shape = reinterpret_cast(::shapeBufferForNumpy(pNPY)); - return result; -} + auto length = shape::length(shape); + int8_t *buffer = nullptr; + sd::memory::Workspace *workspace = nullptr; + auto byteLen = length * DataTypeUtils::sizeOfElement(ArrayOptions::dataType(shape)); -template ND4J_EXPORT NDArray NDArrayFactory::create(double* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(float* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(float16* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(bfloat16* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(Nd4jLong * buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(int* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(bool* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(uint8_t * buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(int8_t* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(int16_t* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context); - - ///////////////////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const char16_t* u16string, sd::DataType dtype, sd::LaunchContext* context) { - return NDArray(u16string, dtype, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const std::u16string& u16string, sd::DataType dtype, sd::LaunchContext* context) { - return NDArray(u16string, dtype, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const char32_t* u32string, sd::DataType dtype, sd::LaunchContext* context) { - return NDArray(u32string, dtype, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const std::u32string& u32string, sd::DataType dtype, sd::LaunchContext* context) { - return NDArray(u32string, dtype, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const char* str, sd::DataType dtype, sd::LaunchContext* context) { - return NDArray(str, dtype, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const std::string& str, sd::DataType dtype, sd::LaunchContext* context) { - return NDArray(str, dtype, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const std::vector &shape, const std::initializer_list &strings, sd::DataType dataType, sd::LaunchContext * context) { - return NDArray(shape, std::vector(strings), dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector &shape, const std::vector &strings, sd::DataType dataType, sd::LaunchContext * context) { - return NDArray( shape, strings, dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector &shape, const std::initializer_list &string, sd::DataType dataType, sd::LaunchContext * context) { - return NDArray( shape, std::vector(string), dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector &shape, const std::vector &string, sd::DataType dataType, sd::LaunchContext * context) { - return NDArray(shape, string, dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const std::vector& shape, const std::initializer_list& strings, sd::DataType dataType, sd::LaunchContext* context) { - return NDArray( shape, std::vector(strings), dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { - return NDArray( shape, strings, dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector& shape, const std::initializer_list& string, sd::DataType dataType, sd::LaunchContext* context) { - return NDArray( shape, std::vector(string), dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { - return NDArray( shape, string, dtype, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector& shape, const std::initializer_list& strings, sd::DataType dataType, sd::LaunchContext* context) { - return NDArray( shape, std::vector(strings), dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector& shape, const std::vector& strings, sd::DataType dataType, sd::LaunchContext* context) { - return NDArray( shape, strings, dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string( const std::vector& shape, const std::initializer_list& string, sd::DataType dataType, sd::LaunchContext* context) { - return NDArray(shape, std::vector(string), dataType, context); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const std::vector& shape, const std::vector& string, sd::DataType dtype, sd::LaunchContext* context) { - return NDArray( shape, string, dtype, context); - } - - - NDArray NDArrayFactory::fromNpyFile(const char *fileName) { - auto size = sd::graph::getFileSize(fileName); - if (size < 0) - throw std::runtime_error("File doesn't exit"); - - auto pNPY = reinterpret_cast(::numpyFromFile(std::string(fileName))); - - auto nBuffer = reinterpret_cast(::dataPointForNumpy(pNPY)); - auto shape = reinterpret_cast(::shapeBufferForNumpy(pNPY)); - - auto length = shape::length(shape); - int8_t *buffer = nullptr; - sd::memory::Workspace *workspace = nullptr; - auto byteLen = length * DataTypeUtils::sizeOfElement(ArrayOptions::dataType(shape)); - - ALLOCATE(buffer, workspace, byteLen, int8_t); - memcpy(buffer, nBuffer, byteLen); - - free(pNPY); - - return NDArray(buffer, shape, LaunchContext::defaultContext(), true); - } + ALLOCATE(buffer, workspace, byteLen, int8_t); + memcpy(buffer, nBuffer, byteLen); + + free(pNPY); + + return NDArray(buffer, shape, LaunchContext::defaultContext(), true); + } } From 20f83f248cc1b3d132cefb88956522d9b7e16bc3 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 9 Jun 2020 16:06:03 +0300 Subject: [PATCH 30/99] Refactored enum Signed-off-by: shugeo --- libnd4j/include/array/Order.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libnd4j/include/array/Order.h b/libnd4j/include/array/Order.h index 9c4a4fed9db3..f1ff8a434431 100644 --- a/libnd4j/include/array/Order.h +++ b/libnd4j/include/array/Order.h @@ -23,8 +23,8 @@ namespace sd { enum Order { - kCOrder = 'c', - kFortranOrder = 'f', + kArrayOrderC = 'c', + kArrayOrderFortran = 'f', }; } From 37083ee4f13d87fc2b65b04b47f7a796026e57d3 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 10 Jun 2020 10:27:45 +0300 Subject: [PATCH 31/99] Refactored factory for arrays. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 12 +- libnd4j/include/array/Order.h | 4 +- libnd4j/include/array/impl/NDArrayFactory.cpp | 104 +++++++++++++++++- 3 files changed, 113 insertions(+), 7 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index 7d045136d17d..34e637add40e 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -25,6 +25,7 @@ #define DEV_TESTS_NDARRAYFACTORY_H #include +#include #include //#include #include @@ -48,8 +49,12 @@ namespace sd { static NDArray valueOf(const std::vector& shape, const NDArray& value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template - static NDArray linspace(T from, T to, Nd4jLong numElements); + static NDArray valueOf(const std::vector& shape, T value, const Order order = sd::kArrayOrderC, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + + static NDArray valueOf(const std::vector& shape, const NDArray& value, const Order sd::kArrayOrderC, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + template + static NDArray linspace(T from, T to, Nd4jLong numElements); template static NDArray create(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); @@ -65,9 +70,12 @@ namespace sd { template static NDArray create(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + template + static NDArray create(const std::vector &shape, const std::vector &data = {}, const Order order = sd::kArrayOrderC, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); + template static NDArray create(char order, const std::vector &shape, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray create(char order, const std::vector &shape, sd::DataType dtype, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray create(sd::DataType dtype, const std::vector &shape, const sd::Order order = kArrayOrderC, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template static NDArray create(const std::vector &values, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); diff --git a/libnd4j/include/array/Order.h b/libnd4j/include/array/Order.h index f1ff8a434431..38077102cdf9 100644 --- a/libnd4j/include/array/Order.h +++ b/libnd4j/include/array/Order.h @@ -23,8 +23,8 @@ namespace sd { enum Order { - kArrayOrderC = 'c', - kArrayOrderFortran = 'f', + kArrayOrderC = 'c', // C order for strides (rows first) + kArrayOrderFortran = 'f', // Fortran order for strides (columns first) }; } diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 6392bfab5bc3..c34d001b3ad6 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -94,6 +94,71 @@ namespace sd { template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); +//////////////////////////////////////////////////////////////////////////////// + template <> + ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector &data, sd::Order order, sd::LaunchContext * context) { + + if ((int) shape.size() > MAX_RANK) + throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32 !"); + + ShapeDescriptor descriptor(sd::DataType::BOOL, (char)order, shape); + + if (data.size() > 0 && descriptor.arrLength() != data.size()) { + nd4j_printf("NDArrayFactory::create: data size [%i] doesn't match shape length [%lld]\n", data.size(), descriptor.arrLength()); + throw std::runtime_error("NDArrayFactory::create: data size doesn't match shape"); + } + + bool* hostBuffer = nullptr; + ALLOCATE(hostBuffer, context->getWorkspace(), data.size() > 0? data.size():descriptor.arrLength(), bool); + if (data.size() > 0) + std::copy(data.begin(), data.end(), hostBuffer); + + std::shared_ptr buffer = std::make_shared(hostBuffer, descriptor.arrLength() * sizeof(bool), sd::DataType::BOOL, true, context->getWorkspace()); + + NDArray result(buffer, descriptor, context); + + return result; + } + +//////////////////////////////////////////////////////////////////////////////// + + template + static NDArray NDArrayFactory::create(const std::vector &shape, const std::vector &data, Order order = sd::kArrayOrderC, sd::LaunchContext* context = sd::LaunchContext::defaultContext()) { + if ((int) shape.size() > MAX_RANK) + throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32 !"); + + ShapeDescriptor descriptor(DataTypeUtils::fromT(), (char)order, shape); + + if (data.size() > 0 && descriptor.arrLength() != data.size()) { + nd4j_printf("NDArrayFactory::create: data size [%i] doesn't match shape length [%lld]\n", data.size(), descriptor.arrLength()); + throw std::runtime_error("NDArrayFactory::create: data size doesn't match shape"); + } + + if (data.size() == 0) { + std::shared_ptr buffer = std::make_shared(descriptor.arrLength() * DataTypeUtils::sizeOfElement(dtype), dtype, context->getWorkspace()); + NDArray result(buffer, descriptor, context); + return result; + } + + std::shared_ptr buffer = std::make_shared(data.data(), DataTypeUtils::fromT(), descriptor.arrLength() * sizeof(T), context->getWorkspace()); + + NDArray result(buffer, descriptor, context); + + return result; + } + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + //////////////////////////////////////////////////////////////////////// template void NDArrayFactory::memcpyFromVector(void *ptr, const std::vector &vector) { @@ -194,6 +259,7 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: result.assign(value); return result; } + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const double value, const char order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const float value, const char order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const float16 value, const char order, sd::LaunchContext * context); @@ -205,6 +271,38 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const uint8_t value, const char order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const bool value, const char order, sd::LaunchContext * context); + //////////////////////////////////////////////////////////////////////// + template <> + ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray* value, const sd::Order order, sd::LaunchContext * context) { + auto result = create(value->dataType(), shape, order, context); + result.assign(*value); + return result; + } + + template <> + ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray& value, const sd::Order order, sd::LaunchContext * context) { + auto result = create(value.dataType(), shape, order, context); + result.assign(value); + return result; + } + + template + NDArray NDArrayFactory::valueOf(const std::vector& shape, const T value, const sd::Order order, sd::LaunchContext * context) { + auto result = create(DataTypeUtils::fromT(), shape, order, context); + result.assign(value); + return result; + } + + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const double value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const float value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const float16 value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const bfloat16 value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const Nd4jLong value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int16_t value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int8_t value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const uint8_t value, const sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const bool value, const sd::Order order, sd::LaunchContext * context); //////////////////////////////////////////////////////////////////////// template @@ -264,17 +362,17 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::create(const char order, const std::vector &shape, sd::LaunchContext * context) { - return create(order, shape, DataTypeUtils::fromT(), context); + return create(DataTypeUtils::fromT(), shape, order, context); } BUILD_SINGLE_TEMPLATE(template ND4J_EXPORT NDArray NDArrayFactory::create, (const char order, const std::vector &shape, sd::LaunchContext * context), LIBND4J_TYPES); //////////////////////////////////////////////////////////////////////// -NDArray NDArrayFactory::create(const char order, const std::vector &shape, sd::DataType dtype, sd::LaunchContext* context) { +NDArray NDArrayFactory::create(const std::vector &shape, sd::DataType dtype, const sd::Order order, sd::LaunchContext* context) { if ((int) shape.size() > MAX_RANK) throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32"); - ShapeDescriptor descriptor(dtype, order, shape); + ShapeDescriptor descriptor(dtype, (char const)order, shape); std::shared_ptr buffer = std::make_shared(descriptor.arrLength() * DataTypeUtils::sizeOfElement(dtype), dtype, context->getWorkspace()); From c8152316ad04d46779469f85ec0b13edcf66a46d Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 10 Jun 2020 10:33:03 +0300 Subject: [PATCH 32/99] Fixed typo with valueOf declaration. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index 34e637add40e..f27fdd9b9d7b 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -51,7 +51,7 @@ namespace sd { template static NDArray valueOf(const std::vector& shape, T value, const Order order = sd::kArrayOrderC, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - static NDArray valueOf(const std::vector& shape, const NDArray& value, const Order sd::kArrayOrderC, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray valueOf(const std::vector& shape, const NDArray& value, const Order order = sd::kArrayOrderC, sd::LaunchContext* context = sd::LaunchContext ::defaultContext()); template static NDArray linspace(T from, T to, Nd4jLong numElements); From 2110009b030ac3df4717e42cd71b0e063f7b37a6 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 10 Jun 2020 11:09:51 +0300 Subject: [PATCH 33/99] Refactored array factory to use proper order. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 2 +- libnd4j/include/array/impl/NDArrayFactory.cpp | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index f27fdd9b9d7b..7c10416c007b 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -71,7 +71,7 @@ namespace sd { static NDArray create(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template - static NDArray create(const std::vector &shape, const std::vector &data = {}, const Order order = sd::kArrayOrderC, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); + static NDArray create(const std::vector &shape, const std::vector &data = {}, const sd::Order order = sd::kArrayOrderC, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); template static NDArray create(char order, const std::vector &shape, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index c34d001b3ad6..e7e5eab2e9bd 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -123,11 +123,12 @@ namespace sd { //////////////////////////////////////////////////////////////////////////////// template - static NDArray NDArrayFactory::create(const std::vector &shape, const std::vector &data, Order order = sd::kArrayOrderC, sd::LaunchContext* context = sd::LaunchContext::defaultContext()) { + NDArray NDArrayFactory::create(const std::vector &shape, const std::vector &data, const sd::Order order, sd::LaunchContext* context) { if ((int) shape.size() > MAX_RANK) throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32 !"); + auto dtype = DataTypeUtils::fromT(); - ShapeDescriptor descriptor(DataTypeUtils::fromT(), (char)order, shape); + ShapeDescriptor descriptor(DataTypeUtils::fromT(), (char const)order, shape); if (data.size() > 0 && descriptor.arrLength() != data.size()) { nd4j_printf("NDArrayFactory::create: data size [%i] doesn't match shape length [%lld]\n", data.size(), descriptor.arrLength()); @@ -140,12 +141,13 @@ namespace sd { return result; } - std::shared_ptr buffer = std::make_shared(data.data(), DataTypeUtils::fromT(), descriptor.arrLength() * sizeof(T), context->getWorkspace()); + std::shared_ptr buffer = std::make_shared(data.data(), dtype, descriptor.arrLength() * sizeof(T), context->getWorkspace()); NDArray result(buffer, descriptor, context); return result; } + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); @@ -241,21 +243,21 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: //////////////////////////////////////////////////////////////////////// template <> ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray* value, const char order, sd::LaunchContext * context) { - auto result = create(order, shape, value->dataType(), context); + auto result = create(value->dataType(), shape, (const sd::Order)order, context); result.assign(*value); return result; } template <> ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray& value, const char order, sd::LaunchContext * context) { - auto result = create(order, shape, value.dataType(), context); + auto result = create(value.dataType(), shape, (sd::Order const)order, context); result.assign(value); return result; } template NDArray NDArrayFactory::valueOf(const std::vector& shape, const T value, const char order, sd::LaunchContext * context) { - auto result = create(order, shape, DataTypeUtils::fromT()); + auto result = create(DataTypeUtils::fromT(), shape, (sd::Order)order); result.assign(value); return result; } @@ -362,12 +364,12 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: //////////////////////////////////////////////////////////////////////// template NDArray NDArrayFactory::create(const char order, const std::vector &shape, sd::LaunchContext * context) { - return create(DataTypeUtils::fromT(), shape, order, context); + return create(DataTypeUtils::fromT(), shape, (sd::Order)order, context); } BUILD_SINGLE_TEMPLATE(template ND4J_EXPORT NDArray NDArrayFactory::create, (const char order, const std::vector &shape, sd::LaunchContext * context), LIBND4J_TYPES); //////////////////////////////////////////////////////////////////////// -NDArray NDArrayFactory::create(const std::vector &shape, sd::DataType dtype, const sd::Order order, sd::LaunchContext* context) { +NDArray NDArrayFactory::create(sd::DataType dtype, const std::vector &shape, const sd::Order order, sd::LaunchContext* context) { if ((int) shape.size() > MAX_RANK) throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32"); @@ -443,7 +445,7 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &val //////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::valueOf(const std::vector& shape, const NDArray& value, const char order, sd::LaunchContext * context) { - auto res = NDArrayFactory::create(order, shape, value.dataType(), context); + auto res = NDArrayFactory::create(value.dataType(), shape, (sd::Order)order, context); res.assign(const_cast(value)); return res; } From 96b65abdbfc277512928d916e3d1da89407dba78 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 10 Jun 2020 14:01:18 +0300 Subject: [PATCH 34/99] Refactored array factory construction. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 10 -- libnd4j/include/array/impl/NDArrayFactory.cpp | 106 ------------------ .../generic/helpers/BroadcastHelper.h | 4 +- 3 files changed, 2 insertions(+), 118 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index 7c10416c007b..d96c318c06ef 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -43,11 +43,6 @@ namespace sd { static NDArray empty(sd::DataType dataType, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template - static NDArray valueOf(const std::vector& shape, T value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - - static NDArray valueOf(const std::vector& shape, const NDArray& value, char order = 'c', sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template static NDArray valueOf(const std::vector& shape, T value, const Order order = sd::kArrayOrderC, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); @@ -67,14 +62,9 @@ namespace sd { template static NDArray vector(Nd4jLong length, T startingValue = (T) 0, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template - static NDArray create(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - template static NDArray create(const std::vector &shape, const std::vector &data = {}, const sd::Order order = sd::kArrayOrderC, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); - template - static NDArray create(char order, const std::vector &shape, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); static NDArray create(sd::DataType dtype, const std::vector &shape, const sd::Order order = kArrayOrderC, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index e7e5eab2e9bd..7197cfb31f37 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -37,64 +37,6 @@ namespace sd { //////////////////////////////////////////////////////////////////////// - template <> - ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context) { - - if ((int) shape.size() > MAX_RANK) - throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32 !"); - - ShapeDescriptor descriptor(sd::DataType::BOOL, order, shape); - - if (descriptor.arrLength() != data.size()) { - nd4j_printf("NDArrayFactory::create: data size [%i] doesn't match shape length [%lld]\n", data.size(), descriptor.arrLength()); - throw std::runtime_error("NDArrayFactory::create: data size doesn't match shape"); - } - - bool* hostBuffer = nullptr; - ALLOCATE(hostBuffer, context->getWorkspace(), data.size(), bool); - std::copy(data.begin(), data.end(), hostBuffer); - - std::shared_ptr buffer = std::make_shared(hostBuffer, data.size() * sizeof(bool), sd::DataType::BOOL, true, context->getWorkspace()); - - NDArray result(buffer, descriptor, context); - - return result; - } - - //////////////////////////////////////////////////////////////////////// - template - NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context) { - - if ((int) shape.size() > MAX_RANK) - throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32 !"); - - ShapeDescriptor descriptor(DataTypeUtils::fromT(), order, shape); - - if (descriptor.arrLength() != data.size()) { - nd4j_printf("NDArrayFactory::create: data size [%i] doesn't match shape length [%lld]\n", data.size(), descriptor.arrLength()); - throw std::runtime_error("NDArrayFactory::create: data size doesn't match shape"); - } - - std::shared_ptr buffer = std::make_shared(data.data(), DataTypeUtils::fromT(), descriptor.arrLength() * sizeof(T), context->getWorkspace()); - - NDArray result(buffer, descriptor, context); - - return result; - } - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector& data, sd::LaunchContext * context); - -//////////////////////////////////////////////////////////////////////////////// template <> ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector &data, sd::Order order, sd::LaunchContext * context) { @@ -121,7 +63,6 @@ namespace sd { } //////////////////////////////////////////////////////////////////////////////// - template NDArray NDArrayFactory::create(const std::vector &shape, const std::vector &data, const sd::Order order, sd::LaunchContext* context) { if ((int) shape.size() > MAX_RANK) @@ -240,39 +181,6 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: template ND4J_EXPORT NDArray NDArrayFactory::create(const uint64_t scalar, sd::LaunchContext* workspace); template ND4J_EXPORT NDArray NDArrayFactory::create(const bool scalar, sd::LaunchContext * context); - //////////////////////////////////////////////////////////////////////// - template <> - ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray* value, const char order, sd::LaunchContext * context) { - auto result = create(value->dataType(), shape, (const sd::Order)order, context); - result.assign(*value); - return result; - } - - template <> - ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray& value, const char order, sd::LaunchContext * context) { - auto result = create(value.dataType(), shape, (sd::Order const)order, context); - result.assign(value); - return result; - } - - template - NDArray NDArrayFactory::valueOf(const std::vector& shape, const T value, const char order, sd::LaunchContext * context) { - auto result = create(DataTypeUtils::fromT(), shape, (sd::Order)order); - result.assign(value); - return result; - } - - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const double value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const float value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const float16 value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const bfloat16 value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const Nd4jLong value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int16_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const int8_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const uint8_t value, const char order, sd::LaunchContext * context); - template ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, const bool value, const char order, sd::LaunchContext * context); - //////////////////////////////////////////////////////////////////////// template <> ND4J_EXPORT NDArray NDArrayFactory::valueOf(const std::vector& shape, NDArray* value, const sd::Order order, sd::LaunchContext * context) { @@ -361,13 +269,6 @@ template ND4J_EXPORT void NDArrayFactory::memcpyFromVector(void *ptr, const std: template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const int16_t startingValue, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::vector(Nd4jLong length, const bool startingValue, sd::LaunchContext * context); -//////////////////////////////////////////////////////////////////////// - template - NDArray NDArrayFactory::create(const char order, const std::vector &shape, sd::LaunchContext * context) { - return create(DataTypeUtils::fromT(), shape, (sd::Order)order, context); - } - BUILD_SINGLE_TEMPLATE(template ND4J_EXPORT NDArray NDArrayFactory::create, (const char order, const std::vector &shape, sd::LaunchContext * context), LIBND4J_TYPES); - //////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::create(sd::DataType dtype, const std::vector &shape, const sd::Order order, sd::LaunchContext* context) { @@ -443,13 +344,6 @@ template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &val return result; } -//////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::valueOf(const std::vector& shape, const NDArray& value, const char order, sd::LaunchContext * context) { - auto res = NDArrayFactory::create(value.dataType(), shape, (sd::Order)order, context); - res.assign(const_cast(value)); - return res; - } - ///////////////////////////////////////////////////////////////////////////////////// NDArray NDArrayFactory::string(const char16_t* u16string, sd::DataType dtype, sd::LaunchContext* context) { return NDArray(u16string, dtype, context); diff --git a/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h b/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h index 9046f9436669..59b4e69d1023 100644 --- a/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h +++ b/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h @@ -79,7 +79,7 @@ namespace sd { return z; } else { auto v = y->getShapeAsVector(); - auto tZ = NDArrayFactory::valueOf(v, y, y->ordering()); + auto tZ = NDArrayFactory::valueOf(v, y, (sd::Order)y->ordering()); tZ.applyPairwiseTransform(op.p, *y, extraArgs); return new NDArray(tZ); } @@ -120,7 +120,7 @@ namespace sd { return z; } else { auto v = y->getShapeAsVector(); - auto tZ = NDArrayFactory::valueOf(v, y, y->ordering()); + auto tZ = NDArrayFactory::valueOf(v, y, (sd::Order)y->ordering()); //tZ->applyPairwiseTransform(op.p, *y, extraArgs); return new NDArray(tZ); } From ef4d8ac808742a01ddeca1bd6cd28b73a5fa29be Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 11 Jun 2020 09:40:50 +0300 Subject: [PATCH 35/99] Adopted ops to refactored create method. Signed-off-by: shugeo --- .../declarable/generic/list/gather_list.cpp | 2 +- .../declarable/generic/nn/convo/deconv3d.cpp | 2 +- .../declarable/generic/nn/convo/sconv2d.cpp | 4 ++-- .../declarable/generic/nn/fusedBatchNorm.cpp | 6 +++--- .../declarable/generic/nn/recurrent/sru.cpp | 20 +++++++++---------- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/libnd4j/include/ops/declarable/generic/list/gather_list.cpp b/libnd4j/include/ops/declarable/generic/list/gather_list.cpp index e7e5433a044e..44e6a757a8a0 100644 --- a/libnd4j/include/ops/declarable/generic/list/gather_list.cpp +++ b/libnd4j/include/ops/declarable/generic/list/gather_list.cpp @@ -49,7 +49,7 @@ namespace sd { } } - auto result = NDArrayFactory::create('c', shape, list->dataType()); + auto result = NDArrayFactory::create(list->dataType(), shape); std::vector indicesList((list->readRaw(0)->rankOf() + 1) * 2, 0); int skipPosition = 0; for (int e = 0; e < indices->lengthOf(); e++) { diff --git a/libnd4j/include/ops/declarable/generic/nn/convo/deconv3d.cpp b/libnd4j/include/ops/declarable/generic/nn/convo/deconv3d.cpp index 7c68ee74caf5..0a728c6cccb4 100644 --- a/libnd4j/include/ops/declarable/generic/nn/convo/deconv3d.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/convo/deconv3d.cpp @@ -252,7 +252,7 @@ CUSTOM_OP_IMPL(deconv3d_bp, 3, 2, false, 0, 13) { gradWAxes = {0,4,1,2,3}; // ----- calculation of gradW ----- // - auto columns = NDArrayFactory::create(input->ordering(), {bS, oC, kD, kH, kW, iD, iH, iW}, input->dataType(), block.launchContext()); + auto columns = NDArrayFactory::create(input->dataType(), {bS, oC, kD, kH, kW, iD, iH, iW}, (sd::Order)input->ordering(), block.launchContext()); ConvolutionUtils::vol2col(block, *gradO, columns, sD, sH, sW, pD, pH, pW, dD, dH, dW); // [bS, oC, oD, oH, oW] is deconvoluted to [bS, oC, kD, kH, kW, iD, iH, iW] MmulHelper::tensorDot(input, &columns, gradW, inputAxesForDot, {0, 5, 6, 7}, gradWAxes); // [bS, iC, iD, iH, iW]/[bS, iD, iH, iW, iC] x [bS, oC, kD, kH, kW, iD, iH, iW] = [iC, oC, kD, kH, kW] diff --git a/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp b/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp index d8cb4b2de3f4..52e654a31a56 100644 --- a/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/convo/sconv2d.cpp @@ -277,11 +277,11 @@ CUSTOM_OP_IMPL(sconv2d_bp, 3, 2, false, 0, 9) { if (weightsPoint){ auto resultFFShape = isNCHW ? std::vector({bS, mC*iC, oH, oW}) : std::vector({bS, oH, oW, mC*iC}); - auto resultFF = NDArrayFactory::create(input->ordering(), resultFFShape, input->dataType(), block.launchContext()); + auto resultFF = NDArrayFactory::create(input->dataType(), resultFFShape, (sd::Order)input->ordering(), block.launchContext()); ConvolutionUtils::sconv2d(block, input, weightsDepth, nullptr, nullptr, &resultFF, kH,kW, sH,sW, pH,pW, dH,dW, isSameMode, isNCHW, wFormat); auto gradIDepthShape = ShapeUtils::composeShapeUsingDimsAndIdx({bS,iC*mC,oH,oW, 0,indIOioC,indIiH,indIiH+1}); - auto gradIDepth = NDArrayFactory::create(resultFF.ordering(), gradIDepthShape, resultFF.dataType(), block.launchContext()); // [bS, oH, oW, iC*mC] (NHWC) or [bS, iC*mC, oH, oW] (NCHW) + auto gradIDepth = NDArrayFactory::create(resultFF.dataType(), gradIDepthShape, (sd::Order)resultFF.ordering(), block.launchContext()); // [bS, oH, oW, iC*mC] (NHWC) or [bS, iC*mC, oH, oW] (NCHW) ConvolutionUtils::conv2dBP(block, &resultFF, weightsPoint, bias, gradO, &gradIDepth, gradWP, gradB, 1,1, 1,1, 0,0, 1,1, isSameMode, isNCHW, wFormat); // in this case oH=iH and oW=iW diff --git a/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp b/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp index fdca7f7f9cc0..2be50b3208df 100644 --- a/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/fusedBatchNorm.cpp @@ -72,8 +72,8 @@ CUSTOM_OP_IMPL(fused_batch_norm, 3, 3, false, 0, 2) { else { //REQUIRE_TRUE(block.width() == 3, 0, "CUSTOM_OP fused_batch_norm: when isTraining=true then number of input arrays must be equal to 3, but got %i instead !", block.width()); std::vector shape = {iD}; - auto meanV = NDArrayFactory::create(scale->ordering(), shape, scale->dataType(), block.launchContext()); - auto varianceV = NDArrayFactory::create(scale->ordering(), shape, scale->dataType(), block.launchContext()); + auto meanV = NDArrayFactory::create(scale->dataType(), shape, (sd::Order)scale->ordering(), block.launchContext()); + auto varianceV = NDArrayFactory::create(scale->dataType(), shape, (sd::Order)scale->ordering(), block.launchContext()); mean = new NDArray(meanV); variance = new NDArray(varianceV); } @@ -85,7 +85,7 @@ CUSTOM_OP_IMPL(fused_batch_norm, 3, 3, false, 0, 2) { epsilon = 0.001; const int restSize = x->lengthOf() / iD; - auto xAffected = NDArrayFactory::create(x->ordering(), {restSize, iD}, mean->dataType(), block.launchContext()); + auto xAffected = NDArrayFactory::create(mean->dataType(), {restSize, iD}, (sd::Order) x->ordering(), block.launchContext()); xAffected.assign(x); const int restSizeMinusOne = (restSize > 1) ? (restSize - 1) : 1; diff --git a/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp b/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp index cae7a86e2882..7b504310769a 100644 --- a/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp @@ -157,16 +157,16 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { const int K = x->shapeOf()[1]; const int N = x->shapeOf()[2]; // N - number of time steps - auto gradBias = NDArrayFactory::create(x->ordering(), {bS, 2*K, N}, gradX->dataType(), block.launchContext()); - auto gradU = NDArrayFactory::create(x->ordering(), {bS, 3*K, N}, gradX->dataType(), block.launchContext()); - auto gradHX = NDArrayFactory::create(x->ordering(), {bS, K, N}, gradX->dataType(), block.launchContext()); - auto gct = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto gradTanh = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto gradCt = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto ftMinus = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto rtMinus = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto temp1 = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); - auto temp2 = NDArrayFactory::create(c->ordering(), {bS, K}, gradX->dataType(), block.launchContext()); + auto gradBias = NDArrayFactory::create(gradX->dataType(), {bS, 2*K, N}, (sd::Order)x->ordering(), block.launchContext()); + auto gradU = NDArrayFactory::create(gradX->dataType(), {bS, 3*K, N}, (sd::Order)x->ordering(), block.launchContext()); + auto gradHX = NDArrayFactory::create(gradX->dataType(), {bS, K, N}, (sd::Order)x->ordering(), block.launchContext()); + auto gct = NDArrayFactory::create(gradX->dataType(), {bS, K}, (sd::Order)c->ordering(), block.launchContext()); + auto gradTanh = NDArrayFactory::create(gradX->dataType(), {bS, K}, (sd::Order)c->ordering(), block.launchContext()); + auto gradCt = NDArrayFactory::create(gradX->dataType(), {bS, K}, (sd::Order)c->ordering(), block.launchContext()); + auto ftMinus = NDArrayFactory::create(gradX->dataType(), {bS, K}, (sd::Order)c->ordering(), block.launchContext()); + auto rtMinus = NDArrayFactory::create(gradX->dataType(), {bS, K}, (sd::Order)c->ordering(), block.launchContext()); + auto temp1 = NDArrayFactory::create(gradX->dataType(), {bS, K}, (sd::Order)c->ordering(), block.launchContext()); + auto temp2 = NDArrayFactory::create(gradX->dataType(), {bS, K}, (sd::Order)c->ordering(), block.launchContext()); // x = x * mask if(applyMask) From 85eabb381b90479b8645bf3156825a4cbef9a0d7 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 11 Jun 2020 13:25:39 +0300 Subject: [PATCH 36/99] Corrected usage of factory create with operations and its helpers. Signed-off-by: shugeo --- .../parity_ops/compare_and_bitpack.cpp | 2 +- .../declarable/generic/tsne/symmetrized.cpp | 2 +- .../ops/declarable/helpers/cpu/hashcode.cpp | 4 +-- .../declarable/helpers/cpu/image_resize.cpp | 6 ++-- .../ops/declarable/helpers/cpu/lup.cpp | 34 +++++++++---------- .../ops/declarable/helpers/cpu/percentile.cpp | 4 +-- .../include/ops/declarable/helpers/cpu/qr.cpp | 2 +- .../ops/declarable/helpers/cpu/solve.cpp | 2 +- .../ops/declarable/helpers/cpu/top_k.cpp | 8 ++--- .../ops/declarable/helpers/impl/where.cpp | 2 +- 10 files changed, 33 insertions(+), 33 deletions(-) diff --git a/libnd4j/include/ops/declarable/generic/parity_ops/compare_and_bitpack.cpp b/libnd4j/include/ops/declarable/generic/parity_ops/compare_and_bitpack.cpp index 1decc65f0b7e..d7cf312071d5 100644 --- a/libnd4j/include/ops/declarable/generic/parity_ops/compare_and_bitpack.cpp +++ b/libnd4j/include/ops/declarable/generic/parity_ops/compare_and_bitpack.cpp @@ -29,7 +29,7 @@ namespace sd { auto x = INPUT_VARIABLE(0); auto y = INPUT_VARIABLE(1); auto z = OUTPUT_VARIABLE(0); - auto z0 = NDArrayFactory::create(x->ordering(), x->getShapeAsVector(), block.launchContext()); + auto z0 = NDArrayFactory::create(x->getShapeAsVector(), std::vector{}, (sd::Order) x->ordering(), block.launchContext()); BROADCAST_CHECK_EMPTY(x, y, (&z0)); auto tZ = BroadcastHelper::broadcastApply(BROADCAST_BOOL(GreaterThan), x, y, &z0); diff --git a/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp b/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp index 84ffb64f6153..5a8aa91c1406 100644 --- a/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp +++ b/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp @@ -68,7 +68,7 @@ namespace sd { if (block.getIArguments()->size() > 0) N = INT_ARG(0); auto dataType = rowP->dataType(); //ArrayOptions::dataType(inputShape->at(0)); - auto rowCounts = NDArrayFactory::create('c', { N }, block.launchContext()); //rowP->dup(); + auto rowCounts = NDArrayFactory::create(DataType::INT32, std::vector{ N }, block.launchContext()); //rowP->dup(); //srowCounts->assign(0); Nd4jLong len = helpers::barnes_row_count(rowP, colP, N, rowCounts); rowCounts.syncToHost(); diff --git a/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp b/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp index 5893b2c88363..e475e3e1dacc 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp @@ -29,8 +29,8 @@ namespace sd { Nd4jLong blockSize = 32; auto length = array.lengthOf(); int numBlocks = length / blockSize + ((length % blockSize == 0) ? 0 : 1); - auto tempA = NDArrayFactory::create('c', {numBlocks}, context); - auto tempB = NDArrayFactory::create('c', { numBlocks / blockSize + 1}, context); + auto tempA = NDArrayFactory::create(DataType::INT64, std::vector{numBlocks}, context); + auto tempB = NDArrayFactory::create(DataType::INT64, std::vector{ numBlocks / blockSize + 1}, context); auto buffer = array.bufferAsT(); auto tempBufferA = tempA.bufferAsT(); diff --git a/libnd4j/include/ops/declarable/helpers/cpu/image_resize.cpp b/libnd4j/include/ops/declarable/helpers/cpu/image_resize.cpp index 7206b03e5e1d..bbdfccc790af 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/image_resize.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/image_resize.cpp @@ -1115,8 +1115,8 @@ namespace helpers { // want to interpolate. float const kernelScale = antialias ? math::nd4j_max(invScale, 1.f) : 1.f; spans._spanSize = math::nd4j_min(2 * static_cast(std::ceil(kernel->radius() * kernelScale)) + 1, static_cast(inSize)); - spans._starts = NDArrayFactory::create('c', {outSize}); - spans._weights = NDArrayFactory::create('c', {outSize, spans._spanSize}); + spans._starts = NDArrayFactory::create({outSize}); + spans._weights = NDArrayFactory::create({outSize, spans._spanSize}); auto startsVec = spans._starts.bufferAsT(); auto weightsVector = spans._weights.bufferAsT(); @@ -1276,7 +1276,7 @@ namespace helpers { Spans rowSpans; res = computeSpans(transformationKernel, outHeight, inputHeight, rowScale, 0.f, antialias, rowSpans); - NDArray intermediate = NDArrayFactory::create('c', {batchSize, outHeight, inputWidth, channels}); + NDArray intermediate = NDArrayFactory::create({batchSize, outHeight, inputWidth, channels}); //const functor::Spans& const_row_spans = row_spans; //typename TTypes::ConstTensor row_starts( diff --git a/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp b/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp index ec7b84d3542c..5045e3c2dcc4 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp @@ -142,7 +142,7 @@ namespace helpers { const int rowNum = input->rows(); const int columnNum = input->columns(); - NDArray determinant = NDArrayFactory::create(1.f, context); + NDArray determinant = NDArrayFactory::create((T)1.f, context); NDArray compoundMatrix = *input; // copy NDArray permutationMatrix(input, false, context); // has same shape as input and contiguous strides permutationMatrix.setIdentity(); @@ -186,7 +186,7 @@ namespace helpers { if (compound != nullptr) compound->assign(compoundMatrix); if (permutation != nullptr) { - auto permutaionVector = NDArrayFactory::create('c', {rowNum}, DataTypeUtils::fromT(), input->getContext()); + auto permutaionVector = NDArrayFactory::create(DataTypeUtils::fromT(), std::vector{rowNum}, input->getContext()); for (auto i = 0; i < rowNum; i++) { for (auto j = 0; j < columnNum; j++) { if (permutationMatrix.t(i, j) != 0) { @@ -342,7 +342,7 @@ namespace helpers { Nd4jLong n = input->sizeAt(-1); Nd4jLong n2 = n * n; - auto matrix = NDArrayFactory::create(input->ordering(), {n, n}, input->dataType(), context); //, block.getWorkspace()); + auto matrix = NDArrayFactory::create(input->dataType(),{n, n}, (sd::Order)input->ordering(), context); //, block.getWorkspace()); for (int e = 0; e < output->lengthOf(); e++) { for (int k = e * n2, row = 0; k < (e + 1) * n2; ++k, ++row) @@ -363,7 +363,7 @@ template Nd4jLong n = input->sizeAt(-1); Nd4jLong n2 = n * n; - NDArray matrix = NDArrayFactory::create(input->ordering(), {n, n}, input->dataType(), context); //, block.getWorkspace()); + NDArray matrix = NDArrayFactory::create(input->dataType(), {n, n}, (sd::Order)input->ordering(), context); //, block.getWorkspace()); for (int e = 0; e < output->lengthOf(); e++) { for (int k = e * n2, row = 0; k < (e + 1) * n2; ++k, ++row) { matrix.p(row, input->e(k)); @@ -388,11 +388,11 @@ template auto totalCount = output->lengthOf() / n2; output->assign(0.f); // fill up output tensor with zeros - auto matrix = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); //, block.getWorkspace()); - auto compound = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); //, block.getWorkspace()); - auto permutation = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); - auto lowerMatrix = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); - auto upperMatrix = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); + auto matrix = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); //, block.getWorkspace()); + auto compound = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); //, block.getWorkspace()); + auto permutation = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); + auto lowerMatrix = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); + auto upperMatrix = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); for (int e = 0; e < totalCount; e++) { if (e) @@ -441,11 +441,11 @@ template auto totalCount = output->lengthOf() / n2; output->assign(0.f); // fill up output tensor with zeros - auto matrix = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); //, block.getWorkspace()); - auto compound = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); //, block.getWorkspace()); - auto permutation = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); - auto lowerMatrix = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); - auto upperMatrix = NDArrayFactory::create('c', {n, n}, DataTypeUtils::fromT(), context); + auto matrix = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); //, block.getWorkspace()); + auto compound = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); //, block.getWorkspace()); + auto permutation = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); + auto lowerMatrix = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); + auto upperMatrix = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, sd::kArrayOrderC, context); // auto batchLoop = PRAGMA_THREADS_FOR { for (int e = 0; e < totalCount; e++) { @@ -519,7 +519,7 @@ template for (Nd4jLong c = 0; c < thisMatrix->columns(); c++) if (sd::math::nd4j_abs(thisMatrix->e(r, c) - lastMatrixList.at(i)->e(c,r)) > DataTypeUtils::min()) return false; - NDArray output = NDArrayFactory::create(0., context); + NDArray output = NDArrayFactory::create((T)0.f, context); if (ND4J_STATUS_OK != determinant(context, thisMatrix, &output)) return false; if (output.e(0) <= T(0)) return 0; NDArray reversedMatrix(*thisMatrix); @@ -546,8 +546,8 @@ template if (!inplace) output->assign(0.f); // fill up output tensor with zeros only inplace=false - auto matrix = NDArrayFactory::create('c', {n, n}, input->dataType(), context); //, block.getWorkspace()); - auto lowerMatrix = NDArrayFactory::create('c',{n, n}, input->dataType(), context); + auto matrix = NDArrayFactory::create(input->dataType(), {n, n}, sd::kArrayOrderC, context); //, block.getWorkspace()); + auto lowerMatrix = NDArrayFactory::create(input->dataType(), {n, n}, sd::kArrayOrderC, context); for (int e = 0; e < totalCount; e++) { diff --git a/libnd4j/include/ops/declarable/helpers/cpu/percentile.cpp b/libnd4j/include/ops/declarable/helpers/cpu/percentile.cpp index dea46cd69f16..36c7649762e4 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/percentile.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/percentile.cpp @@ -46,7 +46,7 @@ static void _percentile(const NDArray& input, NDArray& output, std::vector& for(int i=0; ishapeOf()[i]; - auto flattenedArr = NDArrayFactory::create('c', shapeOfSubArr, input.dataType(), input.getContext()); + auto flattenedArr = NDArrayFactory::create(input.dataType(), shapeOfSubArr, sd::kArrayOrderC, input.getContext()); const int len = flattenedArr.lengthOf(); const float fraction = 1.f - q / 100.; @@ -72,7 +72,7 @@ static void _percentile(const NDArray& input, NDArray& output, std::vector& auto buff = reinterpret_cast(flattenedArr.buffer()); flattenedArr.assign(listOfSubArrs.at(i)); std::sort(buff, buff + len); - output.p(i, flattenedArr.e(position)); + output.p(i, flattenedArr.template e(position)); } } diff --git a/libnd4j/include/ops/declarable/helpers/cpu/qr.cpp b/libnd4j/include/ops/declarable/helpers/cpu/qr.cpp index 1f980e553697..3d4488a2689e 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/qr.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/qr.cpp @@ -56,7 +56,7 @@ namespace helpers { void qrSingle(NDArray* matrix, NDArray* Q, NDArray* R, bool const fullMatricies) { Nd4jLong M = matrix->sizeAt(-2); Nd4jLong N = matrix->sizeAt(-1); - auto resQ = fullMatricies?Q->ulike():NDArrayFactory::create(matrix->ordering(), {M,M}, Q->getContext()); + auto resQ = fullMatricies?Q->ulike():NDArrayFactory::create({M,M}, std::vector{}, (sd::Order)matrix->ordering(), Q->getContext()); auto resR = fullMatricies?R->ulike():matrix->ulike(); std::vector q(M); diff --git a/libnd4j/include/ops/declarable/helpers/cpu/solve.cpp b/libnd4j/include/ops/declarable/helpers/cpu/solve.cpp index a0034bb5dcdd..96bb19928b52 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/solve.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/solve.cpp @@ -58,7 +58,7 @@ namespace helpers { // stage 1: LU decomposition batched auto leftOutput = leftInput->ulike(); auto permuShape = rightInput->getShapeAsVector(); permuShape.pop_back(); - auto permutations = NDArrayFactory::create('c', permuShape, context); + auto permutations = NDArrayFactory::create(DataType::INT32, permuShape, context); helpers::lu(context, leftInput, &leftOutput, &permutations); auto P = leftInput->ulike(); //permutations batched matrix P.nullify(); // to fill up matricies with zeros diff --git a/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp b/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp index bac500cd99a8..f1d6f0056e8c 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp @@ -69,9 +69,9 @@ namespace helpers { auto trial = (*input)(e, dimsToExclude); // fill up the first k elements - NDArray topValues = NDArrayFactory::create('c', {k}, input->getContext()); - NDArray sortedVals = NDArrayFactory::create('c', {k}, input->getContext()); - NDArray topIndices = NDArrayFactory::create('c', {k}, input->getContext()); + NDArray topValues = NDArrayFactory::vector(k, T(0.f), input->getContext()); + NDArray sortedVals = NDArrayFactory::vector(k, T(0.f), input->getContext()); + NDArray topIndices = NDArrayFactory::vector(k, 0LL, input->getContext()); for (uint pos = 0; pos < k; ++pos) { topIndices.r(pos) = pos; topValues.r(pos) = trial.t(pos); @@ -144,7 +144,7 @@ namespace helpers { for (int i = 0; i < input->rankOf() - 1; i++) shapeI[i] = input->sizeAt(i); shapeI[input->rankOf() - 1] = k; - auto indices = NDArrayFactory::create(input->ordering(), shapeI, context); + auto indices = NDArrayFactory::create(shapeI, std::vector{}, (sd::Order)input->ordering(), context); NDArray* values = nullptr; int status = topKFunctor(context, input, values, &indices, k, true); result->assign(0); diff --git a/libnd4j/include/ops/declarable/helpers/impl/where.cpp b/libnd4j/include/ops/declarable/helpers/impl/where.cpp index 30e7eca15226..56c0060ad222 100644 --- a/libnd4j/include/ops/declarable/helpers/impl/where.cpp +++ b/libnd4j/include/ops/declarable/helpers/impl/where.cpp @@ -38,7 +38,7 @@ namespace sd { auto offset = shape::getOffset(condition.shapeInfo(), idx); if (condition.e(offset)) { - auto array = NDArrayFactory::create('c', {1, condition.rankOf()}, output.dataType(), output.getContext()); + auto array = NDArrayFactory::create(output.dataType(), {1, condition.rankOf()}, sd::kArrayOrderC, output.getContext()); for (int f = 0; f < condition.rankOf(); f++) array.p(f, (T) idx[f]); From f741ed96b66764ed4386148bb8fce5b3c4b25d87 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 11 Jun 2020 16:14:22 +0300 Subject: [PATCH 37/99] Refactored method for create plain sequence of given data as array. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 2 +- libnd4j/include/array/impl/NDArrayFactory.cpp | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index d96c318c06ef..cf924c2c327b 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -68,7 +68,7 @@ namespace sd { static NDArray create(sd::DataType dtype, const std::vector &shape, const sd::Order order = kArrayOrderC, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template - static NDArray create(const std::vector &values, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray vector(const std::vector &values, sd::LaunchContext* context = sd::LaunchContext ::defaultContext()); #ifndef __JAVACPP_HACK__ /** diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 7197cfb31f37..756f6dd6c906 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -301,7 +301,7 @@ NDArray NDArrayFactory::create(sd::DataType dtype, sd::LaunchContext * context) //////////////////////////////////////////////////////////////////////// template -NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context) { +NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context) { std::shared_ptr buffer = std::make_shared(values.size() * sizeof(T), DataTypeUtils::fromT(), context->getWorkspace(), true); @@ -314,17 +314,17 @@ NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * return res; } -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); -template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); +template ND4J_EXPORT NDArray NDArrayFactory::vector(const std::vector &values, sd::LaunchContext * context); //////////////////////////////////////////////////////////////////////// template From 363bc65d5267da238f23fbb8a6cc3289bf6d76db Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 12 Jun 2020 09:59:30 +0300 Subject: [PATCH 38/99] Adopt benchmarks to refactored create methods. Signed-off-by: shugeo --- .../benchmarking/impl/FullBenchmarkSuit.cpp | 311 +++++++++--------- 1 file changed, 155 insertions(+), 156 deletions(-) diff --git a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp index 8563e39f3ab0..0be1b480704e 100644 --- a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp @@ -103,20 +103,20 @@ namespace sd { int axis; if (n == 0) { //nchw - auto input = NDArrayFactory::create('c', {16, c, hw, hw}); - auto output = NDArrayFactory::create('c', {16, c, hw, hw}); + auto input = NDArrayFactory::create(std::vector{16LL, c, hw, hw}); + auto output = NDArrayFactory::create(std::vector{16LL, c, hw, hw}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); axis = 1; } else { - auto input = NDArrayFactory::create('c', {32, hw, hw, c}); - auto output = NDArrayFactory::create('c', {32, hw, hw, c}); + auto input = NDArrayFactory::create(std::vector{32, hw, hw, c}); + auto output = NDArrayFactory::create(std::vector{32, hw, hw, c}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); axis = 3; } - auto bias = NDArrayFactory::create('c', {c}); + auto bias = NDArrayFactory::vector(c); ctx->setInputArray(1, bias); auto iargs = new Nd4jLong[1]; iargs[0] = axis; @@ -164,12 +164,12 @@ namespace sd { //Same mode + stride 1: output is same shape as input if(format == 1) { //NDHWC - ctx->setInputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn})); - ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn})); + ctx->setInputArray(0, NDArrayFactory::create(std::vector{mb, dhw, dhw, dhw, chIn})); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{mb, dhw, dhw, dhw, chIn})); } else { //NCDHW - ctx->setInputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw})); - ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw})); + ctx->setInputArray(0, NDArrayFactory::create(std::vector{mb, chIn, dhw, dhw, dhw})); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{mb, chIn, dhw, dhw, dhw})); } auto iargs = new Nd4jLong[15]; @@ -230,18 +230,17 @@ namespace sd { //Same mode + stride 1: output is same shape as input if(format == 1) { //NDHWC - ctx->setInputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn})); - ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, dhw, dhw, dhw, chIn})); + ctx->setInputArray(0, NDArrayFactory::create(std::vector{mb, dhw, dhw, dhw, chIn})); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{mb, dhw, dhw, dhw, chIn})); } else { //NCDHW - ctx->setInputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw})); - ctx->setOutputArray(0, NDArrayFactory::create('c', {mb, chIn, dhw, dhw, dhw})); + ctx->setInputArray(0, NDArrayFactory::create(std::vector{mb, chIn, dhw, dhw, dhw})); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{mb, chIn, dhw, dhw, dhw})); } //Weights and bias: - ctx->setInputArray(1, NDArrayFactory::create('c', {3, 3, 3, chIn, chOut})); - ctx->setInputArray(2, NDArrayFactory::create('c', {chOut})); - + ctx->setInputArray(1, NDArrayFactory::create(std::vector{3LL, 3LL, 3LL, chIn, chOut})); + ctx->setInputArray(2, NDArrayFactory::create(std::vector{chOut})); auto iargs = new Nd4jLong[14]; //Kernel, strides, padding, dilation - x3 each @@ -301,33 +300,33 @@ namespace sd { if (f == 0) { //TNS format - ctx->setInputArray(1, NDArrayFactory::create('c', {seqLength, m, n})); //x - ctx->setOutputArray(0, NDArrayFactory::create('c', {seqLength, m, n})); //i - ctx->setOutputArray(1, NDArrayFactory::create('c', {seqLength, m, n})); //c - ctx->setOutputArray(2, NDArrayFactory::create('c', {seqLength, m, n})); //f - ctx->setOutputArray(3, NDArrayFactory::create('c', {seqLength, m, n})); //o - ctx->setOutputArray(4, NDArrayFactory::create('c', {seqLength, m, n})); //z - ctx->setOutputArray(5, NDArrayFactory::create('c', {seqLength, m, n})); //h - ctx->setOutputArray(6, NDArrayFactory::create('c', {seqLength, m, n})); //y + ctx->setInputArray(1, NDArrayFactory::create(std::vector{seqLength, m, n})); //x + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{seqLength, m, n})); //i + ctx->setOutputArray(1, NDArrayFactory::create(std::vector{seqLength, m, n})); //c + ctx->setOutputArray(2, NDArrayFactory::create(std::vector{seqLength, m, n})); //f + ctx->setOutputArray(3, NDArrayFactory::create(std::vector{seqLength, m, n})); //o + ctx->setOutputArray(4, NDArrayFactory::create(std::vector{seqLength, m, n})); //z + ctx->setOutputArray(5, NDArrayFactory::create(std::vector{seqLength, m, n})); //h + ctx->setOutputArray(6, NDArrayFactory::create(std::vector{seqLength, m, n})); //y } else { //NST format - ctx->setInputArray(1, NDArrayFactory::create('f', {m, n, seqLength})); //x - ctx->setOutputArray(0, NDArrayFactory::create('f', {m, n, seqLength})); //i - ctx->setOutputArray(1, NDArrayFactory::create('f', {m, n, seqLength})); //c - ctx->setOutputArray(2, NDArrayFactory::create('f', {m, n, seqLength})); //f - ctx->setOutputArray(3, NDArrayFactory::create('f', {m, n, seqLength})); //o - ctx->setOutputArray(4, NDArrayFactory::create('f', {m, n, seqLength})); //z - ctx->setOutputArray(5, NDArrayFactory::create('f', {m, n, seqLength})); //h - ctx->setOutputArray(6, NDArrayFactory::create('f', {m, n, seqLength})); //y + ctx->setInputArray(1, NDArrayFactory::create(std::vector{m, n, seqLength}, std::vector{}, sd::kArrayOrderFortran)); //x + ctx->setOutputArray(0, NDArrayFactory::create(std::vector {m, n, seqLength}, std::vector{}, sd::kArrayOrderFortran)); //i + ctx->setOutputArray(1, NDArrayFactory::create(std::vector{m, n, seqLength}, std::vector{}, sd::kArrayOrderFortran)); //c + ctx->setOutputArray(2, NDArrayFactory::create(std::vector{m, n, seqLength}, std::vector{}, sd::kArrayOrderFortran)); //f + ctx->setOutputArray(3, NDArrayFactory::create(std::vector{m, n, seqLength}, std::vector{}, sd::kArrayOrderFortran)); //o + ctx->setOutputArray(4, NDArrayFactory::create(std::vector{m, n, seqLength}, std::vector{}, sd::kArrayOrderFortran)); //z + ctx->setOutputArray(5, NDArrayFactory::create(std::vector{m, n, seqLength}, std::vector{}, sd::kArrayOrderFortran)); //h + ctx->setOutputArray(6, NDArrayFactory::create(std::vector{m, n, seqLength}, std::vector{}, sd::kArrayOrderFortran)); //y } - auto cLast = NDArrayFactory::create('c', {m, n}); - auto yLast = NDArrayFactory::create('c', {m, n}); - auto W = NDArrayFactory::create('c', {2 * n, 4 * n}); - auto Wci = NDArrayFactory::create('c', {n}); - auto Wcf = NDArrayFactory::create('c', {n}); - auto Wco = NDArrayFactory::create('c', {n}); - auto b = NDArrayFactory::create('c', {4 * n}); + auto cLast = NDArrayFactory::create(std::vector{m, n}); + auto yLast = NDArrayFactory::create(std::vector{m, n}); + auto W = NDArrayFactory::create(std::vector{2 * n, 4 * n}); + auto Wci = NDArrayFactory::vector(n); + auto Wcf = NDArrayFactory::vector(n); + auto Wco = NDArrayFactory::vector(n); + auto b = NDArrayFactory::vector(4 * n); ctx->setInputArray(2, cLast); ctx->setInputArray(3, yLast); @@ -380,14 +379,14 @@ namespace sd { auto args = new Nd4jLong[3]; args[0] = args[1] = 1; //apply scale and offset if (n == 0) { - auto input = NDArrayFactory::create('c', {32, ch, hw, hw}); - auto output = NDArrayFactory::create('c', {32, ch, hw, hw}); + auto input = NDArrayFactory::create(std::vector{32, ch, hw, hw}); + auto output = NDArrayFactory::create(std::vector{32, ch, hw, hw}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); args[2] = 1; //axis } else { - auto input = NDArrayFactory::create('c', {32, hw, hw, ch}); - auto output = NDArrayFactory::create('c', {32, hw, hw, ch}); + auto input = NDArrayFactory::create(std::vector{32, hw, hw, ch}); + auto output = NDArrayFactory::create(std::vector{32, hw, hw, ch}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); args[2] = 3; //axis @@ -395,14 +394,14 @@ namespace sd { ctx->setIArguments(args, 3); delete[] args; - ctx->setInputArray(1, NDArrayFactory::create('c', {ch})); //mean - auto v = NDArrayFactory::create('c', {ch}); + ctx->setInputArray(1, NDArrayFactory::vector(ch)); //mean + auto v = NDArrayFactory::vector(ch); v.assign(1.0f); ctx->setInputArray(2, v); //variance - auto g = NDArrayFactory::create('c', {ch}); - g.assign(1.0); + auto g = NDArrayFactory::vector(ch); + g.assign(1.0f); ctx->setInputArray(3, g); //gamma - auto b = NDArrayFactory::create('c', {ch}); + auto b = NDArrayFactory::vector(ch); b.assign(1.0f); ctx->setInputArray(4, b); //beta @@ -446,13 +445,13 @@ namespace sd { int khw = p.getIntParam("k"); if (n == 0) { - auto input = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); - auto output = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); + auto input = NDArrayFactory::create(std::vector{32, p.getIntParam("c"), hw, hw}); + auto output = NDArrayFactory::create(std::vector{32, p.getIntParam("c"), hw, hw}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); } else { - auto input = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); - auto output = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); + auto input = NDArrayFactory::create(std::vector{32, hw, hw, p.getIntParam("c")}); + auto output = NDArrayFactory::create(std::vector{32, hw, hw, p.getIntParam("c")}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); } @@ -507,19 +506,19 @@ namespace sd { int khw = p.getIntParam("k"); if (n == 0) { - auto input = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); - auto output = NDArrayFactory::create('c', {32, p.getIntParam("c"), hw, hw}); + auto input = NDArrayFactory::create(std::vector{32, p.getIntParam("c"), hw, hw}); + auto output = NDArrayFactory::create(std::vector{32, p.getIntParam("c"), hw, hw}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); } else { - auto input = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); - auto output = NDArrayFactory::create('c', {32, hw, hw, p.getIntParam("c")}); + auto input = NDArrayFactory::create(std::vector{32, hw, hw, p.getIntParam("c")}); + auto output = NDArrayFactory::create(std::vector{32, hw, hw, p.getIntParam("c")}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); } - auto b = NDArrayFactory::create('c', {p.getIntParam("c")}); - auto w = NDArrayFactory::create('c', {khw, khw, p.getIntParam("c"), p.getIntParam("c")}); // [kH, kW, iC, oC] always + auto b = NDArrayFactory::vector(p.getIntParam("c")); + auto w = NDArrayFactory::create(std::vector{khw, khw, p.getIntParam("c"), p.getIntParam("c")}); // [kH, kW, iC, oC] always ctx->setInputArray(1, w); ctx->setInputArray(2, b); @@ -551,8 +550,8 @@ namespace sd { auto gen01 = PARAMETRIC_D() { auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', {2},{1, p.getIntParam("length")})); //Shape as NDArray - ctx->setOutputArray(0, NDArrayFactory::create('c', {1, p.getIntParam("length")})); + ctx->setInputArray(0, NDArrayFactory::create(std::vector{2LL},{1, p.getIntParam("length")})); //Shape as NDArray + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{1, p.getIntParam("length")})); auto d = new double[2]; d[0] = 0.0; d[1] = 1.0; @@ -563,8 +562,8 @@ namespace sd { auto gen05 = PARAMETRIC_D() { auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', {2},{1, p.getIntParam("length")})); //Shape as NDArray - ctx->setOutputArray(0, NDArrayFactory::create('c', {1, p.getIntParam("length")})); + ctx->setInputArray(0, NDArrayFactory::create(std::vector{2LL},{1, p.getIntParam("length")})); //Shape as NDArray + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{1, p.getIntParam("length")})); auto d = new double[1]; d[0] = 0.5; ctx->setTArguments(d, 1); @@ -637,9 +636,9 @@ namespace sd { } else { shapeB = {b, c}; } - auto A = NDArrayFactory::create('c', shapeA); - auto B = NDArrayFactory::create('c', shapeB); - auto C = NDArrayFactory::create('f', {a, c}); + auto A = NDArrayFactory::create(shapeA); + auto B = NDArrayFactory::create(shapeB); + auto C = NDArrayFactory::create(std::vector{a, c}, std::vector{}, sd::kArrayOrderFortran); x.push_back(new NDArray(A)); y.push_back(new NDArray(B)); @@ -673,9 +672,9 @@ namespace sd { } else { shapeB = {b, c}; } - auto A = NDArrayFactory::create('c', shapeA); - auto B = NDArrayFactory::create('c', shapeB); - auto C = NDArrayFactory::create('f', {a, c}); + auto A = NDArrayFactory::create(shapeA); + auto B = NDArrayFactory::create(shapeB); + auto C = NDArrayFactory::create(std::vector{a, c}, std::vector{}, sd::kArrayOrderFortran); x.push_back(new NDArray(A)); y.push_back(new NDArray(B)); @@ -709,9 +708,9 @@ namespace sd { } else { shapeB = {b, c}; } - auto A = NDArrayFactory::create('c', shapeA); - auto B = NDArrayFactory::create('c', shapeB); - auto C = NDArrayFactory::create('f', {a, c}); + auto A = NDArrayFactory::create(shapeA); + auto B = NDArrayFactory::create(shapeB); + auto C = NDArrayFactory::create(std::vector{a, c}, std::vector{}, sd::kArrayOrderFortran); x.push_back(new NDArray(A)); y.push_back(new NDArray(B)); @@ -751,13 +750,13 @@ namespace sd { auto ctx = new Context(1); if(rank == 3){ - ctx->setInputArray(0, NDArrayFactory::create('c', {32, 1024, 1024})); - ctx->setInputArray(1, NDArrayFactory::create('c', {32, 1024, 1024})); - ctx->setOutputArray(0, NDArrayFactory::create('c', {32, 1024, 1024})); + ctx->setInputArray(0, NDArrayFactory::create({32LL, 1024LL, 1024LL})); + ctx->setInputArray(1, NDArrayFactory::create({32LL, 1024LL, 1024LL})); + ctx->setOutputArray(0, NDArrayFactory::create({32LL, 1024LL, 1024LL})); } else { - ctx->setInputArray(0, NDArrayFactory::create('c', {4, 8, 1024, 1024})); - ctx->setInputArray(1, NDArrayFactory::create('c', {4, 8, 1024, 1024})); - ctx->setOutputArray(0, NDArrayFactory::create('c', {4, 8, 1024, 1024})); + ctx->setInputArray(0, NDArrayFactory::create({ 4LL, 8LL, 1024LL, 1024LL})); + ctx->setInputArray(1, NDArrayFactory::create({ 4LL, 8LL, 1024LL, 1024LL})); + ctx->setOutputArray(0, NDArrayFactory::create({4LL, 8LL, 1024LL, 1024LL})); } return ctx; @@ -775,7 +774,7 @@ namespace sd { BenchmarkHelper helper(wIterations, rIterations); for (int o = 0; o <= 1; o++) { - char resultOrder = (o == 0 ? 'f' : 'c'); + sd::Order resultOrder = (o == 0 ? sd::kArrayOrderFortran : sd::kArrayOrderC); for (int tA = 0; tA <= 1; tA++) { for (int tB = 0; tB <= 1; tB++) { @@ -786,9 +785,9 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto s = p.getIntParam("sz"); - auto A = NDArrayFactory::create('c', {s, s}); - auto B = NDArrayFactory::create('c', {s, s}); - auto C = NDArrayFactory::create(resultOrder, {s, s}); + auto A = NDArrayFactory::create(std::vector{s, s}); + auto B = NDArrayFactory::create(std::vector{s, s}); + auto C = NDArrayFactory::create(std::vector, {s, s}, std::vector{}, resultOrder); x.push_back(new NDArray(A)); y.push_back(new NDArray(B)); @@ -826,9 +825,9 @@ namespace sd { auto generator = PARAMETRIC_D() { auto ctx = new Context(1); int length = p.getIntParam("length"); - auto in = NDArrayFactory::create('c', {length}); - auto indices = NDArrayFactory::create('c', {length}); - auto updates = NDArrayFactory::create('c', {length}); + auto in = NDArrayFactory::vector(length); + auto indices = NDArrayFactory::vector(length); + auto updates = NDArrayFactory::vector(length); int* a = new int[length]; for( int i=0; i('c', {rows, cols}); - auto indices = NDArrayFactory::create('c', {rows}); - auto updates = NDArrayFactory::create('c', {rows, cols}); + auto in = NDArrayFactory::create(std::vector{rows, cols}); + auto indices = NDArrayFactory::vector(rows); + auto updates = NDArrayFactory::create(std::vector{rows, cols}); int* a = new int[rows]; for( int i=0; i('c', {sz0, sz1, 512/sz1}); - auto indices = NDArrayFactory::create('c', {sz0}); - auto updates = NDArrayFactory::create('c', {sz0, sz1, 512/sz1}); + auto in = NDArrayFactory::create(std::vector{sz0, sz1, 512/sz1}); + auto indices = NDArrayFactory::vector(sz0); + auto updates = NDArrayFactory::create(std::vector{sz0, sz1, 512/sz1}); int* a = new int[sz0]; for( int i=0; i('c', {length}); - auto indices = NDArrayFactory::create('c', {length}); + auto in = NDArrayFactory::vector(length); + auto indices = NDArrayFactory::vector(length); int* a = new int[length]; for( int i=0; isetInputArray(0, in); ctx->setInputArray(1, indices); - ctx->setOutputArray(0, NDArrayFactory::create('c', {length})); + ctx->setOutputArray(0, NDArrayFactory::vector(length)); return ctx; }; @@ -967,8 +966,8 @@ namespace sd { auto ctx = new Context(1); int rows = p.getIntParam("rows"); int cols = p.getIntParam("cols"); - auto in = NDArrayFactory::create('c', {rows, cols}); - auto indices = NDArrayFactory::create('c', {rows}); + auto in = NDArrayFactory::create(std::vector{rows, cols}); + auto indices = NDArrayFactory::vector(rows); int* a = new int[rows]; for( int i=0; isetInputArray(0, in); ctx->setInputArray(1, indices); - ctx->setOutputArray(0, NDArrayFactory::create('c', {rows, cols})); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{rows, cols})); return ctx; }; @@ -999,8 +998,8 @@ namespace sd { auto ctx = new Context(1); int sz0 = p.getIntParam("sz0"); int sz1 = p.getIntParam("sz1"); - auto in = NDArrayFactory::create('c', {sz0, sz1, 512/sz1}); - auto indices = NDArrayFactory::create('c', {sz0}); + auto in = NDArrayFactory::create(std::vector{sz0, sz1, 512/sz1}); + auto indices = NDArrayFactory::vector(sz0); int* a = new int[sz0]; for( int i=0; isetInputArray(0, in); ctx->setInputArray(1, indices); - ctx->setOutputArray(0, NDArrayFactory::create('c', {sz0, sz1, 512/sz1})); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{sz0, sz1, 512/sz1})); return ctx; }; @@ -1039,8 +1038,8 @@ namespace sd { int cols = numElements / rows; bool c = p.getIntParam("cf"); - auto arr = NDArrayFactory::create(c ? 'c' : 'f', {rows, cols}); - auto arr2 = NDArrayFactory::create(c ? 'f' : 'c', {rows, cols}); + auto arr = NDArrayFactory::create(std::vector{rows, cols}, {}, c ? sd::kArrayOrderC : sd::kArrayOrderFortran); + auto arr2 = NDArrayFactory::create(std::vector{rows, cols}, {}, c ? sd::kArrayOrderFortran : sd::kArrayOrderC); x.push_back(new NDArray(arr)); z.push_back(new NDArray(arr2)); }; @@ -1055,15 +1054,15 @@ namespace sd { bool nchw = p.getIntParam("nchw"); if(nchw) { - auto orig = NDArrayFactory::create('c', {16, 32, 64, 64}); + auto orig = NDArrayFactory::create(std::vector{16, 32, 64, 64}); orig.permutei({0,2,3,1}); x.push_back(new NDArray(orig.dup())); - z.push_back(new NDArray(NDArrayFactory::create('c', {16, 64, 64, 32}))); + z.push_back(new NDArray(NDArrayFactory::create(std::vector{16, 64, 64, 32}))); } else { - auto orig = NDArrayFactory::create('c', {16, 64, 64, 32}); + auto orig = NDArrayFactory::create(std::vector{16, 64, 64, 32}); orig.permutei({0,3,1,2}); x.push_back(new NDArray(orig)); - z.push_back(new NDArray(NDArrayFactory::create('c', {16, 32, 64, 64}))); + z.push_back(new NDArray(NDArrayFactory::create(std::vector{16, 32, 64, 64}))); } }; @@ -1155,9 +1154,9 @@ namespace sd { } auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', shape)); - ctx->setInputArray(1, NDArrayFactory::create('c', toBcShape)); - ctx->setOutputArray(0, NDArrayFactory::create('c', shape)); + ctx->setInputArray(0, NDArrayFactory::create(shape)); + ctx->setInputArray(1, NDArrayFactory::create(toBcShape)); + ctx->setOutputArray(0, NDArrayFactory::create(shape)); return ctx; }; @@ -1187,20 +1186,20 @@ namespace sd { auto generator = PARAMETRIC_D() { auto a = p.getIntParam("axis"); - auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); + auto arr = NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}); auto ctx = new Context(1); ctx->setInputArray(0, arr); if(a == 0){ - ctx->setInputArray(1, NDArrayFactory::create('c', {p.getIntParam("rows"), 1})); + ctx->setInputArray(1, NDArrayFactory::create(std::vector{p.getIntParam("rows"), 1})); } else { - ctx->setInputArray(1, NDArrayFactory::create('c', {1, p.getIntParam("cols")})); + ctx->setInputArray(1, NDArrayFactory::create(std::vector{1, p.getIntParam("cols")})); } if (p.getIntParam("inplace") == 1) { ctx->setOutputArray(0, arr); ctx->markInplace(true); } else { - ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")})); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")})); } return ctx; }; @@ -1225,17 +1224,17 @@ namespace sd { ParametersBatch batch({&rows, &cols, &inplace}); auto generator = PARAMETRIC_XYZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); + auto arr = NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}); x.push_back(new NDArray(arr)); if(axis == 0){ - y.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("rows")}))); + y.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("rows")})); } else { - y.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("cols")}))); + y.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("cols")})); } if (p.getIntParam("inplace") == 1) { z.push_back(new NDArray(arr)); } else { - z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}))); + z.push_back(new NDArray(NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}))); } }; @@ -1263,9 +1262,9 @@ namespace sd { //Note: always inplace here auto generator = PARAMETRIC_XYZ() { - auto arr = NDArrayFactory::create('c', shape); + auto arr = NDArrayFactory::create(shape); x.push_back(new NDArray(arr)); - y.push_back(new NDArray(NDArrayFactory::create('c', {vectorLength}))); + y.push_back(new NDArray(NDArrayFactory::vector(vectorLength))); z.push_back(new NDArray(arr)); }; @@ -1290,7 +1289,7 @@ namespace sd { //This is an edge case: technically an EWS *should* be available here auto generator1 = PARAMETRIC_XYZ() { auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create('c', {131072 + (stride == 1 ? 0 : 1), stride}); + auto arr = NDArrayFactory::create(std::vector{131072 + (stride == 1 ? 0 : 1), stride}); NDArray* strided; if(stride == 1){ @@ -1313,7 +1312,7 @@ namespace sd { //No EWS defined for this case auto generator2 = PARAMETRIC_XYZ() { auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create('c', {(stride == 1 ? 1 : 2) * 1024, 1024, stride}); + auto arr = NDArrayFactory::create(std::vector{(stride == 1 ? 1 : 2) * 1024, 1024, stride}); NDArray* strided; if(stride == 1){ @@ -1348,7 +1347,7 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create('c', {p.getIntParam("length"), stride}); + auto arr = NDArrayFactory::create(std::vector{p.getIntParam("length"), stride}); NDArray* strided; if(stride == 1){ @@ -1382,7 +1381,7 @@ namespace sd { auto generator = PARAMETRIC_XYZ() { auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create('c', {p.getIntParam("length"), stride}); + auto arr = NDArrayFactory::create(std::vector{p.getIntParam("length"), stride}); NDArray* strided; if(stride == 1){ @@ -1395,7 +1394,7 @@ namespace sd { strided->assign(1.0); x.push_back(strided); y.push_back(nullptr); - z.push_back(new NDArray(NDArrayFactory::create('c', {1}))); + z.push_back(new NDArray(NDArrayFactory::vector(1))); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "Strided Sum"); @@ -1405,7 +1404,7 @@ namespace sd { auto generator3 = PARAMETRIC_D(){ auto ctx = new Context(1); auto stride = p.getIntParam("stride"); - auto arr = NDArrayFactory::create('c', {p.getIntParam("length"), stride}); + auto arr = NDArrayFactory::create(std::vector{p.getIntParam("length"), stride}); NDArray* strided; if(stride == 1){ @@ -1417,7 +1416,7 @@ namespace sd { strided->assign(1.0); ctx->setInputArray(0, strided, true); - ctx->setOutputArray(0, NDArrayFactory::create('c', {1})); + ctx->setOutputArray(0, NDArrayFactory::vector(1)); auto iargs = new Nd4jLong[1]; iargs[0] = 0; ctx->setIArguments(iargs, 1); @@ -1450,7 +1449,7 @@ namespace sd { int rows = p.getIntParam("rows"); int cols = length[i] / rows; int dim = p.getIntParam("dim"); - auto arr = NDArrayFactory::create('c', {rows, cols}); + auto arr = NDArrayFactory::create(std::vector{rows, cols}); x.push_back(new NDArray(arr)); @@ -1458,9 +1457,9 @@ namespace sd { NDArray result; if(dim == 0){ - result = NDArrayFactory::create('c', {cols}); + result = NDArrayFactory::vector(cols); } else { - result = NDArrayFactory::create('c', {rows}); + result = NDArrayFactory::vector(rows); } z.push_back(new NDArray(result)); }; @@ -1479,7 +1478,7 @@ namespace sd { int rows = p.getIntParam("rows"); int cols = length[i] / rows; int dim = p.getIntParam("dim"); - auto arr = NDArrayFactory::create('c', {rows, cols}); + auto arr = NDArrayFactory::create(std::vector{rows, cols}); Nd4jLong* dimArg = new Nd4jLong[1]; dimArg[0] = dim; @@ -1490,9 +1489,9 @@ namespace sd { NDArray result; if(dim == 0){ - result = NDArrayFactory::create('c', {cols}); + result = NDArrayFactory::vector(cols); } else { - result = NDArrayFactory::create('c', {rows}); + result = NDArrayFactory::vector(rows); } ctx->setOutputArray(0, result); return ctx; @@ -1518,7 +1517,7 @@ namespace sd { ParametersBatch batch({&length}); auto generator = PARAMETRIC_XYZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::vector(p.getIntParam("length")); x.push_back(new NDArray(arr)); y.push_back(nullptr); @@ -1535,7 +1534,7 @@ namespace sd { auto generator3 = PARAMETRIC_D(){ auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")})); + ctx->setInputArray(0, NDArrayFactory::vector(p.getIntParam("length"))); ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0)); ctx->setOutputArray(0, NDArrayFactory::create(0)); @@ -1556,7 +1555,7 @@ namespace sd { auto generator = PARAMETRIC_XZ() { int r = p.getIntParam("rowcol"); - auto arr = NDArrayFactory::create('c', {r, r + 1}); + auto arr = NDArrayFactory::create(std::vector{r, r + 1}); IndicesList indices({NDIndex::all(), NDIndex::interval(0,r-1)}); auto view = new NDArray(arr.subarray(indices)); //nd4j_printf("VIEW ARRAY: rows=%lld, columns=%lld", view->sizeAt(0), view->sizeAt(1)); @@ -1564,12 +1563,12 @@ namespace sd { if(p.getIntParam("inplace") == 1){ z.push_back(view); } else { - z.push_back(new NDArray(NDArrayFactory::create('c', {view->sizeAt(0),view->sizeAt(1)}))); + z.push_back(new NDArray(NDArrayFactory::create(std::vector{view->sizeAt(0),view->sizeAt(1)}))); } }; ScalarBenchmark sbLRelu(scalar::Ops::LeakyRELU, "LeakyRELU_View"); - sbLRelu.setY(new NDArray(NDArrayFactory::create(0.0))); + sbLRelu.setY(new NDArray(NDArrayFactory::create(0.f))); TransformBenchmark tbExp(transform::StrictOps::Exp, "exp view"); @@ -1588,14 +1587,14 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XYZ() { - auto arr1 = NDArrayFactory::create('c', {p.getIntParam("length")}); - auto arr2 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr1 = NDArrayFactory::vector(p.getIntParam("length")); + auto arr2 = NDArrayFactory::vector(p.getIntParam("length")); x.push_back(new NDArray(arr1)); y.push_back(new NDArray(arr2)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr1)); } else { - z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); + z.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("length")))); } }; @@ -1617,13 +1616,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::vector(p.getIntParam("length")); arr.assign(1.0); x.push_back(new NDArray(arr)); if (p.getIntParam("inplace") == 1) { z.push_back(new NDArray(arr)); } else { - z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); + z.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("length")))); } }; @@ -1636,13 +1635,13 @@ namespace sd { DeclarableBenchmark pg(op1, "polygamma"); auto generator2 = PARAMETRIC_D() { auto ctx = new Context(1); - auto in0 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto in0 = NDArrayFactory::vector(p.getIntParam("length")); in0.assign(0.25); - auto in1 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto in1 = NDArrayFactory::vector(p.getIntParam("length")); in1.assign(0.5); ctx->setInputArray(0, in0); ctx->setInputArray(1, in1); - ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")})); + ctx->setOutputArray(0, NDArrayFactory::vector(p.getIntParam("length"))); return ctx; }; @@ -1653,16 +1652,16 @@ namespace sd { DeclarableBenchmark binc(op2, "betainc"); auto generator3 = PARAMETRIC_D() { auto ctx = new Context(1); - auto in0 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto in0 = NDArrayFactory::vector(p.getIntParam("length")); in0.assign(0.25); - auto in1 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto in1 = NDArrayFactory::vector(p.getIntParam("length")); in1.assign(0.5); - auto in2 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto in2 = NDArrayFactory::vector(p.getIntParam("length")); in2.assign(0.75); ctx->setInputArray(0, in0); ctx->setInputArray(1, in1); ctx->setInputArray(2, in2); - ctx->setOutputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")})); + ctx->setOutputArray(0, NDArrayFactory::vector(p.getIntParam("length"))); return ctx; }; @@ -1683,13 +1682,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::vector(p.getIntParam("length")); arr.assign(1.0); x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr)); } else { - z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); + z.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("length")))); } }; @@ -1707,13 +1706,13 @@ namespace sd { ParametersBatch batch2({&rows, &cols, &inplace}); auto generator2 = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}); + auto arr = NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}); arr.assign(1.0); x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr)); } else { - z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("rows"), p.getIntParam("cols")}))); + z.push_back(new NDArray(NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}))); } }; @@ -1733,13 +1732,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::vector(p.getIntParam("length")); arr.assign(1.0); x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr)); } else { - z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); + z.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("length")))); } }; @@ -1766,13 +1765,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::vector(p.getIntParam("length")); arr.assign(1.0); x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr)); } else { - z.push_back(new NDArray(NDArrayFactory::create('c', {p.getIntParam("length")}))); + z.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("length")))); } }; From bbc0c71b372ff8e42c76e89325c439319746412d Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 12 Jun 2020 15:05:31 +0300 Subject: [PATCH 39/99] Fixed benchmarks with new factor methods. Signed-off-by: shugeo --- .../benchmarking/impl/FullBenchmarkSuit.cpp | 6 +- .../benchmarking/impl/LightBenchmarkSuit.cpp | 124 +++++++++--------- 2 files changed, 65 insertions(+), 65 deletions(-) diff --git a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp index 0be1b480704e..d6f3bbbd9541 100644 --- a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp @@ -787,7 +787,7 @@ namespace sd { auto s = p.getIntParam("sz"); auto A = NDArrayFactory::create(std::vector{s, s}); auto B = NDArrayFactory::create(std::vector{s, s}); - auto C = NDArrayFactory::create(std::vector, {s, s}, std::vector{}, resultOrder); + auto C = NDArrayFactory::create(std::vector{s, s}, std::vector{}, resultOrder); x.push_back(new NDArray(A)); y.push_back(new NDArray(B)); @@ -1227,9 +1227,9 @@ namespace sd { auto arr = NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}); x.push_back(new NDArray(arr)); if(axis == 0){ - y.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("rows")})); + y.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("rows")))); } else { - y.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("cols")})); + y.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("cols")))); } if (p.getIntParam("inplace") == 1) { z.push_back(new NDArray(arr)); diff --git a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp index 57f55d314edc..99207597c537 100644 --- a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp @@ -46,13 +46,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::vector(p.getIntParam("length")); arr.assign(1.0); x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr)); } else { - auto arrV = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arrV = NDArrayFactory::vector(p.getIntParam("length")); z.push_back(new NDArray(arrV)); } }; @@ -83,13 +83,13 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::vector(p.getIntParam("length")); arr.assign(1.0); x.push_back(new NDArray(arr)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr)); } else { - auto zArr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto zArr = NDArrayFactory::vector(p.getIntParam("length")); z.push_back(new NDArray(zArr)); } }; @@ -124,14 +124,14 @@ namespace sd { ParametersBatch batch({&length, &inplace}); auto generator = PARAMETRIC_XYZ() { - auto arr1 = NDArrayFactory::create('c', {p.getIntParam("length")}); - auto arr2 = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr1 = NDArrayFactory::vector(p.getIntParam("length")); + auto arr2 = NDArrayFactory::vector(p.getIntParam("length")); x.push_back(new NDArray(arr1)); y.push_back(new NDArray(arr2)); if(p.getIntParam("inplace") == 1){ z.push_back(new NDArray(arr1)); } else { - auto zArr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto zArr = NDArrayFactory::vector(p.getIntParam("length")); z.push_back(new NDArray(zArr)); } }; @@ -160,8 +160,8 @@ namespace sd { int cols = numElements / rows; bool c = p.getIntParam("cf"); - auto arr = NDArrayFactory::create(c ? 'c' : 'f', {rows, cols}); - auto arr2 = NDArrayFactory::create(c ? 'f' : 'c', {rows, cols}); + auto arr = NDArrayFactory::create(std::vector{rows, cols}, {}, c ? sd::kArrayOrderC : kArrayOrderFortran); + auto arr2 = NDArrayFactory::create(std::vector{rows, cols}, {}, c ? sd::kArrayOrderFortran : kArrayOrderC); x.push_back(new NDArray(arr)); z.push_back(new NDArray(arr2)); }; @@ -179,15 +179,15 @@ namespace sd { bool nchw = p.getIntParam("nchw"); if(nchw) { - auto orig = NDArrayFactory::create('c', {mb, c, hw, hw}); + auto orig = NDArrayFactory::create(std::vector{mb, c, hw, hw}); orig.permutei({0,2,3,1}); x.push_back(new NDArray(orig)); - z.push_back(new NDArray(NDArrayFactory::create('c', {mb, hw, hw, c}))); + z.push_back(new NDArray(NDArrayFactory::create(std::vector{mb, hw, hw, c}))); } else { - auto orig = NDArrayFactory::create('c', {mb, hw, hw, c}); + auto orig = NDArrayFactory::create(std::vector{mb, hw, hw, c}); orig.permutei({0,3,1,2}); x.push_back(new NDArray(orig.dup())); - z.push_back(new NDArray(NDArrayFactory::create('c', {mb, c, hw, hw}))); + z.push_back(new NDArray(NDArrayFactory::create(std::vector{mb, c, hw, hw}))); } }; @@ -203,7 +203,7 @@ namespace sd { BenchmarkHelper helper(WARMUP, NUM_ITER); for (int o = 0; o <= 1; o++) { - char resultOrder = (o == 0 ? 'f' : 'c'); + sd::Order resultOrder = (o == 0 ? sd::kArrayOrderFortran : sd::kArrayOrderC); IntPowerParameters sz("sz", 2, 4, 10, 2); //2^4=16, ..., 2^10=1024 -> 4 elements ParametersBatch b({&sz}); @@ -216,9 +216,9 @@ namespace sd { std::vector shapeB; shapeA = {a, b}; shapeB = {b, c}; - auto A = NDArrayFactory::create('c', shapeA); - auto B = NDArrayFactory::create('c', shapeB); - auto C = NDArrayFactory::create(resultOrder, {a, c}); + auto A = NDArrayFactory::create(shapeA); + auto B = NDArrayFactory::create(shapeB); + auto C = NDArrayFactory::create(std::vector{a, c}, {}, resultOrder); x.push_back(new NDArray(A)); y.push_back(new NDArray(B)); @@ -249,7 +249,7 @@ namespace sd { ParametersBatch batch({&length}); auto generator = PARAMETRIC_XYZ() { - auto arr = NDArrayFactory::create('c', {p.getIntParam("length")}); + auto arr = NDArrayFactory::vector(p.getIntParam("length")); x.push_back(new NDArray(arr)); y.push_back(nullptr); @@ -270,7 +270,7 @@ namespace sd { auto generator3 = PARAMETRIC_D(){ auto ctx = new Context(1); - ctx->setInputArray(0, NDArrayFactory::create('c', {p.getIntParam("length")})); + ctx->setInputArray(0, NDArrayFactory::vector(p.getIntParam("length"))); ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0)); ctx->setOutputArray(0, NDArrayFactory::create(0)); @@ -301,7 +301,7 @@ namespace sd { int rows = p.getIntParam("rows"); int cols = length[i] / rows; int dim = p.getIntParam("dim"); - auto arr = NDArrayFactory::create('c', {rows, cols}); + auto arr = NDArrayFactory::create(std::vector{rows, cols}); x.push_back(new NDArray(arr)); @@ -309,9 +309,9 @@ namespace sd { NDArray result; if(dim == 0){ - result = NDArrayFactory::create('c', {cols}); + result = NDArrayFactory::vector(cols); } else { - result = NDArrayFactory::create('c', {rows}); + result = NDArrayFactory::vector(rows); } z.push_back(new NDArray(result)); }; @@ -334,7 +334,7 @@ namespace sd { int rows = p.getIntParam("rows"); int cols = length[i] / rows; int dim = p.getIntParam("dim"); - auto arr = NDArrayFactory::create('c', {rows, cols}); + auto arr = NDArrayFactory::create(std::vector{rows, cols}); auto dimArg = new Nd4jLong[1]; dimArg[0] = dim; @@ -345,9 +345,9 @@ namespace sd { NDArray result; if(dim == 0){ - result = NDArrayFactory::create('c', {cols}); + result = NDArrayFactory::vector(cols); } else { - result = NDArrayFactory::create('c', {rows}); + result = NDArrayFactory::vector(rows); } ctx->setOutputArray(0, result); return ctx; @@ -385,19 +385,19 @@ namespace sd { int khw = p.getIntParam("k"); if (n == 0) { - auto input = NDArrayFactory::create('c', {8, 3, hw, hw}); - auto output = NDArrayFactory::create('c', {8, 3, hw, hw}); + auto input = NDArrayFactory::create(std::vector{8, 3, hw, hw}); + auto output = NDArrayFactory::create(std::vector{8, 3, hw, hw}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); } else { - auto input = NDArrayFactory::create('c', {8, hw, hw, 3}); - auto output = NDArrayFactory::create('c', {8, hw, hw, 3}); + auto input = NDArrayFactory::create(std::vector{8, hw, hw, 3}); + auto output = NDArrayFactory::create(std::vector{8, hw, hw, 3}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); } - auto b = NDArrayFactory::create('c', {3}); - auto w = NDArrayFactory::create('c', {khw, khw, 3, 3}); // [kH, kW, iC, oC] always + auto b = NDArrayFactory::vector(3); + auto w = NDArrayFactory::create(std::vector{khw, khw, 3, 3}); // [kH, kW, iC, oC] always ctx->setInputArray(1, w); ctx->setInputArray(2, b); @@ -440,13 +440,13 @@ namespace sd { int khw = p.getIntParam("k"); if (n == 0) { - auto input = NDArrayFactory::create('c', {8, c, hw, hw}); - auto output = NDArrayFactory::create('c', {8, c, hw, hw}); + auto input = NDArrayFactory::create(std::vector{8, c, hw, hw}); + auto output = NDArrayFactory::create(std::vector{8, c, hw, hw}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); } else { - auto input = NDArrayFactory::create('c', {8, hw, hw, c}); - auto output = NDArrayFactory::create('c', {8, hw, hw, c}); + auto input = NDArrayFactory::create(std::vector{8, hw, hw, c}); + auto output = NDArrayFactory::create(std::vector{8, hw, hw, c}); ctx->setInputArray(0, input); ctx->setOutputArray(0, output); } @@ -501,33 +501,33 @@ namespace sd { if (f == 0) { //TNS format - ctx->setInputArray(1, NDArrayFactory::create('c', {seqLength, m, n})); //x - ctx->setOutputArray(0, NDArrayFactory::create('c', {seqLength, m, n})); //i - ctx->setOutputArray(1, NDArrayFactory::create('c', {seqLength, m, n})); //c - ctx->setOutputArray(2, NDArrayFactory::create('c', {seqLength, m, n})); //f - ctx->setOutputArray(3, NDArrayFactory::create('c', {seqLength, m, n})); //o - ctx->setOutputArray(4, NDArrayFactory::create('c', {seqLength, m, n})); //z - ctx->setOutputArray(5, NDArrayFactory::create('c', {seqLength, m, n})); //h - ctx->setOutputArray(6, NDArrayFactory::create('c', {seqLength, m, n})); //y + ctx->setInputArray(1, NDArrayFactory::create(std::vector{seqLength, m, n})); //x + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{seqLength, m, n})); //i + ctx->setOutputArray(1, NDArrayFactory::create(std::vector{seqLength, m, n})); //c + ctx->setOutputArray(2, NDArrayFactory::create(std::vector{seqLength, m, n})); //f + ctx->setOutputArray(3, NDArrayFactory::create(std::vector{seqLength, m, n})); //o + ctx->setOutputArray(4, NDArrayFactory::create(std::vector{seqLength, m, n})); //z + ctx->setOutputArray(5, NDArrayFactory::create(std::vector{seqLength, m, n})); //h + ctx->setOutputArray(6, NDArrayFactory::create(std::vector{seqLength, m, n})); //y } else { //NST format - ctx->setInputArray(1, NDArrayFactory::create('f', {m, n, seqLength})); //x - ctx->setOutputArray(0, NDArrayFactory::create('f', {m, n, seqLength})); //i - ctx->setOutputArray(1, NDArrayFactory::create('f', {m, n, seqLength})); //c - ctx->setOutputArray(2, NDArrayFactory::create('f', {m, n, seqLength})); //f - ctx->setOutputArray(3, NDArrayFactory::create('f', {m, n, seqLength})); //o - ctx->setOutputArray(4, NDArrayFactory::create('f', {m, n, seqLength})); //z - ctx->setOutputArray(5, NDArrayFactory::create('f', {m, n, seqLength})); //h - ctx->setOutputArray(6, NDArrayFactory::create('f', {m, n, seqLength})); //y + ctx->setInputArray(1, NDArrayFactory::create(std::vector{m, n, seqLength}, std::vector{}, kArrayOrderFortran)); //x + ctx->setOutputArray(0, NDArrayFactory::create(std::vector {m, n, seqLength}, std::vector{}, kArrayOrderFortran)); //i + ctx->setOutputArray(1, NDArrayFactory::create(std::vector {m, n, seqLength}, std::vector{}, kArrayOrderFortran)); //c + ctx->setOutputArray(2, NDArrayFactory::create(std::vector {m, n, seqLength}, std::vector{}, kArrayOrderFortran)); //f + ctx->setOutputArray(3, NDArrayFactory::create(std::vector {m, n, seqLength}, std::vector{}, kArrayOrderFortran)); //o + ctx->setOutputArray(4, NDArrayFactory::create(std::vector {m, n, seqLength}, std::vector{}, kArrayOrderFortran)); //z + ctx->setOutputArray(5, NDArrayFactory::create(std::vector {m, n, seqLength}, std::vector{}, kArrayOrderFortran)); //h + ctx->setOutputArray(6, NDArrayFactory::create(std::vector {m, n, seqLength}, std::vector{}, kArrayOrderFortran)); //y } - auto cLast = NDArrayFactory::create('c', {m, n}); - auto yLast = NDArrayFactory::create('c', {m, n}); - auto W = NDArrayFactory::create('c', {2 * n, 4 * n}); - auto Wci = NDArrayFactory::create('c', {n}); - auto Wcf = NDArrayFactory::create('c', {n}); - auto Wco = NDArrayFactory::create('c', {n}); - auto b = NDArrayFactory::create('c', {4 * n}); + auto cLast = NDArrayFactory::create(std::vector{m, n}); + auto yLast = NDArrayFactory::create(std::vector{m, n}); + auto W = NDArrayFactory::create(std::vector{2 * n, 4 * n}); + auto Wci = NDArrayFactory::vector(n); + auto Wcf = NDArrayFactory::vector(n); + auto Wco = NDArrayFactory::vector(n); + auto b = NDArrayFactory::vector(4 * n); ctx->setInputArray(2, cLast); ctx->setInputArray(3, yLast); @@ -566,20 +566,20 @@ namespace sd { auto generator = PARAMETRIC_D() { auto a = p.getIntParam("axis"); - auto arr = NDArrayFactory::create('c', {rows, p.getIntParam("cols")}); + auto arr = NDArrayFactory::create(std::vector{rows, p.getIntParam("cols")}); auto ctx = new Context(1); ctx->setInputArray(0, arr); if(a == 0){ - ctx->setInputArray(1, NDArrayFactory::create('c', {rows, 1})); + ctx->setInputArray(1, NDArrayFactory::create(std::vector{rows, 1})); } else { - ctx->setInputArray(1, NDArrayFactory::create('c', {1, p.getIntParam("cols")})); + ctx->setInputArray(1, NDArrayFactory::create(std::vector{1, p.getIntParam("cols")})); } if (p.getIntParam("inplace") == 1) { ctx->setOutputArray(0, arr); ctx->markInplace(true); } else { - ctx->setOutputArray(0, NDArrayFactory::create('c', {rows, p.getIntParam("cols")})); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{rows, p.getIntParam("cols")})); } return ctx; }; From c18cfd1febe539a1986b91bfb20bc8cdddeba370 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 12 Jun 2020 17:26:04 +0300 Subject: [PATCH 40/99] Fixed AttentionTests to adopt new array factory methods. Signed-off-by: shugeo --- .../tests_cpu/layers_tests/AttentionTests.cpp | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/AttentionTests.cpp b/libnd4j/tests_cpu/layers_tests/AttentionTests.cpp index ab6d50b53895..3fb47e34cd74 100644 --- a/libnd4j/tests_cpu/layers_tests/AttentionTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/AttentionTests.cpp @@ -38,9 +38,9 @@ class AttentionTests : public testing::Test { }; TEST_F(AttentionTests, basic_dot_product_attention) { - auto keys = NDArrayFactory::create('c', {10, 4, 3}); - auto values = NDArrayFactory::create('c', {10, 4, 3}); - auto queries = NDArrayFactory::create('c', {10, 4, 1}); + auto keys = NDArrayFactory::create({10LL, 4LL, 3LL}); + auto values = NDArrayFactory::create({10LL, 4LL, 3LL}); + auto queries = NDArrayFactory::create({10LL, 4LL, 1LL}); sd::ops::dot_product_attention op; auto result = op.evaluate({&queries, &keys, &values}, {1, 0}); @@ -64,9 +64,9 @@ TEST_F(AttentionTests, basic_dot_product_attention_bp) { */ TEST_F(AttentionTests, basic_dot_product_attention_with_weights) { - auto keys = NDArrayFactory::create('c', {10, 4, 3}); - auto values = NDArrayFactory::create('c', {10, 4, 3}); - auto queries = NDArrayFactory::create('c', {10, 4, 1}); + auto keys = NDArrayFactory::create({10LL, 4LL, 3LL}); + auto values = NDArrayFactory::create({10LL, 4LL, 3LL}); + auto queries = NDArrayFactory::create({10LL, 4LL, 1LL}); sd::ops::dot_product_attention op; auto result = op.evaluate({&queries, &keys, &values}, {1, 1}); @@ -74,10 +74,10 @@ TEST_F(AttentionTests, basic_dot_product_attention_with_weights) { } TEST_F(AttentionTests, basic_dot_product_attention_with_mask) { - auto keys = NDArrayFactory::create('c', {10, 4, 3}); - auto values = NDArrayFactory::create('c', {10, 4, 3}); - auto queries = NDArrayFactory::create('c', {10, 4, 1}); - auto mask = NDArrayFactory::create('c', {10, 3}); + auto keys = NDArrayFactory::create({10LL, 4LL, 3LL}); + auto values = NDArrayFactory::create({10LL, 4LL, 3LL}); + auto queries = NDArrayFactory::create({10LL, 4LL, 1LL}); + auto mask = NDArrayFactory::create({10LL, 3LL}); mask.assign(1.); sd::ops::dot_product_attention op; @@ -104,10 +104,10 @@ TEST_F(AttentionTests, basic_dot_product_attention_bp_with_mask) { */ TEST_F(AttentionTests, multi_head_input_dot_product_attention_with_mask) { - auto keys = NDArrayFactory::create('c', {2, 5, 4, 3}); - auto values = NDArrayFactory::create('c', {2, 5, 4, 3}); - auto queries = NDArrayFactory::create('c', {2, 5, 4, 1}); - auto mask = NDArrayFactory::create('c', {2, 3}); + auto keys = NDArrayFactory::create({2LL, 5LL, 4LL, 3LL}); + auto values = NDArrayFactory::create({2LL, 5LL, 4LL, 3LL}); + auto queries = NDArrayFactory::create({2LL, 5LL, 4LL, 1LL}); + auto mask = NDArrayFactory::create({2LL, 3LL}); mask.assign(1.); sd::ops::dot_product_attention op; @@ -135,14 +135,14 @@ TEST_F(AttentionTests, multi_head_input_dot_product_attention_bp_with_mask) { TEST_F(AttentionTests, basic_multi_head_dot_product_attention) { - auto keys = NDArrayFactory::create('c', {10, 4, 5}); - auto values = NDArrayFactory::create('c', {10, 4, 5}); - auto queries = NDArrayFactory::create('c', {10, 4, 2}); + auto keys = NDArrayFactory::create({10LL, 4LL, 5LL}); + auto values = NDArrayFactory::create({10LL, 4LL, 5LL}); + auto queries = NDArrayFactory::create({10LL, 4LL, 2LL}); - auto Wk = NDArrayFactory::create('c', {2, 3, 4}); - auto Wv = NDArrayFactory::create('c', {2, 3, 4}); - auto Wq = NDArrayFactory::create('c', {2, 3, 4}); - auto Wo = NDArrayFactory::create('c', {2* 3, 4}); + auto Wk = NDArrayFactory::create({2LL, 3LL, 4LL}); + auto Wv = NDArrayFactory::create({2LL, 3LL, 4LL}); + auto Wq = NDArrayFactory::create({2LL, 3LL, 4LL}); + auto Wo = NDArrayFactory::create({2LL* 3LL, 4LL}); sd::ops::multi_head_dot_product_attention op; auto result = op.evaluate({&queries, &keys, &values, &Wk, &Wv, &Wq, &Wo}, {1, 0}); @@ -173,16 +173,16 @@ TEST_F(AttentionTests, basic_multi_head_dot_product_bp_attention) { */ TEST_F(AttentionTests, basic_multi_head_dot_product_attention_with_mask) { - auto keys = NDArrayFactory::create('c', {10, 4, 5}); - auto values = NDArrayFactory::create('c', {10, 4, 5}); - auto queries = NDArrayFactory::create('c', {10, 4, 2}); + auto keys = NDArrayFactory::create({10LL, 4LL, 5LL}); + auto values = NDArrayFactory::create({10LL, 4LL, 5LL}); + auto queries = NDArrayFactory::create({10LL, 4LL, 2LL}); - auto Wk = NDArrayFactory::create('c', {2, 3, 4}); - auto Wv = NDArrayFactory::create('c', {2, 3, 4}); - auto Wq = NDArrayFactory::create('c', {2, 3, 4}); - auto Wo = NDArrayFactory::create('c', {2* 3, 4}); + auto Wk = NDArrayFactory::create({2LL, 3LL, 4LL}); + auto Wv = NDArrayFactory::create({2LL, 3LL, 4LL}); + auto Wq = NDArrayFactory::create({2LL, 3LL, 4LL}); + auto Wo = NDArrayFactory::create({2LL* 3LL, 4LL}); - auto mask = NDArrayFactory::create('c', {10, 5}); + auto mask = NDArrayFactory::create({10LL, 5LL}); mask.assign(1.); From 64ee76f846bdcdd841b6d10da47c373cd13df9cf Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 15 Jun 2020 10:36:02 +0300 Subject: [PATCH 41/99] Fixed tests to use refactored method-creator. Signed-off-by: shugeo --- .../layers_tests/BooleanOpsTests.cpp | 22 +- .../layers_tests/BroadcastableOpsTests.cpp | 212 +++--- .../layers_tests/ConditionalTests.cpp | 16 +- .../layers_tests/ConstantShapeHelperTests.cpp | 14 +- .../tests_cpu/layers_tests/ContextTests.cpp | 44 +- .../layers_tests/ConvolutionTests1.cpp | 636 +++++++++--------- 6 files changed, 472 insertions(+), 472 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp index f03ad0c13572..cc3b0c83fb8f 100644 --- a/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp @@ -52,7 +52,7 @@ TEST_F(BooleanOpsTests, LtTest_2) { } TEST_F(BooleanOpsTests, Is_non_decreasing_1) { - auto x = NDArrayFactory::create('c', {2 , 2}, {1, 2, 4, 4}); + auto x = NDArrayFactory::create({2LL , 2LL}, {1., 2., 4., 4.}); sd::ops::is_non_decreasing op; @@ -61,7 +61,7 @@ TEST_F(BooleanOpsTests, Is_non_decreasing_1) { } TEST_F(BooleanOpsTests, Is_non_decreasing_2) { - auto x = NDArrayFactory::create('c', {2 , 2}, {1, 2, 4, 3}); + auto x = NDArrayFactory::create({2LL, 2LL}, {1., 2., 4., 3.}); sd::ops::is_non_decreasing op; @@ -70,7 +70,7 @@ TEST_F(BooleanOpsTests, Is_non_decreasing_2) { } TEST_F(BooleanOpsTests, Is_strictly_increasing_1) { - auto x = NDArrayFactory::create('c', {2 , 2}, {1, 2, 4, 5}); + auto x = NDArrayFactory::create({2LL , 2LL}, {1., 2., 4., 5.}); sd::ops::is_strictly_increasing op; @@ -79,7 +79,7 @@ TEST_F(BooleanOpsTests, Is_strictly_increasing_1) { } TEST_F(BooleanOpsTests, Is_strictly_increasing_2) { - auto x = NDArrayFactory::create('c', {2 , 2}, {1, 2, 3, 3}); + auto x = NDArrayFactory::create({2LL , 2LL}, {1., 2., 3., 3.}); sd::ops::is_strictly_increasing op; @@ -88,7 +88,7 @@ TEST_F(BooleanOpsTests, Is_strictly_increasing_2) { } TEST_F(BooleanOpsTests, Is_strictly_increasing_3) { - auto x = NDArrayFactory::create('c', {2 , 2}, {1, 2, 4, 3}); + auto x = NDArrayFactory::create({2LL, 2LL}, {1., 2., 4., 3.}); sd::ops::is_strictly_increasing op; @@ -96,7 +96,7 @@ TEST_F(BooleanOpsTests, Is_strictly_increasing_3) { } TEST_F(BooleanOpsTests, Is_strictly_increasing_5) { - auto x = NDArrayFactory::create('c', {64, 512}); + auto x = NDArrayFactory::create({64LL, 512LL}); x.linspace(1.0); sd::ops::is_strictly_increasing op; @@ -105,7 +105,7 @@ TEST_F(BooleanOpsTests, Is_strictly_increasing_5) { } TEST_F(BooleanOpsTests, Is_strictly_increasing_6) { - auto x = NDArrayFactory::create('c', {64, 512}); + auto x = NDArrayFactory::create({64LL, 512LL}); x.linspace(1.0); x.p(18, 1000323.f); @@ -116,7 +116,7 @@ TEST_F(BooleanOpsTests, Is_strictly_increasing_6) { } TEST_F(BooleanOpsTests, Is_numeric_tensor_1) { - auto x = NDArrayFactory::create('c', {2 , 2}, {1.f, 2.f, 4.f, 3.f}); + auto x = NDArrayFactory::create({2LL, 2LL}, {1.f, 2.f, 4.f, 3.f}); sd::ops::is_numeric_tensor op; @@ -124,9 +124,9 @@ TEST_F(BooleanOpsTests, Is_numeric_tensor_1) { } TEST_F(BooleanOpsTests, test_where_1) { - auto x = NDArrayFactory::create('c', {6}, { 1, -3, 4, 8, -2, 5 }); - auto y = NDArrayFactory::create('c', {6}, { 2, -3, 1, 1, -2, 1 }); - auto e = NDArrayFactory::create('c', {3}, { 4, 8, 5 }); + auto x = NDArrayFactory::create({6LL,}, { 1., -3., 4., 8., -2., 5. }); + auto y = NDArrayFactory::create({6LL,}, { 2., -3., 1., 1., -2., 1. }); + auto e = NDArrayFactory::create({3LL,}, { 4., 8., 5. }); sd::ops::choose op; diff --git a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp index 5a4db9fb8163..468abf6c81ef 100644 --- a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp @@ -62,9 +62,9 @@ TEST_F(BroadcastableOpsTests, Test_Add_1) { TEST_F(BroadcastableOpsTests, Test_Multiply_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {1, 5}); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create({5LL, 5LL}); + auto y = NDArrayFactory::create({1LL, 5LL}); + auto exp = NDArrayFactory::create({5LL, 5LL}); x.linspace(1); y.linspace(1); exp.linspace(1); @@ -84,9 +84,9 @@ TEST_F(BroadcastableOpsTests, Test_Multiply_1) { TEST_F(BroadcastableOpsTests, Test_SquaredSubtract_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {1, 5}); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create({5, 5}); + auto y = NDArrayFactory::create({1, 5}); + auto exp = NDArrayFactory::create({5, 5}); x.linspace(1); y.linspace(1); exp.linspace(1); @@ -108,9 +108,9 @@ TEST_F(BroadcastableOpsTests, Test_SquaredSubtract_1) { TEST_F(BroadcastableOpsTests, Test_ScalarBroadcast_1) { - auto x = NDArrayFactory::create('c', {1, 1}, {1}); - auto y = NDArrayFactory::create('c', {1, 3}, {0, 1, 2}); - auto exp = NDArrayFactory::create('c', {1,3}, {1, 0, -1}); + auto x = NDArrayFactory::create({1, 1}, {1}); + auto y = NDArrayFactory::create({1, 3}, {0, 1, 2}); + auto exp = NDArrayFactory::create({1,3}, {1, 0, -1}); sd::ops::subtract op; auto result = op.evaluate({&x, &y}); @@ -125,9 +125,9 @@ TEST_F(BroadcastableOpsTests, Test_ScalarBroadcast_1) { TEST_F(BroadcastableOpsTests, Test_ScalarBroadcast_2) { - auto x = NDArrayFactory::create('c', {1, 1}, {1}); - auto y = NDArrayFactory::create('c', {1, 3}, {0, 1, 2}); - auto exp = NDArrayFactory::create('c', {1,3}, {1, 2, 3}); + auto x = NDArrayFactory::create({1, 1}, {1}); + auto y = NDArrayFactory::create({1, 3}, {0, 1, 2}); + auto exp = NDArrayFactory::create({1,3}, {1, 2, 3}); sd::ops::add op; auto result = op.evaluate({&x, &y}); @@ -142,9 +142,9 @@ TEST_F(BroadcastableOpsTests, Test_ScalarBroadcast_2) { TEST_F(BroadcastableOpsTests, Test_Maximum_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 1, 2, 3, 2}); - auto row = NDArrayFactory::create('c', {1, 3}, {2, 2, 2}); - auto exp = NDArrayFactory::create('c', {2, 3}, {2, 2, 2, 2, 3, 2}); + auto x = NDArrayFactory::create({2, 3}, {1, 2, 1, 2, 3, 2}); + auto row = NDArrayFactory::create({1, 3}, {2, 2, 2}); + auto exp = NDArrayFactory::create({2, 3}, {2, 2, 2, 2, 3, 2}); sd::ops::maximum op; auto result = op.evaluate({&x, &row}); @@ -158,9 +158,9 @@ TEST_F(BroadcastableOpsTests, Test_Maximum_1) { TEST_F(BroadcastableOpsTests, Test_Minimum_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 1, 2, 3, 2}); - auto col = NDArrayFactory::create('c', {2, 1}, {2, 1}); - auto exp = NDArrayFactory::create('c', {2, 3}, {1, 2, 1, 1, 1, 1}); + auto x = NDArrayFactory::create({2, 3}, {1, 2, 1, 2, 3, 2}); + auto col = NDArrayFactory::create({2, 1}, {2, 1}); + auto exp = NDArrayFactory::create({2, 3}, {1, 2, 1, 1, 1, 1}); sd::ops::minimum op; auto result = op.evaluate({&x, &col}); @@ -266,9 +266,9 @@ TEST_F(BroadcastableOpsTests, Test_Shape_5) { } TEST_F(BroadcastableOpsTests, Test_Scalar_Add_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create({2, 2}, {1, 2, 3, 4}); auto y = NDArrayFactory::create(2.0f); - auto exp = NDArrayFactory::create('c', {2, 2}, {3, 4, 5, 6}); + auto exp = NDArrayFactory::create({2, 2}, {3, 4, 5, 6}); sd::ops::add op; auto result = op.evaluate({&x, &y}); @@ -283,10 +283,10 @@ TEST_F(BroadcastableOpsTests, Test_Scalar_Add_1) { TEST_F(BroadcastableOpsTests, Test_Inplace_Output_1) { - auto x = NDArrayFactory::create('c', {2, 1, 3}); - auto y = NDArrayFactory::create('c', {4, 3}); - auto o = NDArrayFactory::create('c', {2, 4, 3}); - auto e = NDArrayFactory::create('c', {2, 4, 3}); + auto x = NDArrayFactory::create({2, 1, 3}); + auto y = NDArrayFactory::create({4, 3}); + auto o = NDArrayFactory::create({2, 4, 3}); + auto e = NDArrayFactory::create({2, 4, 3}); auto buffO1 = reinterpret_cast(o.buffer()); y.assign(1.0f); e.assign(1.0f); @@ -306,8 +306,8 @@ TEST_F(BroadcastableOpsTests, Test_Inplace_Output_1) { TEST_F(BroadcastableOpsTests, Test_Subtract_1) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {2}, {0.0f, 1.0f}); - auto e = NDArrayFactory::create('c', {2}, {1.0f, 0.0f}); + auto y = NDArrayFactory::create({2}, {0.0f, 1.0f}); + auto e = NDArrayFactory::create({2}, {1.0f, 0.0f}); auto z = x - y; @@ -316,8 +316,8 @@ TEST_F(BroadcastableOpsTests, Test_Subtract_1) { TEST_F(BroadcastableOpsTests, Test_Subtract_2) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {2}, {0.0f, 1.0f}); - auto e = NDArrayFactory::create('c', {2}, {1.0f, 0.0f}); + auto y = NDArrayFactory::create({2}, {0.0f, 1.0f}); + auto e = NDArrayFactory::create({2}, {1.0f, 0.0f}); sd::ops::subtract op; auto result = op.evaluate({&x, &y}); @@ -328,9 +328,9 @@ TEST_F(BroadcastableOpsTests, Test_Subtract_2) { TEST_F(BroadcastableOpsTests, Test_Subtract_3) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {2}, {0.0f, 1.0f}); - auto z = NDArrayFactory::create('c', {2}, {0.0f, 0.0f}); - auto e = NDArrayFactory::create('c', {2}, {1.0f, 0.0f}); + auto y = NDArrayFactory::create({2}, {0.0f, 1.0f}); + auto z = NDArrayFactory::create({2}, {0.0f, 0.0f}); + auto e = NDArrayFactory::create({2}, {1.0f, 0.0f}); sd::ops::subtract op; auto result = op.execute({&x, &y}, {&z}, {}, {}, {}); @@ -341,8 +341,8 @@ TEST_F(BroadcastableOpsTests, Test_Subtract_3) { TEST_F(BroadcastableOpsTests, Test_Subtract_4) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {2}, {0.0f, 1.0f}); - auto e = NDArrayFactory::create('c', {2}, {1.0f, 0.0f}); + auto y = NDArrayFactory::create({2}, {0.0f, 1.0f}); + auto e = NDArrayFactory::create({2}, {1.0f, 0.0f}); auto z = x.applyTrueBroadcast(BroadcastOpsTuple::Subtract(), y); @@ -353,8 +353,8 @@ TEST_F(BroadcastableOpsTests, Test_Subtract_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(BroadcastableOpsTests, Test_Subtract_5) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {2}, {0.0f, 1.0f}); - auto e = NDArrayFactory::create('c', {2}, {-1., 0.}); + auto y = NDArrayFactory::create({2}, {0.0f, 1.0f}); + auto e = NDArrayFactory::create({2}, {-1., 0.}); auto z = y - x; @@ -387,8 +387,8 @@ TEST_F(BroadcastableOpsTests, Test_Subtract_7) { TEST_F(BroadcastableOpsTests, Test_Add_2) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {2}, {0.0f, 1.0f}); - auto e = NDArrayFactory::create('c', {2}, {1.f, 2.f}); + auto y = NDArrayFactory::create({2}, {0.0f, 1.0f}); + auto e = NDArrayFactory::create({2}, {1.f, 2.f}); auto z = x + y; @@ -399,8 +399,8 @@ TEST_F(BroadcastableOpsTests, Test_Add_2) { TEST_F(BroadcastableOpsTests, Test_Add_3) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {2}, {0.0f, 1.0f}); - auto e = NDArrayFactory::create('c', {2}, {1.f, 2.f}); + auto y = NDArrayFactory::create({2}, {0.0f, 1.0f}); + auto e = NDArrayFactory::create({2}, {1.f, 2.f}); auto z = y + x; @@ -435,8 +435,8 @@ TEST_F(BroadcastableOpsTests, Test_Add_5) { TEST_F(BroadcastableOpsTests, Test_Multiply_2) { auto x = NDArrayFactory::create(2.0f); - auto y = NDArrayFactory::create('c', {2}, {3.f, 4.f}); - auto e = NDArrayFactory::create('c', {2}, {6.f, 8.f}); + auto y = NDArrayFactory::create({2}, {3.f, 4.f}); + auto e = NDArrayFactory::create({2}, {6.f, 8.f}); auto z = y * x; @@ -448,8 +448,8 @@ TEST_F(BroadcastableOpsTests, Test_Multiply_2) { TEST_F(BroadcastableOpsTests, Test_Multiply_3) { auto x = NDArrayFactory::create(2.0f); - auto y = NDArrayFactory::create('c', {2}, {3.f, 4.f}); - auto e = NDArrayFactory::create('c', {2}, {6.f, 8.f}); + auto y = NDArrayFactory::create({2}, {3.f, 4.f}); + auto e = NDArrayFactory::create({2}, {6.f, 8.f}); auto z = x * y; @@ -482,8 +482,8 @@ TEST_F(BroadcastableOpsTests, Test_Multiply_5) { TEST_F(BroadcastableOpsTests, Test_Multiply_6) { auto x = NDArrayFactory::create(2.0f); - auto y = NDArrayFactory::create('c', {1}, {4.f}); - auto e = NDArrayFactory::create('c', {1}, {8.f}); + auto y = NDArrayFactory::create({1}, {4.f}); + auto e = NDArrayFactory::create({1}, {8.f}); auto z = x * y; @@ -492,8 +492,8 @@ TEST_F(BroadcastableOpsTests, Test_Multiply_6) { TEST_F(BroadcastableOpsTests, Test_Multiply_7) { auto x = NDArrayFactory::create(2.0f); - auto y = NDArrayFactory::create('c', {1}, {4.f}); - auto e = NDArrayFactory::create('c', {1}, {8.f}); + auto y = NDArrayFactory::create({1}, {4.f}); + auto e = NDArrayFactory::create({1}, {8.f}); sd::ops::multiply op; auto result = op.evaluate({&x, &y}); @@ -507,8 +507,8 @@ TEST_F(BroadcastableOpsTests, Test_Multiply_7) { TEST_F(BroadcastableOpsTests, Test_Multiply_8) { auto x = NDArrayFactory::create(2.0f); - auto y = NDArrayFactory::create('c', {1, 1}, {4.f}); - auto e = NDArrayFactory::create('c', {1, 1}, {8.f}); + auto y = NDArrayFactory::create({1, 1}, {4.f}); + auto e = NDArrayFactory::create({1, 1}, {8.f}); sd::ops::multiply op; auto result = op.evaluate({&x, &y}); @@ -522,10 +522,10 @@ TEST_F(BroadcastableOpsTests, Test_Multiply_8) { ////////////////////////////////////////////////////////////////////// TEST_F(BroadcastableOpsTests, broadcast_add_1) { - NDArray x('c', {4}, {1,1,1,1}); - NDArray y('c', {1,4}, {1,2,3,4}); - NDArray z('c', {1,4}, sd::DataType::DOUBLE); - NDArray exp('c', {1,4}, {2,3,4,5}, sd::DataType::DOUBLE); + NDArray x = NDArrayFactory::create({4}, {1,1,1,1}); + NDArray y = NDArrayFactory::create({1,4}, {1.,2.,3.,4.}); + NDArray z = NDArrayFactory::create(sd::DataType::DOUBLE, {1,4}); + NDArray exp = NDArrayFactory::create(sd::DataType::DOUBLE{1,4}, {2,3,4,5}); sd::ops::add op; auto status = op.execute({&x, &y}, {&z}); @@ -537,10 +537,10 @@ TEST_F(BroadcastableOpsTests, broadcast_add_1) { ////////////////////////////////////////////////////////////////////// TEST_F(BroadcastableOpsTests, broadcast_equals_1) { - NDArray x('c', {1,4}, {1,2,3,4}); - NDArray y('c', {3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); - NDArray z('c', {3,4}, sd::DataType::BOOL); - NDArray exp('c', {3,4}, {0,0,0,0, 1,1,1,1, 1,1,1,1}, sd::DataType::BOOL); + NDArray x({1,4}, {1,2,3,4}); + NDArray y({3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); + NDArray z({3,4}, sd::DataType::BOOL); + NDArray exp({3,4}, {0,0,0,0, 1,1,1,1, 1,1,1,1}, sd::DataType::BOOL); sd::ops::equals op; auto status = op.execute({&x, &y}, {&z}); @@ -553,7 +553,7 @@ TEST_F(BroadcastableOpsTests, broadcast_equals_1) { ////////////////////////////////////////////////////////////////////// TEST_F(BroadcastableOpsTests, broadcast_empty_1) { - NDArray y('c', {3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); + NDArray y({3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); NDArray x(sd::DataType::DOUBLE, y.getContext(), false); NDArray z(sd::DataType::DOUBLE, y.getContext(), false); NDArray zExp(sd::DataType::DOUBLE, y.getContext(), false); @@ -568,9 +568,9 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_1) { TEST_F(BroadcastableOpsTests, broadcast_empty_2) { - NDArray y('c', {1,4}, {1,2,3,4}); - NDArray x = NDArrayFactory::create('c', {0, 4}); - NDArray e = NDArrayFactory::create('c', {0, 4});; + NDArray y({1,4}, {1,2,3,4}); + NDArray x = NDArrayFactory::create({0, 4}); + NDArray e = NDArrayFactory::create({0, 4});; sd::ops::multiply op; auto status = op.execute({&x, &y}, {&x}, {}, {}, {}); @@ -582,9 +582,9 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_2) { TEST_F(BroadcastableOpsTests, broadcast_empty_3) { - NDArray x = NDArrayFactory::create('c', {1, 0, 2}); - NDArray y('c', {}, std::vector{0.1}, sd::DataType::FLOAT32); - NDArray e = NDArrayFactory::create('c', {1, 0, 2});; + NDArray x = NDArrayFactory::create({1, 0, 2}); + NDArray y({}, std::vector{0.1}, sd::DataType::FLOAT32); + NDArray e = NDArrayFactory::create({1, 0, 2});; sd::ops::maximum op; auto result = op.evaluate({&x, &y}); @@ -599,9 +599,9 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_3) { TEST_F(BroadcastableOpsTests, broadcast_empty_4) { - NDArray x = NDArrayFactory::create('c', {1, 0, 1}); - NDArray y = NDArrayFactory::create('c', {1, 0, 2}); - NDArray e = NDArrayFactory::create('c', {1, 0, 2});; + NDArray x = NDArrayFactory::create({1, 0, 1}); + NDArray y = NDArrayFactory::create({1, 0, 2}); + NDArray e = NDArrayFactory::create({1, 0, 2});; sd::ops::maximum op; auto result = op.evaluate({&x, &y}); @@ -617,9 +617,9 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_4) { TEST_F(BroadcastableOpsTests, broadcast_empty_5) { - NDArray x = NDArrayFactory::create('c', {1, 0, 1}); - NDArray y = NDArrayFactory::create('c', {1, 0, 2}); - NDArray e = NDArrayFactory::create('c', {1, 0, 2});; + NDArray x = NDArrayFactory::create({1, 0, 1}); + NDArray y = NDArrayFactory::create({1, 0, 2}); + NDArray e = NDArrayFactory::create({1, 0, 2});; sd::ops::realdiv op; auto result = op.evaluate({&x, &y}); @@ -635,9 +635,9 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_5) { TEST_F(BroadcastableOpsTests, broadcast_empty_6) { - NDArray x = NDArrayFactory::create('c', {1, 0, 1}); - NDArray y = NDArrayFactory::create('c', {1, 2}, {2, 2}); - NDArray e = NDArrayFactory::create('c', {1, 0, 2});; + NDArray x = NDArrayFactory::create({1, 0, 1}); + NDArray y = NDArrayFactory::create({1, 2}, {2, 2}); + NDArray e = NDArrayFactory::create({1, 0, 2});; sd::ops::realdiv op; auto result = op.evaluate({&x, &y}); @@ -653,9 +653,9 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_6) { TEST_F(BroadcastableOpsTests, broadcast_empty_7) { - NDArray x = NDArrayFactory::create('c', {1, 0, 2, 1}); - NDArray y = NDArrayFactory::create('c', {1, 2, 0}); - NDArray e = NDArrayFactory::create('c', {1, 0, 2, 0});; + NDArray x = NDArrayFactory::create({1, 0, 2, 1}); + NDArray y = NDArrayFactory::create({1, 2, 0}); + NDArray e = NDArrayFactory::create({1, 0, 2, 0});; sd::ops::realdiv op; auto result = op.evaluate({&x, &y}); @@ -671,7 +671,7 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_7) { TEST_F(BroadcastableOpsTests, broadcast_bool_empty_1) { - NDArray y('c', {3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); + NDArray y({3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); NDArray x(sd::DataType::DOUBLE, y.getContext(), false); NDArray z(sd::DataType::BOOL, y.getContext(), false); NDArray zExp(sd::DataType::BOOL, y.getContext(), false); @@ -686,9 +686,9 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_empty_1) { TEST_F(BroadcastableOpsTests, broadcast_bool_empty_2) { - NDArray y('c', {1,4}, {1,2,3,4}); - NDArray x = NDArrayFactory::create('c', {0, 4}); - NDArray e = NDArrayFactory::create('c', {0, 4});; + NDArray y({1,4}, {1,2,3,4}); + NDArray x = NDArrayFactory::create({0, 4}); + NDArray e = NDArrayFactory::create({0, 4});; sd::ops::greater op; @@ -705,10 +705,10 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_empty_2) { TEST_F(BroadcastableOpsTests, broadcast_bool_1) { - NDArray x('c', {3, 1, 2}, sd::DataType::FLOAT32); - NDArray y('c', {2, 2}, sd::DataType::FLOAT32); - NDArray z('c', {3, 2, 2}, sd::DataType::BOOL); - NDArray e('c', {3, 2, 2}, sd::DataType::BOOL); + NDArray x({3, 1, 2}, sd::DataType::FLOAT32); + NDArray y({2, 2}, sd::DataType::FLOAT32); + NDArray z({3, 2, 2}, sd::DataType::BOOL); + NDArray e({3, 2, 2}, sd::DataType::BOOL); x.assign(4.f); y.assign(2.f); @@ -728,10 +728,10 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_1) { TEST_F(BroadcastableOpsTests, broadcast_bool_2) { - NDArray x('c', {3, 1, 2}, sd::DataType::FLOAT32); - NDArray y('c', {2, 2}, sd::DataType::FLOAT32); - NDArray z('c', {3, 2, 2}, sd::DataType::BOOL); - NDArray e('c', {3, 2, 2}, sd::DataType::BOOL); + NDArray x({3, 1, 2}, sd::DataType::FLOAT32); + NDArray y({2, 2}, sd::DataType::FLOAT32); + NDArray z({3, 2, 2}, sd::DataType::BOOL); + NDArray e({3, 2, 2}, sd::DataType::BOOL); x.assign(1.f); y.assign(2.f); @@ -752,9 +752,9 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_2) { TEST_F(BroadcastableOpsTests, broadcast_bool_3) { auto x = NDArrayFactory::create(0); - auto y = NDArrayFactory::create('c', {3}, {2, 1, 2}); - NDArray z('c', {3}, sd::DataType::BOOL); - NDArray e('c', {3}, sd::DataType::BOOL); + auto y = NDArrayFactory::create({3}, {2, 1, 2}); + NDArray z({3}, sd::DataType::BOOL); + NDArray e({3}, sd::DataType::BOOL); e.assign(true); @@ -770,10 +770,10 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_3) { } TEST_F(BroadcastableOpsTests, broadcast_2) { - NDArray x('c', {3, 1, 2}, sd::DataType::FLOAT32); - NDArray y('c', {2, 2}, sd::DataType::FLOAT32); - NDArray z('c', {3, 2, 2}, sd::DataType::FLOAT32); - NDArray e('c', {3, 2, 2}, sd::DataType::FLOAT32); + NDArray x({3, 1, 2}, sd::DataType::FLOAT32); + NDArray y({2, 2}, sd::DataType::FLOAT32); + NDArray z({3, 2, 2}, sd::DataType::FLOAT32); + NDArray e({3, 2, 2}, sd::DataType::FLOAT32); x = 4.f; y = 2.f; @@ -793,9 +793,9 @@ TEST_F(BroadcastableOpsTests, broadcast_2) { TEST_F(BroadcastableOpsTests, broadcast_3) { auto x = NDArrayFactory::create(0); - auto y = NDArrayFactory::create('c', {3}, {2, 1, 2}); - NDArray z('c', {3}, sd::DataType::INT32); - auto e = NDArrayFactory::create('c', {3}, {2, 1, 2}); + auto y = NDArrayFactory::create({3}, {2, 1, 2}); + NDArray z({3}, sd::DataType::INT32); + auto e = NDArrayFactory::create({3}, {2, 1, 2}); sd::ops::add op; auto status = op.execute({&x, &y}, {&z}, {}, {}, {}); @@ -809,10 +809,10 @@ TEST_F(BroadcastableOpsTests, broadcast_3) { } TEST_F(BroadcastableOpsTests, test_bert_multiply_1) { - auto x = NDArrayFactory::create('c', {4, 128, 1}); - auto y = NDArrayFactory::create('c', {4, 1, 128}); - auto z = NDArrayFactory::create('c', {4, 128, 128}); - auto e = NDArrayFactory::create('c', {4, 128, 128}); + auto x = NDArrayFactory::create({4, 128, 1}); + auto y = NDArrayFactory::create({4, 1, 128}); + auto z = NDArrayFactory::create({4, 128, 128}); + auto e = NDArrayFactory::create({4, 128, 128}); x.assign(0.f); y.assign(1.f); @@ -839,10 +839,10 @@ TEST_F(BroadcastableOpsTests, test_bert_multiply_1) { } TEST_F(BroadcastableOpsTests, test_bert_multiply_2) { - auto x = NDArrayFactory::create('c', {4, 128, 1}); - auto y = NDArrayFactory::create('c', {768}); - auto z = NDArrayFactory::create('c', {4, 128, 768}); - auto e = NDArrayFactory::create('c', {4, 128, 768}); + auto x = NDArrayFactory::create({4, 128, 1}); + auto y = NDArrayFactory::create({768}); + auto z = NDArrayFactory::create({4, 128, 768}); + auto e = NDArrayFactory::create({4, 128, 768}); x.assign(1.f); y.assign(2.f); diff --git a/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp b/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp index 3c2f2b55dd53..00336b68eca8 100644 --- a/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp @@ -128,7 +128,7 @@ TEST_F(ConditionalTests, Flat_Test_1) { ASSERT_NE(nullptr, z); - auto exp = NDArrayFactory::create('c', {2, 2}, {-2, -2, -2, -2}); + auto exp = NDArrayFactory::create({2, 2}, {-2, -2, -2, -2}); ASSERT_TRUE(exp.equalsTo(z)); @@ -158,7 +158,7 @@ TEST_F(ConditionalTests, Flat_Test_2) { ASSERT_NE(nullptr, z); - auto exp = NDArrayFactory::create('c', {2, 2}, {1, 1, 1, 1}); + auto exp = NDArrayFactory::create( {2, 2}, {1, 1, 1, 1}); ASSERT_TRUE(exp.equalsTo(z)); delete graph; @@ -186,7 +186,7 @@ TEST_F(ConditionalTests, Flat_Test_3) { ASSERT_NE(nullptr, z); - auto exp = NDArrayFactory::create('c', {2, 2}, {1, 1, 1, 1}); + auto exp = NDArrayFactory::create( {2, 2}, {1, 1, 1, 1}); ASSERT_TRUE(exp.equalsTo(z)); delete graph; @@ -214,7 +214,7 @@ TEST_F(ConditionalTests, Flat_Test_4) { ASSERT_NE(nullptr, z); // 0.0 + 2.0 = 2.0 in each element - auto exp = NDArrayFactory::create('c', {2, 2}, {2, 2, 2, 2}); + auto exp = NDArrayFactory::create( {2, 2}, {2, 2, 2, 2}); ASSERT_TRUE(exp.equalsTo(z)); delete graph; @@ -243,7 +243,7 @@ TEST_F(ConditionalTests, Flat_Test_5) { ASSERT_NE(nullptr, z); // 0.0 + 2.0 + 2.0 = 4.0 in each element - auto exp = NDArrayFactory::create('c', {2, 2}, {4, 4, 4, 4}); + auto exp = NDArrayFactory::create( {2, 2}, {4, 4, 4, 4}); ASSERT_TRUE(exp.equalsTo(z)); delete graph; @@ -273,7 +273,7 @@ TEST_F(ConditionalTests, Flat_Test_6) { //z->printIndexedBuffer(); - auto exp = NDArrayFactory::create('c', {2, 2}, {-1, -1, -1, -1}); + auto exp = NDArrayFactory::create( {2, 2}, {-1, -1, -1, -1}); ASSERT_TRUE(exp.equalsTo(z)); delete graph; @@ -300,7 +300,7 @@ TEST_F(ConditionalTests, Flat_Test_7) { //z->printIndexedBuffer(); - auto exp = NDArrayFactory::create('c', {2, 2}, {-3, -3, -3, -3}); + auto exp = NDArrayFactory::create( {2, 2}, {-3, -3, -3, -3}); ASSERT_TRUE(exp.equalsTo(z)); delete graph; @@ -324,7 +324,7 @@ TEST_F(ConditionalTests, Flat_Test_8) { ASSERT_NE(nullptr, z); //val exp = Nd4j.create(2, 2).assign(15.0); - auto exp = NDArrayFactory::create('c', {2, 2}, {15, 15, 15, 15}); + auto exp = NDArrayFactory::create({2, 2}, {15, 15, 15, 15}); ASSERT_TRUE(exp.equalsTo(z)); delete graph; diff --git a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp index 4ce47cea39fb..2541c213c563 100644 --- a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp @@ -47,11 +47,11 @@ class ConstantTadHelperTests : public testing::Test { TEST_F(ConstantShapeHelperTests, test_cachedAmount_1) { auto ttlBefore = ConstantShapeHelper::getInstance()->totalCachedEntries(); - auto arrayA = NDArrayFactory::create('c', {7, 11, 17, 23, 31, 43}); + auto arrayA = NDArrayFactory::create( {7, 11, 17, 23, 31, 43}); auto ttlMiddle = ConstantShapeHelper::getInstance()->totalCachedEntries(); - auto arrayB = NDArrayFactory::create('c', {7, 11, 17, 23, 31, 43}); + auto arrayB = NDArrayFactory::create( {7, 11, 17, 23, 31, 43}); auto ttlAfter = ConstantShapeHelper::getInstance()->totalCachedEntries(); @@ -60,7 +60,7 @@ TEST_F(ConstantShapeHelperTests, test_cachedAmount_1) { } TEST_F(ConstantTadHelperTests, test_cachedAmount_1) { - auto arrayA = NDArrayFactory::create('c', {7, 11, 17, 23, 31, 43}); + auto arrayA = NDArrayFactory::create( {7, 11, 17, 23, 31, 43}); auto ttlBefore = ConstantTadHelper::getInstance()->totalCachedEntries(); auto packAA = ConstantTadHelper::getInstance()->tadForDimensions(arrayA.shapeInfo(), {3, 4}); @@ -124,7 +124,7 @@ TEST_F(ConstantShapeHelperTests, stress_test_1) { } TEST_F(ConstantShapeHelperTests, basic_test_3) { - auto array = NDArrayFactory::create('c', {128}); + auto array = NDArrayFactory::create( {128}); ASSERT_TRUE(array.shapeInfo() != nullptr); @@ -136,7 +136,7 @@ TEST_F(ConstantShapeHelperTests, basic_test_3) { TEST_F(ConstantShapeHelperTests, basic_test_4) { - auto array = NDArrayFactory::create('c', {128, 256}); + auto array = NDArrayFactory::create( {128, 256}); auto dup = array.dup('f'); @@ -153,7 +153,7 @@ TEST_F(ConstantShapeHelperTests, basic_test_4) { TEST_F(ConstantShapeHelperTests, basic_test_5) { auto arrayA = NDArrayFactory::create(1); - auto arrayB = NDArrayFactory::create('c', {128, 256}); + auto arrayB = NDArrayFactory::create( {128, 256}); //arrayA.printShapeInfo("A"); //arrayB->printShapeInfo("B"); @@ -174,7 +174,7 @@ TEST_F(ConstantShapeHelperTests, basic_test_6) { } TEST_F(ConstantShapeHelperTests, basic_test_7) { - auto array = NDArrayFactory::create('c', {32, 256}); + auto array = NDArrayFactory::create({32, 256}); IndicesList indices({NDIndex::all(), NDIndex::interval(0,1)}); auto strided = array.subarray(indices); diff --git a/libnd4j/tests_cpu/layers_tests/ContextTests.cpp b/libnd4j/tests_cpu/layers_tests/ContextTests.cpp index baa6b4f26fdb..eb3ab6d72809 100644 --- a/libnd4j/tests_cpu/layers_tests/ContextTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ContextTests.cpp @@ -34,8 +34,8 @@ class ContextTests : public testing::Test { TEST_F(ContextTests, Basic_Test_1) { VariableSpace variableSpace; - auto _20 = NDArrayFactory::create('c', {2, 2}); - auto _21 = NDArrayFactory::create('c', {2, 2}); + auto _20 = NDArrayFactory::create({2, 2}); + auto _21 = NDArrayFactory::create({2, 2}); _20.assign(1.0f); _21.assign(2.0f); @@ -62,8 +62,8 @@ TEST_F(ContextTests, Basic_Test_1) { TEST_F(ContextTests, Basic_Test_2) { VariableSpace variableSpace; - auto _20 = NDArrayFactory::create('c', {2, 2}); - auto _21 = NDArrayFactory::create('c', {2, 2}); + auto _20 = NDArrayFactory::create( {2, 2}); + auto _21 = NDArrayFactory::create( {2, 2}); _20.assign(1.0f); _21.assign(2.0f); @@ -92,7 +92,7 @@ TEST_F(ContextTests, Basic_Test_3) { Context ctx(1, &variableSpace); - auto _20 = NDArrayFactory::create('c', {2, 2}); + auto _20 = NDArrayFactory::create( {2, 2}); ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_20)); @@ -105,10 +105,10 @@ TEST_F(ContextTests, Basic_Test_4) { Context ctx(1, &variableSpace); - auto _20 = NDArrayFactory::create('c', {2, 2}); + auto _20 = NDArrayFactory::create( {2, 2}); _20.linspace(1); - auto _21 = NDArrayFactory::create('c', {2, 2}); + auto _21 = NDArrayFactory::create( {2, 2}); _21.linspace(10); ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_20)); @@ -127,7 +127,7 @@ TEST_F(ContextTests, Basic_Test_5) { Context ctx(1, &variableSpace); - auto _20 = NDArrayFactory::create('c', {2, 2}); + auto _20 = NDArrayFactory::create( {2, 2}); _20.linspace(1); auto exp = _20; @@ -183,10 +183,10 @@ TEST_F(ContextTests, Basic_Test_7) { ASSERT_TRUE(v1 == var1); - auto _10 = NDArrayFactory::create('c', {2, 2}); + auto _10 = NDArrayFactory::create( {2, 2}); _10.linspace(1); - auto _11 = NDArrayFactory::create('c', {2, 2}); + auto _11 = NDArrayFactory::create( {2, 2}); _11.linspace(10); ctx.pushNDArrayToVariableSpace(1, 0, new NDArray(_10)); @@ -204,10 +204,10 @@ TEST_F(ContextTests, Basic_Test_8) { Context ctx(1, &variableSpace); - auto _10 = NDArrayFactory::create('c', {2, 2}); + auto _10 = NDArrayFactory::create( {2, 2}); _10.linspace(1); - auto _11 = NDArrayFactory::create('c', {2, 2}); + auto _11 = NDArrayFactory::create( {2, 2}); _11.linspace(10); ctx.pushNDArrayToVariableSpace(1, 0, new NDArray(_10)); @@ -227,7 +227,7 @@ TEST_F(ContextTests, Basic_Test_8) { TEST_F(ContextTests, Basic_Test_9) { VariableSpace variableSpace; - auto in = NDArrayFactory::create('c', {5, 5}); + auto in = NDArrayFactory::create( {5, 5}); Context ctx(1, &variableSpace, true); ctx.pushNDArrayToVariableSpace(1, 1, &in, false); @@ -283,8 +283,8 @@ TEST_F(ContextTests, Prototype_Test_2) { } TEST_F(ContextTests, test_short_context_1) { - auto array0 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto array1 = NDArrayFactory::create('c', {3, 2}, {-1.f, -2.f, -3.f, -4.f, -5.f, -6.f}); + auto array0 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto array1 = NDArrayFactory::create( {3, 2}, {-1.f, -2.f, -3.f, -4.f, -5.f, -6.f}); Context ctx(1); ctx.setInputArray(0, array0.buffer(), array0.shapeInfo(), array0.specialBuffer(), array0.specialShapeInfo()); @@ -312,11 +312,11 @@ TEST_F(ContextTests, test_short_context_1) { } TEST_F(ContextTests, test_short_context_2) { - auto array0 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto array1 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create('c', {3, 2}); + auto array0 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto array1 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto z = NDArrayFactory::create( {3, 2}); - auto exp = NDArrayFactory::create('c', {3, 2}, {2.f, 4.f, 6.f, 8.f, 10.f, 12.f}); + auto exp = NDArrayFactory::create( {3, 2}, {2.f, 4.f, 6.f, 8.f, 10.f, 12.f}); Context ctx(1); ctx.setInputArray(0, array0.buffer(), array0.shapeInfo(), array0.specialBuffer(), array0.specialShapeInfo()); @@ -332,10 +332,10 @@ TEST_F(ContextTests, test_short_context_2) { } TEST_F(ContextTests, test_short_context_3) { - auto array0 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto array1 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto array0 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto array1 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto exp = NDArrayFactory::create('c', {3, 2}, {2.f, 4.f, 6.f, 8.f, 10.f, 12.f}); + auto exp = NDArrayFactory::create( {3, 2}, {2.f, 4.f, 6.f, 8.f, 10.f, 12.f}); Context ctx(1); ctx.setInputArray(0, array0.buffer(), array0.shapeInfo(), array0.specialBuffer(), array0.specialShapeInfo()); diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp index c6f013db495a..fd4f333250ef 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp @@ -60,8 +60,8 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_1) { int bS=1, iH=5,iW=4, iC=2,oC=3, kH=2,kW=2, sH=1,sW=1, pH=0,pW=0, dH=1,dW=1; TypeParam _expB[]{664.0, 700.0, 736.0, 344.0, 808.0, 844.0, 880.0, 408.0, 952.0, 988.0, 1024.0, 472.0, 1096.0, 1132.0, 1168.0, 536.0, 466.0, 480.0, 494.0, 220.0, 1528.0, 1628.0, 1728.0, 856.0, 1928.0, 2028.0, 2128.0, 1048.0, 2328.0, 2428.0, 2528.0, 1240.0, 2728.0, 2828.0, 2928.0, 1432.0, 1346.0, 1392.0, 1438.0, 700.0, 2392.0, 2556.0, 2720.0, 1368.0, 3048.0, 3212.0, 3376.0, 1688.0, 3704.0, 3868.0, 4032.0, 2008.0, 4360.0, 4524.0, 4688.0, 2328.0, 2226.0, 2304.0, 2382.0, 1180.0}; Nd4jLong _expS[]{4, 1, 3, 5, 4, 60, 20, 4, 1, typeid(TypeParam) == typeid(float) ? 8192 : 16384, 1, 99}; - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kH, kW}); + auto input = NDArrayFactory::create( {bS, iC, iH, iW}); + auto weights = NDArrayFactory::create( {oC, iC, kH, kW}); for (int e = 0; e < input.lengthOf(); e++) input.p(e, e + 1); @@ -132,9 +132,9 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_1) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests1, conv2d_2) { - auto input = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto weights = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto exp = NDArrayFactory::create('c', {1, 4, 1, 4}, {2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f}); + auto input = NDArrayFactory::create( {1, 1, 1, 4}); + auto weights = NDArrayFactory::create( {1, 1, 1, 4}); + auto exp = NDArrayFactory::create( {1, 4, 1, 4}, {2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f}); weights.assign(2.0); input.linspace(1); @@ -157,12 +157,12 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_3) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC}, {1.f, 2.f, 3.f}); + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); + auto bias = NDArrayFactory::create( {oC}, {1.f, 2.f, 3.f}); - auto expOutput = NDArrayFactory::create('c', {bS, oH, oW, oC},{ 152.f, 155.2f, 158.4f, 152.f, 155.2f, 158.4f, 66.4f, 68.f, 69.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, + auto expOutput = NDArrayFactory::create( {bS, oH, oW, oC},{ 152.f, 155.2f, 158.4f, 152.f, 155.2f, 158.4f, 66.4f, 68.f, 69.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, 75.2f, 78.4f, 81.6f, 75.2f, 78.4f, 81.6f, 28.f, 29.6f, 31.2f, 152.f, 155.2f, 158.4f, 152.f, 155.2f, 158.4f, 66.4f, 68.f, 69.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, 75.2f, 78.4f, 81.6f, 75.2f, 78.4f, 81.6f, 28.f, 29.6f, 31.2f}); @@ -189,11 +189,11 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_4) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto expOutput = NDArrayFactory::create('c', {bS, oH, oW, oC},{ 170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f}); + auto expOutput = NDArrayFactory::create( {bS, oH, oW, oC},{ 170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f,170.4f,175.20001f,180.f}); input = 2.; weights.linspace(0.1, 0.1); @@ -216,11 +216,11 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_5) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kH, kW}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); + auto input = NDArrayFactory::create( {bS, iC, iH, iW}); + auto weights = NDArrayFactory::create( {oC, iC, kH, kW}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto expOutput = NDArrayFactory::create('c', {bS, oC, oH, oW}, {61.f, 61.f, 61.f, 61.f, 177.2f, 177.2f, 177.2f, 177.2f, 293.4f, 293.4f, 293.4f, 293.4f, 61.f, 61.f, 61.f, 61.f, 177.2f, 177.2f, 177.2f, 177.2f, 293.4f, 293.4f, 293.4f, 293.4f}); + auto expOutput = NDArrayFactory::create( {bS, oC, oH, oW}, {61.f, 61.f, 61.f, 61.f, 177.2f, 177.2f, 177.2f, 177.2f, 293.4f, 293.4f, 293.4f, 293.4f, 61.f, 61.f, 61.f, 61.f, 177.2f, 177.2f, 177.2f, 177.2f, 293.4f, 293.4f, 293.4f, 293.4f}); input = 2.; weights.linspace(0.1, 0.1); @@ -240,8 +240,8 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_5) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests1, conv2d_6) { - auto input = NDArrayFactory::create('c', {54, 1, 12, 12}); - auto weights = NDArrayFactory::create('c', {1, 2, 12, 2}); + auto input = NDArrayFactory::create( {54, 1, 12, 12}); + auto weights = NDArrayFactory::create( {1, 2, 12, 2}); sd::ops::conv2d op; auto result = op.evaluate({&input, &weights}, {}, {-1,-1, 1,1, 0,0, 1,1, 1,1}); @@ -256,8 +256,8 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_7) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, oC}); + auto input = NDArrayFactory::create( {bS, iC, iH, iW}); + auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); input = 5.; weights = 3.; @@ -279,17 +279,17 @@ TEST_F(ConvolutionTests1, conv2d_8) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, + NDArray input( {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, 0.798564, 0.163263, 0.146968, 0.260897, 0.135058, 0.756209, 0.275454, 0.369088, 0.092826, 0.836492, 0.268413, 0.095062, 0.312795, 0.135918, 0.517544, 0.328703, 0.061736, 0.396431, 0.248016, 0.548959, 0.115046, 0.814362, 0.721564, 0.404494, 0.299089, 0.403884, 0.988311, 0.022296, 0.927782, 0.318416, 0.068546, 0.284533, 0.232720, 0.352142, 0.058909, 0.711221, 0.674457, 0.196946, 0.699497, 0.074322, 0.420425, 0.584263, 0.149574, 0.446406, 0.723072, 0.064481, 0.483078, 0.875996, 0.569819, 0.445863, 0.527755, 0.016646, 0.753678, 0.140636, 0.754129, 0.161932, 0.775037, 0.332645, 0.117394, 0.017711, 0.608476, 0.525152, 0.917194, 0.849891, 0.589423, 0.852278, 0.390636, 0.889683, 0.669445, 0.698873, 0.961480, 0.157401, 0.157364, 0.493520, 0.569937, 0.126832, 0.115728, 0.786368, 0.737939, 0.490079, 0.608414, 0.956500, 0.390098}); - NDArray weights('c', {kH, kW, iC, oC}, {0.07581716775894165, 0.8706002235412598, 0.29345420002937317, 0.5281786322593689, 0.10540834069252014, 0.3663792014122009, 0.17209206521511078, 0.6257694959640503}); - NDArray bias('c', {1, oC}, {0.7414038777351379, 0.8980839848518372}); + NDArray weights( {kH, kW, iC, oC}, {0.07581716775894165, 0.8706002235412598, 0.29345420002937317, 0.5281786322593689, 0.10540834069252014, 0.3663792014122009, 0.17209206521511078, 0.6257694959640503}); + NDArray bias( {1, oC}, {0.7414038777351379, 0.8980839848518372}); - NDArray expOutput('c', {bS, oC, oH, oW}, {1.112878, 1.106691, 0.914598, 1.127438, 0.988108, 1.070572, 1.040759, 0.962728, 0.927537, 1.109045, 0.893301, 1.101278, 1.080314, + NDArray expOutput( {bS, oC, oH, oW}, {1.112878, 1.106691, 0.914598, 1.127438, 0.988108, 1.070572, 1.040759, 0.962728, 0.927537, 1.109045, 0.893301, 1.101278, 1.080314, 1.112327, 1.030041, 0.955914, 0.779137, 1.110499, 0.944709, 1.195986, 0.997814, 1.083822, 1.090898, 0.889572, 0.964781, 1.071012, 1.111928, 1.291319, 1.085454, 0.977661, 1.149068, 1.077099, 1.068283, 1.064290, 1.177125, 1.212480, 0.932593, 0.939493, 1.118576, 1.056927, 0.780314, 0.845707, 0.996308, 0.963152, 0.906792, 0.937590, 1.048791, 0.860346, 2.264212, 2.071576, 1.916629, 2.030785, 2.169075, 2.039786, 1.935480, 2.177816, 1.524273, 1.933327, 1.630923, 2.406983, 1.770406, 2.413284, 1.790349, 1.476586, @@ -318,13 +318,13 @@ TEST_F(ConvolutionTests1, conv2d_9) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kH, kW, iC, oC], 1-[oC, iC, kH, kW], 2-[oC, kH, kW, iC] - NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray weights('c', {oC, iC, kH, kW}, {-3., -1.8, -0.6, 0.6, 1.8, 3., -2.7, -1.5, -0.3, 0.9, 2.1, 3.3, -2.4, -1.2, 0., 1.2, 2.4, 3.6, -2.1, -0.9, 0.3, 1.5, + NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray weights( {oC, iC, kH, kW}, {-3., -1.8, -0.6, 0.6, 1.8, 3., -2.7, -1.5, -0.3, 0.9, 2.1, 3.3, -2.4, -1.2, 0., 1.2, 2.4, 3.6, -2.1, -0.9, 0.3, 1.5, 2.7, 3.9, -2.9, -1.7, -0.5, 0.7, 1.9, 3.1, -2.6, -1.4, -0.2, 1., 2.2, 3.4, -2.3, -1.1, 0.1, 1.3, 2.5, 3.7, -2., -0.8, 0.4, 1.6, 2.8, 4., -2.8, -1.6, -0.4, 0.8, 2., 3.2, -2.5, -1.3, -0.1, 1.1, 2.3, 3.5, -2.2, -1., 0.2, 1.4, 2.6, 3.8, -1.9, -0.7, 0.5, 1.7, 2.9, 4.1}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); - NDArray expOutput('c', {bS, oC, oH, oW}, {37.699997, 32.300041, 21.499989, 16.100004, 74.900024, 68.300003, 55.100006, 48.499969, 107.599983, 99.799988, + NDArray expOutput( {bS, oC, oH, oW}, {37.699997, 32.300041, 21.499989, 16.100004, 74.900024, 68.300003, 55.100006, 48.499969, 107.599983, 99.799988, 84.200005, 76.400009, -221.5, -226.899994, -237.699997, -243.099991, -241.899994, -248.5, -261.700012, -268.299988, -266.799988, -274.600006, -290.200012, -298.}, sd::DataType::FLOAT32); @@ -349,14 +349,14 @@ TEST_F(ConvolutionTests1, conv2d_10) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kH, kW, iC, oC], 1-[oC, iC, kH, kW], 2-[oC, kH, kW, iC] - NDArray input('c', {bS, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights('c', {oC, kH, kW, iC}, {-3., -2.7, -2.4, -2.1, -1.8, -1.5, -1.2, -0.9, -0.6, -0.3, 0., 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3., 3.3, + NDArray input( {bS, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights( {oC, kH, kW, iC}, {-3., -2.7, -2.4, -2.1, -1.8, -1.5, -1.2, -0.9, -0.6, -0.3, 0., 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3., 3.3, 3.6, 3.9, -2.9, -2.6, -2.3, -2., -1.7, -1.4, -1.1, -0.8, -0.5, -0.2, 0.1, 0.4, 0.7, 1., 1.3, 1.6, 1.9, 2.2, 2.5, 2.8, 3.1, 3.4, 3.7, 4., -2.8, -2.5, -2.2, -1.9, -1.6, -1.3, -1., -0.7, -0.4, -0.1, 0.2, 0.5, 0.8, 1.1, 1.4, 1.7, 2., 2.3, 2.6, 2.9, 3.2, 3.5, 3.8, 4.1}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); - NDArray expOutput('c', {bS, oH, oW, oC}, {463.400055, 498.800018, 529.700012, 410.600006, 442.799988, 470.500031, 113.600006, 130.400009, 142.699982, + NDArray expOutput( {bS, oH, oW, oC}, {463.400055, 498.800018, 529.700012, 410.600006, 442.799988, 470.500031, 113.600006, 130.400009, 142.699982, -63.999958, -19.600082, 20.300007, -85.600052, -45.999939, -10.899940, -144.100021, -124., -108.399994, -128.799988, -98.799973, -73.300011, -150.400009, -125.200012, -104.500008, -133.300003, -120.399994, -112.000008, -170.199997, -154., -142.299988, -146.200012, -133.199997, -124.699997, -88.000008, -80.800003, -78.099991, -170.200012, -173.199997, -180.699982, -223., -229.199997, -239.900009, -88., -90.400002, -97.300003, -323.200012, @@ -393,11 +393,11 @@ TEST_F(ConvolutionTests1, sconv2d_1) { int iX = 10; int B = 2; - auto input = NDArrayFactory::create('c', {B, iC, iY, iX}); + auto input = NDArrayFactory::create( {B, iC, iY, iX}); for (int e = 0; e < input.lengthOf(); e++) input.p(e, e+1); - auto weights = NDArrayFactory::create('c', {oC, iC, kY, kX}); + auto weights = NDArrayFactory::create( {oC, iC, kY, kX}); for (int e = 0; e < weights.lengthOf(); e++) weights.p(e, e+1); weights.permutei({2,3,1,0}); @@ -460,9 +460,9 @@ TYPED_TEST(TypedConvolutionTests1, sconv2d_2) { Nd4jLong _expSFF[] = {4, 2, 10, 6, 6, 360, 36, 6, 1, typeid(TypeParam) == typeid(float) ? 8192 : 16384, 1, 99,}; NDArray expFF(_expBFF, _expSFF); - auto input = NDArrayFactory::create('c', {2, 3, 10, 10}); - auto weightsD = NDArrayFactory::create('c', {5, 3, 5, 5}); - auto weightsP = NDArrayFactory::create('c', {10, 15, 1, 1}); + auto input = NDArrayFactory::create( {2, 3, 10, 10}); + auto weightsD = NDArrayFactory::create( {5, 3, 5, 5}); + auto weightsP = NDArrayFactory::create( {10, 15, 1, 1}); input.linspace(1); weightsD.linspace(1); @@ -490,11 +490,11 @@ TYPED_TEST(TypedConvolutionTests1, sconv2d_2) { } TYPED_TEST(TypedConvolutionTests1, sconv2d_3) { - auto input = NDArrayFactory::create('c', {3, 3, 8, 8}); - auto weightsD = NDArrayFactory::create('c', {1, 3, 1, 1}); - auto weightsP = NDArrayFactory::create('c', {2, 3, 1, 1}); - auto bias = NDArrayFactory::create('c', {2}); - auto output = NDArrayFactory::create('c', {3, 2, 8, 8}); + auto input = NDArrayFactory::create( {3, 3, 8, 8}); + auto weightsD = NDArrayFactory::create( {1, 3, 1, 1}); + auto weightsP = NDArrayFactory::create( {2, 3, 1, 1}); + auto bias = NDArrayFactory::create( {2}); + auto output = NDArrayFactory::create( {3, 2, 8, 8}); output.assign(0.0); input.linspace(1); @@ -504,7 +504,7 @@ TYPED_TEST(TypedConvolutionTests1, sconv2d_3) { weightsD.permutei({2,3,1,0}); weightsP.permutei({2,3,1,0}); - auto expOutput = NDArrayFactory::create('c', {3, 2, 8, 8}); + auto expOutput = NDArrayFactory::create( {3, 2, 8, 8}); sd::ops::sconv2d op; Nd4jStatus status = op.execute({&input, &weightsD, &weightsP, &bias}, {&output}, {1, 1, 1, 1, 0, 0, 1, 1, 0}); @@ -528,18 +528,18 @@ TEST_F(ConvolutionTests1, sconv2d_4) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, + NDArray input( {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, 0.798564, 0.163263, 0.146968, 0.260897, 0.135058, 0.756209, 0.275454, 0.369088, 0.092826, 0.836492, 0.268413, 0.095062, 0.312795, 0.135918, 0.517544, 0.328703, 0.061736, 0.396431, 0.248016, 0.548959, 0.115046, 0.814362, 0.721564, 0.404494, 0.299089, 0.403884, 0.988311, 0.022296, 0.927782, 0.318416, 0.068546, 0.284533, 0.232720, 0.352142, 0.058909, 0.711221, 0.674457, 0.196946, 0.699497, 0.074322, 0.420425, 0.584263, 0.149574, 0.446406, 0.723072, 0.064481, 0.483078, 0.875996, 0.569819, 0.445863, 0.527755, 0.016646, 0.753678, 0.140636, 0.754129, 0.161932, 0.775037, 0.332645, 0.117394, 0.017711, 0.608476, 0.525152, 0.917194, 0.849891, 0.589423, 0.852278, 0.390636, 0.889683, 0.669445, 0.698873, 0.961480, 0.157401, 0.157364, 0.493520, 0.569937, 0.126832, 0.115728, 0.786368, 0.737939, 0.490079, 0.608414, 0.956500, 0.390098, 0.147305, 0.850645, 0.497650, 0.071866, 0.082150, 0.035314, 0.732041, 0.369934, 0.840666, 0.273894, 0.431796, 0.133231}); - NDArray weightsD('c', {kH, kW, iC, mC}, {0.5340641736984253, 0.8257383108139038, 0.3279532492160797, 0.27217748761177063, 0.05432872101664543, 0.31322699785232544, 0.6599581837654114, 0.35526034235954285, 0.5765137672424316}); - NDArray weightsP('c', {1, 1, iC*mC, oC}, {0.4442146420478821, 0.3362849950790405, 0.5215804576873779, 0.5305071473121643, 0.7323054075241089, 0.5168435573577881, 0.8601323962211609, 0.2587810158729553, 0.9473239779472351, 0.39540114998817444, 0.04835261031985283, 0.8724213242530823, 0.8607604503631592, 0.8382210731506348, 0.8573186993598938, 0.6496091485023499, 0.8864102959632874, 0.14267340302467346}); - NDArray biases('c', {1,oC}, {0.8807470202445984, 0.6262521147727966}); + NDArray weightsD( {kH, kW, iC, mC}, {0.5340641736984253, 0.8257383108139038, 0.3279532492160797, 0.27217748761177063, 0.05432872101664543, 0.31322699785232544, 0.6599581837654114, 0.35526034235954285, 0.5765137672424316}); + NDArray weightsP( {1, 1, iC*mC, oC}, {0.4442146420478821, 0.3362849950790405, 0.5215804576873779, 0.5305071473121643, 0.7323054075241089, 0.5168435573577881, 0.8601323962211609, 0.2587810158729553, 0.9473239779472351, 0.39540114998817444, 0.04835261031985283, 0.8724213242530823, 0.8607604503631592, 0.8382210731506348, 0.8573186993598938, 0.6496091485023499, 0.8864102959632874, 0.14267340302467346}); + NDArray biases( {1,oC}, {0.8807470202445984, 0.6262521147727966}); - NDArray expOutput('c', {bS, oC, oH, oW}, {1.643804, 2.135067, 2.494167, 2.628944, 2.700440, 2.257452, 2.562539, 2.293667, 2.493985, 2.014933, 2.301736, 2.939066, 1.492952, + NDArray expOutput( {bS, oC, oH, oW}, {1.643804, 2.135067, 2.494167, 2.628944, 2.700440, 2.257452, 2.562539, 2.293667, 2.493985, 2.014933, 2.301736, 2.939066, 1.492952, 2.026476, 1.771098, 2.013162, 1.315507, 1.289951, 2.831223, 2.196924, 2.028261, 2.024326, 2.983223, 1.809527, 1.434322, 2.513157, 1.826834, 1.608869, 1.297912, 1.212318, 2.295934, 1.844615, 2.591148, 1.597267, 2.317755, 1.755642, 1.324064, 1.542060, 1.892052, 1.939339, 1.922781, 1.720199, 1.833396, 1.728024, 1.757968, 1.410675, 1.661960, 2.096277, 1.178815, 1.637460, 1.254187, 1.491076, 0.968625, 0.986342, 2.116042, 1.536920, 1.504321, 1.490398, 2.136795, 1.351860, 1.148578, 1.817408, 1.327139, 1.288620, @@ -567,10 +567,10 @@ TYPED_TEST(TypedConvolutionTests1, conv2D_BP_Bias_1) { NDArray expBGrad(_expBGradB, _expBGradS); - auto input = NDArrayFactory::create('c', {2, 1, 4, 4}); - auto weights = NDArrayFactory::create('c', {2, 1, 3, 3}); - auto bias = NDArrayFactory::create('c', {2, 1}); - auto epsilonNext = NDArrayFactory::create('c', {2, 2, 4, 4}); + auto input = NDArrayFactory::create( {2, 1, 4, 4}); + auto weights = NDArrayFactory::create( {2, 1, 3, 3}); + auto bias = NDArrayFactory::create( {2, 1}); + auto epsilonNext = NDArrayFactory::create( {2, 2, 4, 4}); TypeParam _expEpsB[] = {952.0, 1540.0, 1636.0, 1180.0, 1791.0, 2886.0, 3057.0, 2193.0, 2223.0, 3570.0, 3741.0, 2673.0, 1900.0, 3028.0, 3160.0, 2240.0, 2872.0, 4612.0, 4708.0, 3356.0, 5247.0, 8358.0, 8529.0, 6033.0, 5679.0, 9042.0, 9213.0, 6513.0, 4588.0, 7252.0, 7384.0, 5184.0}; @@ -618,9 +618,9 @@ TYPED_TEST(TypedConvolutionTests1, conv2D_BP_NoBias_1) { NDArray expWGrad(_expWGradB, _expWGradS); expWGrad.permutei({2,3,1,0}); - auto input = NDArrayFactory::create('c', {2, 1, 4, 4}); - auto weights = NDArrayFactory::create('c', {2, 1, 3, 3}); - auto epsilonNext = NDArrayFactory::create('c', {2, 2, 4, 4}); + auto input = NDArrayFactory::create( {2, 1, 4, 4}); + auto weights = NDArrayFactory::create( {2, 1, 3, 3}); + auto epsilonNext = NDArrayFactory::create( {2, 2, 4, 4}); TypeParam _expEpsB[] = {952.0, 1540.0, 1636.0, 1180.0, 1791.0, 2886.0, 3057.0, 2193.0, 2223.0, 3570.0, 3741.0, 2673.0, 1900.0, 3028.0, 3160.0, 2240.0, 2872.0, 4612.0, 4708.0, 3356.0, 5247.0, 8358.0, 8529.0, 6033.0, 5679.0, 9042.0, 9213.0, 6513.0, 4588.0, 7252.0, 7384.0, 5184.0}; @@ -658,17 +658,17 @@ TYPED_TEST(TypedConvolutionTests1, conv2D_BP_NoBias_1) { TYPED_TEST(TypedConvolutionTests1, sconv2d_conv2d_1) { - auto input = NDArrayFactory::create('c', {2, 3, 10, 10}); - auto weightsD = NDArrayFactory::create('c', {5, 5, 3, 2}, {1.f, 76.f, 26.f, 101.f, 51.f, 126.f, 2.f, 77.f, 27.f, 102.f, 52.f, 127.f, 3.f, 78.f, 28.f, 103.f, 53.f, 128.f, 4.f, 79.f, 29.f, 104.f, 54.f, 129.f, 5.f, 80.f, 30.f, 105.f, 55.f, 130.f, + auto input = NDArrayFactory::create( {2, 3, 10, 10}); + auto weightsD = NDArrayFactory::create( {5, 5, 3, 2}, {1.f, 76.f, 26.f, 101.f, 51.f, 126.f, 2.f, 77.f, 27.f, 102.f, 52.f, 127.f, 3.f, 78.f, 28.f, 103.f, 53.f, 128.f, 4.f, 79.f, 29.f, 104.f, 54.f, 129.f, 5.f, 80.f, 30.f, 105.f, 55.f, 130.f, 6.f, 81.f, 31.f, 106.f, 56.f, 131.f, 7.f, 82.f, 32.f, 107.f, 57.f, 132.f, 8.f, 83.f, 33.f, 108.f, 58.f, 133.f, 9.f, 84.f, 34.f, 109.f, 59.f, 134.f, 10.f, 85.f, 35.f, 110.f, 60.f, 135.f, 11.f, 86.f, 36.f, 111.f, 61.f, 136.f, 12.f, 87.f, 37.f, 112.f, 62.f, 137.f, 13.f, 88.f, 38.f, 113.f, 63.f, 138.f, 14.f, 89.f, 39.f, 114.f, 64.f, 139.f, 15.f, 90.f, 40.f, 115.f, 65.f, 140.f, 16.f, 91.f, 41.f, 116.f, 66.f, 141.f, 17.f, 92.f, 42.f, 117.f, 67.f, 142.f, 18.f, 93.f, 43.f, 118.f, 68.f, 143.f, 19.f, 94.f, 44.f, 119.f, 69.f, 144.f, 20.f, 95.f, 45.f, 120.f, 70.f, 145.f, 21.f, 96.f, 46.f, 121.f, 71.f, 146.f, 22.f, 97.f, 47.f, 122.f, 72.f, 147.f, 23.f, 98.f, 48.f, 123.f, 73.f, 148.f, 24.f, 99.f, 49.f, 124.f, 74.f, 149.f, 25.f, 100.f, 50.f, 125.f, 75.f, 150.f}); - auto weightsP = NDArrayFactory::create('c', {1, 1, 6, 10}, {0.0001f, 0.0007f, 0.0013f, 0.0019f, 0.0025f, 0.0031f, 0.0037f, 0.0043f, 0.0049f, 0.0055f,0.0002f, 0.0008f, 0.0014f, 0.0020f, 0.0026f, 0.0032f, 0.0038f, 0.0044f, 0.0050f, 0.0056f, + auto weightsP = NDArrayFactory::create( {1, 1, 6, 10}, {0.0001f, 0.0007f, 0.0013f, 0.0019f, 0.0025f, 0.0031f, 0.0037f, 0.0043f, 0.0049f, 0.0055f,0.0002f, 0.0008f, 0.0014f, 0.0020f, 0.0026f, 0.0032f, 0.0038f, 0.0044f, 0.0050f, 0.0056f, 0.0003f, 0.0009f, 0.0015f, 0.0021f, 0.0027f, 0.0033f, 0.0039f, 0.0045f, 0.0051f, 0.0057f,0.0004f, 0.0010f, 0.0016f, 0.0022f, 0.0028f, 0.0034f, 0.0040f, 0.0046f, 0.0052f, 0.0058f, 0.0005f, 0.0011f, 0.0017f, 0.0023f, 0.0029f, 0.0035f, 0.0041f, 0.0047f, 0.0053f, 0.0059f,0.0006f, 0.0012f, 0.0018f, 0.0024f, 0.0030f, 0.0036f, 0.0042f, 0.0048f, 0.0054f, 0.0060f}); - auto expFF = NDArrayFactory::create('c', {2, 6, 6, 6}, {10025.0f,10350.0f,10675.0f,11000.0f,11325.0f,11650.0f,13275.0f,13600.0f,13925.0f,14250.0f,14575.0f,14900.0f,16525.0f,16850.0f, + auto expFF = NDArrayFactory::create( {2, 6, 6, 6}, {10025.0f,10350.0f,10675.0f,11000.0f,11325.0f,11650.0f,13275.0f,13600.0f,13925.0f,14250.0f,14575.0f,14900.0f,16525.0f,16850.0f, 17175.0f,17500.0f,17825.0f,18150.0f,19775.0f,20100.0f,20425.0f,20750.0f,21075.0f,21400.0f,23025.0f,23350.0f,23675.0f,24000.0f, 24325.0f,24650.0f,26275.0f,26600.0f,26925.0f,27250.0f,27575.0f,27900.0f,53150.0f,55350.0f,57550.0f,59750.0f,61950.0f,64150.0f, 75150.0f,77350.0f,79550.0f,81750.0f,83950.0f,86150.0f,97150.0f,99350.0f,101550.0f,103750.0f,105950.0f,108150.0f,119150.0f, @@ -693,7 +693,7 @@ TYPED_TEST(TypedConvolutionTests1, sconv2d_conv2d_1) { 781350.0f,783550.0f,785750.0f,787950.0f,790150.0f,801150.0f,803350.0f,805550.0f,807750.0f,809950.0f,812150.0f,823150.0f, 825350.0f,827550.0f,829750.0f,831950.0f,834150.0f,404400.0f,405350.0f,406300.0f,407250.0f,408200.0f,409150.0f,413900.0f, 414850.0f,415800.0f,416750.0f,417700.0f,418650.0f,423400.0f,424350.0f,425300.0f,426250.0f,427200.0f,428150.0f,432900.0f,433850.0f,434800.0f,435750.0f,436700.0f,437650.0f,442400.0f,443350.0f,444300.0f,445250.0f,446200.0f,447150.0f,451900.0f,452850.0f,453800.0f,454750.0f,455700.0f,456650.0f,1197525.0f,1200350.0f,1203175.0f,1206000.0f,1208825.0f,1211650.0f,1225775.0f,1228600.0f,1231425.0f,1234250.0f,1237075.0f,1239900.0f,1254025.0f,1256850.0f,1259675.0f,1262500.0f,1265325.0f,1268150.0f,1282275.0f,1285100.0f,1287925.0f,1290750.0f,1293575.0f,1296400.0f,1310525.0f,1313350.0f,1316175.0f,1319000.0f,1321825.0f,1324650.0f,1338775.0f,1341600.0f,1344425.0f,1347250.0f,1350075.0f,1352900.0f,826275.0f,827850.0f,829425.0f,831000.0f,832575.0f,834150.0f,842025.0f,843600.0f,845175.0f,846750.0f,848325.0f,849900.0f,857775.0f,859350.0f,860925.0f,862500.0f,864075.0f,865650.0f,873525.0f,875100.0f,876675.0f,878250.0f,879825.0f,881400.0f,889275.0f,890850.0f,892425.0f,894000.0f,895575.0f,897150.0f,905025.0f,906600.0f,908175.0f,909750.0f,911325.0f,912900.0f,1806900.0f,1810350.0f,1813800.0f,1817250.0f,1820700.0f,1824150.0f,1841400.0f,1844850.0f,1848300.0f,1851750.0f,1855200.0f,1858650.0f,1875900.0f,1879350.0f,1882800.0f,1886250.0f,1889700.0f,1893150.0f,1910400.0f,1913850.0f,1917300.0f,1920750.0f,1924200.0f,1927650.0f,1944900.0f,1948350.0f,1951800.0f,1955250.0f,1958700.0f,1962150.0f,1979400.0f,1982850.0f,1986300.0f,1989750.0f,1993200.0f,1996650.f}); - auto exp2FF = NDArrayFactory::create('c', {2, 10, 6, 6}, {827.4900282f,832.2350283f,836.9800284f,841.725028f,846.4700287f,851.2150288f,874.9400293f,879.6850294f,884.4300295f,889.1750296f,893.9200297f,898.665029f, + auto exp2FF = NDArrayFactory::create( {2, 10, 6, 6}, {827.4900282f,832.2350283f,836.9800284f,841.725028f,846.4700287f,851.2150288f,874.9400293f,879.6850294f,884.4300295f,889.1750296f,893.9200297f,898.665029f, 922.3900304f,927.1350305f,931.8800306f,936.6250307f,941.3700308f,946.1150309f,969.8400315f,974.5850316f,979.3300317f,984.0750318f,988.8200319f,993.5650320f, 1017.2900326f,1022.0350327f,1026.7800328f,1031.5250329f,1036.2700330f,1041.0150331f,1064.7400337f,1069.4850338f,1074.2300339f,1078.9750340f,1083.7200341f, 1088.4650342f,1822.4550553f,1833.995055f,1845.5350558f,1857.075056f,1868.6150563f,1880.1550566f,1937.8550578f,1949.3950581f,1960.9350583f,1972.4750586f, @@ -742,12 +742,12 @@ TEST_F(ConvolutionTests1, deconv2d_bp_1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, sd::DataType::FLOAT32); - NDArray weights('c',{kH,kW,oC,iC}, {1,3,5,2,4,6}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, oC, oH, oW},sd::DataType::FLOAT32); + NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray bias( {oC}, sd::DataType::FLOAT32); + NDArray weights({kH,kW,oC,iC}, {1,3,5,2,4,6}, sd::DataType::FLOAT32); + NDArray gradO( {bS, oC, oH, oW},sd::DataType::FLOAT32); - NDArray expGradI('c', {bS, iC, iH, iW}, {35.f, 38.f, 41.f, 44.f, 47.f, 50.f, 53.f, 56.f, 59.f, 62.f, 65.f, 68.f, 71.f, 74.f, + NDArray expGradI( {bS, iC, iH, iW}, {35.f, 38.f, 41.f, 44.f, 47.f, 50.f, 53.f, 56.f, 59.f, 62.f, 65.f, 68.f, 71.f, 74.f, 77.f, 80.f, 71.f, 78.f, 85.f, 92.f, 99.f, 106.f, 113.f, 120.f, 127.f, 134.f, 141.f, 148.f, 155.f, 162.f, 169.f, 176.f, 107.f, 118.f, 129.f, 140.f, 151.f, 162.f, 173.f, 184.f, 195.f, 206.f, 217.f, 228.f, 239.f, 250.f, 261.f, 272.f, 131.f, 134.f, 137.f, 140.f, 143.f, 146.f, 149.f, 152.f, 155.f, 158.f, 161.f, 164.f, 167.f, 170.f, 173.f, 176.f, 295.f, @@ -756,8 +756,8 @@ TEST_F(ConvolutionTests1, deconv2d_bp_1) { 236.f, 239.f, 242.f, 245.f, 248.f, 251.f, 254.f, 257.f, 260.f, 263.f, 266.f, 269.f, 272.f, 519.f, 526.f, 533.f, 540.f, 547.f, 554.f, 561.f, 568.f, 575.f, 582.f, 589.f, 596.f, 603.f, 610.f, 617.f, 624.f, 811.f, 822.f, 833.f, 844.f, 855.f, 866.f, 877.f, 888.f, 899.f, 910.f, 921.f, 932.f, 943.f, 954.f, 965.f, 976.f}, sd::DataType::FLOAT32); - NDArray expGradW('c', {kH, kW, oC, iC}, {160008., 191112., 222216., 203400., 246792., 290184.f}, sd::DataType::FLOAT32); - NDArray expGradB('c', {oC}, {1944.f, 2712.f}, sd::DataType::FLOAT32); + NDArray expGradW( {kH, kW, oC, iC}, {160008., 191112., 222216., 203400., 246792., 290184.f}, sd::DataType::FLOAT32); + NDArray expGradB( {oC}, {1944.f, 2712.f}, sd::DataType::FLOAT32); input.linspace(1); bias.linspace(1); @@ -793,18 +793,18 @@ TEST_F(ConvolutionTests1, deconv2d_bp_2) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0 - [kH, kW, oC, iC], 1 - [iC, oC, kH, kW], 2 - [iC, kH, kW, oC] - NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {-0.1, 0.2}, sd::DataType::FLOAT32); - NDArray weights('c',{iC, oC, kH, kW}, {1., 7., 2., 10., 3., 8., 4., 11., 5., 9., 6., 12.}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, oC, oH, oW},sd::DataType::FLOAT32); + NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {-0.1, 0.2}, sd::DataType::FLOAT32); + NDArray weights({iC, oC, kH, kW}, {1., 7., 2., 10., 3., 8., 4., 11., 5., 9., 6., 12.}, sd::DataType::FLOAT32); + NDArray gradO( {bS, oC, oH, oW},sd::DataType::FLOAT32); - NDArray expGradI('c', {bS, iC, iH, iW}, {-77.400002, -77.199997, -77., -76.800003, -76.599998, -76.400002, -76.200005, -76., -75.800003, -75.599998, -75.399994, + NDArray expGradI( {bS, iC, iH, iW}, {-77.400002, -77.199997, -77., -76.800003, -76.599998, -76.400002, -76.200005, -76., -75.800003, -75.599998, -75.399994, -75.199997, -11.32, -11.29, -11.26, -11.23, -100.839996, -100.580002, -100.32, -100.059998, -99.800003, -99.540001, -99.279999, -99.019997, -98.760002, -98.50, -98.240005, -97.979996, -26.52, -26.450001, -26.380001, -26.309999, -124.279999, -123.959991, -123.639999, -123.32, -123., -122.68, -122.360001, -122.040001, -121.720001, -121.400009, -121.080002, -120.759995, -41.720001, -41.610001, -41.50, -41.389999, -71., -70.800003, -70.599998, -70.399994, -70.199997, -70., -69.800003, -69.600006, -69.400002, -69.199997, -69., -68.799995, -10.360001, -10.33, -10.30, -10.27, -92.519997, -92.260002, -92., -91.740005, -91.479996, -91.220001, -90.960007, -90.700005, -90.440002, -90.18, -89.919998, -89.660004, -24.280001, -24.209999, -24.139999, -24.07, -114.040001, -113.720001, -113.400009, -113.080002, -112.759995, -112.440002, -112.120003, -111.800003, -111.480003, -111.159996, -110.839996, -110.520004, -38.200001, -38.09, -37.980003, -37.869999, -64.599998, -64.400002, -64.199997, -64., -63.799995, -63.599998, -63.400002, -63.199997, -63., -62.799995, -62.599998, -62.400002, -9.40, -9.37, -9.34, -9.309999, -84.200005, -83.940002, -83.68, -83.419998, -83.160004, -82.900002, -82.639999, -82.379997, -82.119995, -81.860001, -81.600006, -81.339996, -22.040001, -21.970001, -21.90, -21.83, -103.800003, -103.480003, -103.159996, -102.839996, -102.520004, -102.200005, -101.879997, -101.559998, -101.239998, -100.919998, -100.599998, -100.279999, -34.68, -34.57, -34.459999, -34.349998}, sd::DataType::FLOAT32); - NDArray expGradW('c', {iC, oC, kH, kW}, {-3010.799805, -2502.420410, -2899.439209, -2407.380615, -242.159332, -437.460510, -253.680466, -434.580048, 2526.479980, 1627.500000, 2392.079834, 1538.220093}, sd::DataType::FLOAT32); - NDArray expGradB('c', {oC}, {-173.040009, -165.360016}, sd::DataType::FLOAT32); + NDArray expGradW( {iC, oC, kH, kW}, {-3010.799805, -2502.420410, -2899.439209, -2407.380615, -242.159332, -437.460510, -253.680466, -434.580048, 2526.479980, 1627.500000, 2392.079834, 1538.220093}, sd::DataType::FLOAT32); + NDArray expGradB( {oC}, {-173.040009, -165.360016}, sd::DataType::FLOAT32); input.linspace(70., -1); gradO.linspace(-4, 0.01); @@ -837,19 +837,19 @@ TEST_F(ConvolutionTests1, deconv2d_bp_3) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0 - [kH, kW, oC, iC], 1 - [iC, oC, kH, kW], 2 - [iC, kH, kW, oC] - NDArray input('c', {bS, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {-0.1, 0.2}, sd::DataType::FLOAT32); - NDArray weights('c',{iC, kH, kW, oC}, {1., 4., 7., 10., 2., 5., 8., 11., 3., 6., 9., 12.}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, oH, oW, oC}, sd::DataType::FLOAT32); + NDArray input( {bS, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {-0.1, 0.2}, sd::DataType::FLOAT32); + NDArray weights({iC, kH, kW, oC}, {1., 4., 7., 10., 2., 5., 8., 11., 3., 6., 9., 12.}, sd::DataType::FLOAT32); + NDArray gradO( {bS, oH, oW, oC}, sd::DataType::FLOAT32); - NDArray expGradI('c', {bS, iH, iW, iC}, {-86.5, -102.320007, -118.139999, -86.060005, -101.800003, -117.540001, -85.619995, -101.279999, -116.940002, -85.18, + NDArray expGradI( {bS, iH, iW, iC}, {-86.5, -102.320007, -118.139999, -86.060005, -101.800003, -117.540001, -85.619995, -101.279999, -116.940002, -85.18, -100.759995, -116.339996, -84.740005, -100.239998, -115.739998, -84.300003, -99.720001, -115.139999, -83.860001, -99.199997, -114.539993, -83.419998, -98.68, -113.939995, -82.979996, -98.160004, -113.339996, -82.539993, -97.639999, -112.739998, -82.099998, -97.120003, -112.139999, -81.660004, -96.600006, -111.539993, -81.220001, -96.080002, -110.939995, -80.779999, -95.559998, -110.340012, -80.340004, -95.040001, -109.740005, -79.900002, -94.519997, -109.139992, -77.699997, -91.919998, -106.139999, -77.260002, -91.400002, -105.540001, -76.820007, -90.880005, -104.940002, -76.380005, -90.360001, -104.339996, -75.940002, -89.839996, -103.740005, -75.5, -89.320007, -103.139999, -75.060005, -88.800003, -102.540001, -74.619995, -88.279999, -101.940002, -74.18, -87.759995, -101.339996, -73.740005, -87.239998, -100.739998, -73.300003, -86.720001, -100.139999, -72.860001, -86.199997, -99.539993, -72.419998, -85.68, -98.939995, -71.979996, -85.160004, -98.339996, -71.539993, -84.639999, -97.740005, -71.099998, -84.120003, -97.139999, -68.899994, -81.519997, -94.139999, -68.459999, -81.00, -93.539993, -68.019997, -80.479996, -92.940002, -67.580002, -79.959999, -92.339996, -67.139999, -79.440002, -91.740005, -66.699997, -78.919998, -91.139999, -66.260002, -78.399994, -90.540001, -65.820007, -77.880005, -89.940002, -65.380005, -77.360001, -89.339996, -64.940002, -76.839996, -88.740005, -64.5, -76.320007, -88.139999, -64.060005, -75.800003, -87.540001, -63.619995, -75.279999, -86.940002, -63.18, -74.759995, -86.339996, -62.739998, -74.239998, -85.739998, -62.299999, -73.720001, -85.139999}, sd::DataType::FLOAT32); - NDArray expGradW('c', {iC, kH, kW, oC}, {-592.800110, -593.039917, -594.719116, -594.960266, -427.199890, -427.919617, -432.959900, -433.679993, -261.600281, -262.799591, -271.200317, -272.399536}, sd::DataType::FLOAT32); - NDArray expGradB('c', {oC}, {-204.600006, -204.}, sd::DataType::FLOAT32); + NDArray expGradW( {iC, kH, kW, oC}, {-592.800110, -593.039917, -594.719116, -594.960266, -427.199890, -427.919617, -432.959900, -433.679993, -261.600281, -262.799591, -271.200317, -272.399536}, sd::DataType::FLOAT32); + NDArray expGradB( {oC}, {-204.600006, -204.}, sd::DataType::FLOAT32); input.linspace(70., -1); gradO.linspace(-4, 0.01); @@ -874,13 +874,13 @@ TEST_F(ConvolutionTests1, deconv2d_bp_3) { } TYPED_TEST(TypedConvolutionTests1, Test_Conv1D_ff_1) { - auto input = NDArrayFactory::create('c', {2, 2, 6}); - auto weights = NDArrayFactory::create('c', {2, 2, 3}, {1,5,9,3,7,11,2,6,10,4,8,12}); - auto bias = NDArrayFactory::create('c', {3}); - auto expFF = NDArrayFactory::create('c', {2, 3, 5}, {59.0f, 69.0f, 79.0f, 89.0f, 99.0f, 132.0f, 158.0f, 184.0f, 210.0f, 236.0f, 205.0f, 247.0f, 289.0f, 331.0f, 373.0f, 179.0f, 189.0f, 199.0f, 209.0f, 219.0f, 444.0f, 470.0f, 496.0f, 522.0f, 548.0f, 709.0f, 751.0f, 793.0f, 835.0f, 877.0f}); - auto expEps = NDArrayFactory::create('c', {2, 2, 6}, {130.0f, 293.0f, 326.0f, 359.0f, 392.0f, 220.0f, 166.0f, 371.0f, 416.0f, 461.0f, 506.0f, 280.0f, 355.0f, 788.0f, 821.0f, 854.0f, 887.0f, 490.0f, 481.0f, 1046.0f, 1091.0f, 1136.0f, 1181.0f, 640.0f}); - auto expGW = NDArrayFactory::create('c', {3, 2, 2}, {1415.0f, 1520.0f, 2045.0f, 2150.0f, 1865.0f, 2020.0f, 2795.0f, 2950.0f, 2315.0f, 2520.0f, 3545.0f, 3750.0f}); - auto expGB = NDArrayFactory::create('c', {3}, {105.0f, 155.0f, 205.0f}); + auto input = NDArrayFactory::create( {2, 2, 6}); + auto weights = NDArrayFactory::create( {2, 2, 3}, {1,5,9,3,7,11,2,6,10,4,8,12}); + auto bias = NDArrayFactory::create( {3}); + auto expFF = NDArrayFactory::create( {2, 3, 5}, {59.0f, 69.0f, 79.0f, 89.0f, 99.0f, 132.0f, 158.0f, 184.0f, 210.0f, 236.0f, 205.0f, 247.0f, 289.0f, 331.0f, 373.0f, 179.0f, 189.0f, 199.0f, 209.0f, 219.0f, 444.0f, 470.0f, 496.0f, 522.0f, 548.0f, 709.0f, 751.0f, 793.0f, 835.0f, 877.0f}); + auto expEps = NDArrayFactory::create( {2, 2, 6}, {130.0f, 293.0f, 326.0f, 359.0f, 392.0f, 220.0f, 166.0f, 371.0f, 416.0f, 461.0f, 506.0f, 280.0f, 355.0f, 788.0f, 821.0f, 854.0f, 887.0f, 490.0f, 481.0f, 1046.0f, 1091.0f, 1136.0f, 1181.0f, 640.0f}); + auto expGW = NDArrayFactory::create( {3, 2, 2}, {1415.0f, 1520.0f, 2045.0f, 2150.0f, 1865.0f, 2020.0f, 2795.0f, 2950.0f, 2315.0f, 2520.0f, 3545.0f, 3750.0f}); + auto expGB = NDArrayFactory::create( {3}, {105.0f, 155.0f, 205.0f}); expGW.permutei({2,1,0}); input.linspace(1); @@ -921,8 +921,8 @@ TYPED_TEST(TypedConvolutionTests1, Test_Conv1D_ff_1) { TYPED_TEST(TypedConvolutionTests1, Test_Conv1D_ff_2) { - auto input = NDArrayFactory::create('c', {2, 2, 6}); - auto weights = NDArrayFactory::create('c', {2, 2, 3}, {1.f, 5.f, 9.f, 3.f, 7.f, 11.f, 2.f, 6.f, 10.f, 4.f, 8.f, 12.f}); + auto input = NDArrayFactory::create( {2, 2, 6}); + auto weights = NDArrayFactory::create( {2, 2, 3}, {1.f, 5.f, 9.f, 3.f, 7.f, 11.f, 2.f, 6.f, 10.f, 4.f, 8.f, 12.f}); input.linspace(1); @@ -943,11 +943,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_1) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iW, iC}); - NDArray weights('c', {kW, iC, oC}); - NDArray bias('c', {oC}, {-1,-2,-3}); + NDArray input( {bS, iW, iC}); + NDArray weights( {kW, iC, oC}); + NDArray bias( {oC}, {-1,-2,-3}); - NDArray expOutput('c', {bS, oW, oC}, {18. , 18. , 18. , 53. , 55.6, 58.2, 89.8, 95.6, 101.4, 102. , 106.8, 111.6, 163.4, 175.6, 187.8, 200.2, 215.6, 231.}); + NDArray expOutput( {bS, oW, oC}, {18. , 18. , 18. , 53. , 55.6, 58.2, 89.8, 95.6, 101.4, 102. , 106.8, 111.6, 163.4, 175.6, 187.8, 200.2, 215.6, 231.}); input.linspace(1., 1.); weights.linspace(0.1, 0.1); @@ -971,11 +971,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_2) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iW, iC}); - NDArray weights('c', {kW, iC, oC}); - NDArray bias('c', {oC}, {-1,-2,-3,-4}); + NDArray input( {bS, iW, iC}); + NDArray weights( {kW, iC, oC}); + NDArray bias( {oC}, {-1,-2,-3,-4}); - NDArray expOutput('c', {bS, oW, oC}, { 10. , 9.6, 9.2, 8.8, 48.9, 51.8, 54.7, 57.6, 88.5, 95. , 101.5, 108. , 128.1, 138.2, 148.3, 158.4, + NDArray expOutput( {bS, oW, oC}, { 10. , 9.6, 9.2, 8.8, 48.9, 51.8, 54.7, 57.6, 88.5, 95. , 101.5, 108. , 128.1, 138.2, 148.3, 158.4, 167.7, 181.4, 195.1, 208.8, 207.3, 224.6, 241.9, 259.2, 246.9, 267.8, 288.7, 309.6, 286.5, 311. , 335.5, 360. , 254.8, 268.8, 282.8, 296.8, 365.7, 397.4, 429.1, 460.8, 405.3, 440.6, 475.9, 511.2, 444.9, 483.8, 522.7, 561.6, 484.5, 527. , 569.5, 612. , 524.1, 570.2, 616.3, 662.4, 563.7, 613.4, 663.1, 712.8, 603.3, 656.6, 709.9, 763.2}); @@ -1002,11 +1002,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_3) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iW, iC}); - NDArray weights('c', {kW, iC, oC}); - NDArray bias('c', {oC}, {-1,-2,-3,-4}); + NDArray input( {bS, iW, iC}); + NDArray weights( {kW, iC, oC}); + NDArray bias( {oC}, {-1,-2,-3,-4}); - NDArray expOutput('c', {bS, oW, oC}, {17.2, 16.8, 16.4, 16.,145.4, 151.6, 157.8, 164.,283.1, 297.4, 311.7, 326., 420.8, 443.2, 465.6, 488., + NDArray expOutput( {bS, oW, oC}, {17.2, 16.8, 16.4, 16.,145.4, 151.6, 157.8, 164.,283.1, 297.4, 311.7, 326., 420.8, 443.2, 465.6, 488., 558.5, 589., 619.5, 650.,696.2001, 734.8, 773.4, 812., 434.8, 448.8, 462.8, 476.8, 879.8, 929.2, 978.6, 1028., 1017.5, 1075., 1132.5, 1190.,1155.2001, 1220.8, 1286.4, 1352.,1292.8999, 1366.6, 1440.3, 1514., 1430.6001, 1512.4, 1594.2, 1676.}); @@ -1032,11 +1032,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_4) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iW, iC}); - NDArray weights('c', {kW, iC, oC}); - NDArray bias('c', {oC}, {-1,-2,-3,-4}); + NDArray input( {bS, iW, iC}); + NDArray weights( {kW, iC, oC}); + NDArray bias( {oC}, {-1,-2,-3,-4}); - NDArray expOutput('c', {bS, oW, oC}, {17.2, 16.8, 16.4, 16. ,43.3, 43.8, 44.3, 44.8,69.4, 70.8, 72.2, 73.6,106.5, 109.4, 112.3, 115.2,147.9, 152.6, 157.3, 162. ,189.3, 195.8, 202.3, + NDArray expOutput( {bS, oW, oC}, {17.2, 16.8, 16.4, 16. ,43.3, 43.8, 44.3, 44.8,69.4, 70.8, 72.2, 73.6,106.5, 109.4, 112.3, 115.2,147.9, 152.6, 157.3, 162. ,189.3, 195.8, 202.3, 208.8,234.5, 243.4, 252.3, 261.2,280.4, 292. , 303.6, 315.2, 226. , 232.8, 239.6, 246.4, 252.1, 259.8, 267.5, 275.2,278.2, 286.8, 295.4, 304. ,437.7, 455. , 472.3, 489.6,479.1, 498.2, 517.3, 536.4,520.5, 541.4, 562.3, 583.2, 601.7, 632.2, 662.7, 693.2, 647.6, 680.8, 714. , 747.2}); @@ -1062,11 +1062,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_5) { int paddingMode = 2; // CAUSAL int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iC, iW}); - NDArray weights('c', {kW, iC, oC}); - NDArray bias('c', {oC}, {-1,-2,-3,-4}); + NDArray input( {bS, iC, iW}); + NDArray weights( {kW, iC, oC}); + NDArray bias( {oC}, {-1,-2,-3,-4}); - NDArray expOutput('c', {bS, oC, oW}, { 83.7, 92.4, 101.1, 162.1, 175.9, 189.7, 223.4, 238.7,85.4, 94.4, 103.4, 167.4, 181.8, 196.2, 233.2, 249.4,87.1, 96.4, 105.7, 172.7, 187.7, 202.7, 243. , 260.1, + NDArray expOutput( {bS, oC, oW}, { 83.7, 92.4, 101.1, 162.1, 175.9, 189.7, 223.4, 238.7,85.4, 94.4, 103.4, 167.4, 181.8, 196.2, 233.2, 249.4,87.1, 96.4, 105.7, 172.7, 187.7, 202.7, 243. , 260.1, 88.8, 98.4, 108. , 178. , 193.6, 209.2, 252.8, 270.8, 292.5, 301.2, 309.9, 493.3, 507.1, 520.9, 590.6, 605.9, 301.4, 310.4, 319.4, 513. , 527.4, 541.8, 622. , 638.2, 310.3, 319.6, 328.9, 532.7, 547.7, 562.7, 653.4, 670.5, 319.2, 328.8, 338.4, 552.4, 568. , 583.6, 684.8, 702.8}); @@ -1092,11 +1092,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_6) { int paddingMode = 2; // CAUSAL int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iC, iW}); - NDArray weights('c', {kW, iC, oC}); - NDArray bias('c', {oC}, {-1,-2,-3,-4}); + NDArray input( {bS, iC, iW}); + NDArray weights( {kW, iC, oC}); + NDArray bias( {oC}, {-1,-2,-3,-4}); - NDArray expOutput('c', {bS, oC, oW}, {159.7,335.3,381.2,427.1,473. ,518.9,163.8,351.4,400. ,448.6,497.2,545.8,167.9,367.5,418.8,470.1,521.4,572.7,172. ,383.6,437.6,491.6,545.6,599.6, + NDArray expOutput( {bS, oC, oW}, {159.7,335.3,381.2,427.1,473. ,518.9,163.8,351.4,400. ,448.6,497.2,545.8,167.9,367.5,418.8,470.1,521.4,572.7,172. ,383.6,437.6,491.6,545.6,599.6, 577.3, 1069.7, 1115.6, 1161.5, 1207.4, 1253.3,595.8, 1129. , 1177.6, 1226.2, 1274.8, 1323.4,614.3, 1188.3, 1239.6, 1290.9, 1342.2, 1393.5, 632.8, 1247.6, 1301.6, 1355.6, 1409.6, 1463.6}); @@ -1122,10 +1122,10 @@ TEST_F(ConvolutionTests1, conv1d_causal_7) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iW, iC}, sd::DataType::FLOAT32); - NDArray weights('c', {kW, iC, oC}, sd::DataType::FLOAT32); + NDArray input( {bS, iW, iC}, sd::DataType::FLOAT32); + NDArray weights( {kW, iC, oC}, sd::DataType::FLOAT32); - NDArray expOutput('c', {bS, oW, oC}, {11.000000, 11.600000, 12.200000, 12.800000, 30.099998, 32.200001, 34.299999, 36.400002, 49.899998, 53.800003, 57.699997, + NDArray expOutput( {bS, oW, oC}, {11.000000, 11.600000, 12.200000, 12.800000, 30.099998, 32.200001, 34.299999, 36.400002, 49.899998, 53.800003, 57.699997, 61.599998, 69.699997, 75.400002, 81.099998, 86.800003, 89.500000, 97.000000, 104.500000, 112.000000, 109.300003, 118.600006, 127.899994, 137.199997, 129.100006, 140.199997, 151.300003, 162.399994, 148.899994, 161.800003, 174.699997, 187.600006, 133.399994, 141.200012, 149.000000, 156.800003, 188.500000, 205.000000, 221.500000, 238.000000, 208.299988, 226.600006, 244.899994, 263.200012, 228.100006, 248.200012, 268.299988, 288.399994, 247.899994, 269.799988, 291.700012, @@ -1153,10 +1153,10 @@ TEST_F(ConvolutionTests1, conv1d_causal_8) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iW, iC}, sd::DataType::FLOAT32); - NDArray weights('c', {kW, iC, oC}, sd::DataType::FLOAT32); + NDArray input( {bS, iW, iC}, sd::DataType::FLOAT32); + NDArray weights( {kW, iC, oC}, sd::DataType::FLOAT32); - NDArray expOutput('c', {bS, oW, oC}, {11.000000, 11.600000, 12.200000, 12.800000, 26.299999, 27.799999, 29.299999, 30.799999, 45.399998, 48.399998, + NDArray expOutput( {bS, oW, oC}, {11.000000, 11.600000, 12.200000, 12.800000, 26.299999, 27.799999, 29.299999, 30.799999, 45.399998, 48.399998, 51.400002, 54.400005, 65.199997, 70.000000, 74.800003, 79.600006, 85.000000, 91.600006, 98.199997, 104.800003, 104.799995, 113.199997, 121.600006, 130.000000, 124.599998, 134.800003, 145.000000, 155.200012, 144.399994, 156.399994, 168.399994, 180.400009, 133.400009, 141.199997, 149.000000, 156.800003, 148.699997, 157.400009, 166.099991, 174.800003, 203.800003, 221.200012, 238.599991, 256.000000, 223.599991, 242.799988, 262.000000, @@ -1185,10 +1185,10 @@ TEST_F(ConvolutionTests1, conv1d_causal_bp_1) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iW, iC}); - NDArray weights('c', {kW, iC, oC}); - NDArray bias('c', {oC}, {-1,-2,-3}); - NDArray gradO('c', {bS, oW, oC}); + NDArray input( {bS, iW, iC}); + NDArray weights( {kW, iC, oC}); + NDArray bias( {oC}, {-1,-2,-3}); + NDArray gradO( {bS, oW, oC}); input.linspace(1., 1.); weights.linspace(0.1, 0.1); @@ -1206,9 +1206,9 @@ TEST_F(ConvolutionTests1, conv1d_causal_bp_1) { } TEST_F(ConvolutionTests1, Test_Dilation2D_1) { - auto input = NDArrayFactory::create('c', {2, 6, 6, 3}); - auto weights = NDArrayFactory::create('c', {3, 2, 3}); - auto exp = NDArrayFactory::create('c', {2, 3, 3, 3}, {77, 79, 81, 83, 85, 87, 80, 82, 84, 113, 115, 117, 119, 121, 123, 116, 118, 120, 107, 109, 111, 113, 115, 117, 110, 112, 114, 185, 187, 189, 191, 193, 195, 188, 190, 192, 221, 223, 225, 227, 229, 231, 224, 226, 228, 215, 217, 219, 221, 223, 225, 218, 220, 222,}); + auto input = NDArrayFactory::create( {2, 6, 6, 3}); + auto weights = NDArrayFactory::create( {3, 2, 3}); + auto exp = NDArrayFactory::create( {2, 3, 3, 3}, {77, 79, 81, 83, 85, 87, 80, 82, 84, 113, 115, 117, 119, 121, 123, 116, 118, 120, 107, 109, 111, 113, 115, 117, 110, 112, 114, 185, 187, 189, 191, 193, 195, 188, 190, 192, 221, 223, 225, 227, 229, 231, 224, 226, 228, 215, 217, 219, 221, 223, 225, 218, 220, 222,}); input.linspace(1); weights.linspace(1); @@ -1224,9 +1224,9 @@ TEST_F(ConvolutionTests1, Test_Dilation2D_1) { } TEST_F(ConvolutionTests1, Test_Dilation2D_2) { - auto input = NDArrayFactory::create('c', {2, 6, 6, 3}); - auto weights = NDArrayFactory::create('c', {3, 2, 3}); - auto exp = NDArrayFactory::create('c', {2, 1, 2, 3}, {95, 97, 99, 101, 103, 105, 203, 205, 207, 209, 211, 213}); + auto input = NDArrayFactory::create( {2, 6, 6, 3}); + auto weights = NDArrayFactory::create( {3, 2, 3}); + auto exp = NDArrayFactory::create( {2, 1, 2, 3}, {95, 97, 99, 101, 103, 105, 203, 205, 207, 209, 211, 213}); input.linspace(1); weights.linspace(1); @@ -1250,17 +1250,17 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_bp_test1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, oC}); + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); + auto gradO = NDArrayFactory::create( {bS, oH, oW, oC}); - auto expGradI = NDArrayFactory::create('c', {bS, iH, iW, iC},{ 0.226f, 0.343f, 0.46f, 0.577f, 1.172f, 1.46f, 1.748f, 2.036f, 1.892f, 2.288f, 2.684f, 3.08f, 1.284f, 1.581f, 1.878f, 2.175f, 4.458f, 5.133f, 5.808f, 6.483f, 6.186f, 7.023f, 7.86f, 8.697f, + auto expGradI = NDArrayFactory::create( {bS, iH, iW, iC},{ 0.226f, 0.343f, 0.46f, 0.577f, 1.172f, 1.46f, 1.748f, 2.036f, 1.892f, 2.288f, 2.684f, 3.08f, 1.284f, 1.581f, 1.878f, 2.175f, 4.458f, 5.133f, 5.808f, 6.483f, 6.186f, 7.023f, 7.86f, 8.697f, 3.39f, 3.93f, 4.47f, 5.01f, 9.642f, 10.803f, 11.964f, 13.125f,11.37f, 12.693f, 14.016f, 15.339f, 5.266f, 5.707f, 6.148f, 6.589f,12.98f, 13.916f, 14.852f, 15.788f,14.564f, 15.608f, 16.652f, 17.696f, 3.25f, 4.015f, 4.78f, 5.545f, 9.812f, 11.396f, 12.98f, 14.564f,10.532f, 12.224f, 13.916f, 15.608f, 9.708f, 10.977f, 12.246f, 13.515f,25.194f, 27.813f, 30.432f, 33.051f,26.922f, 29.703f, 32.484f, 35.265f, 11.814f, 13.326f, 14.838f, 16.35f,30.378f, 33.483f, 36.588f, 39.693f,32.106f, 35.373f, 38.64f, 41.907f,13.474f, 14.563f, 15.652f, 16.741f,31.988f, 34.22f, 36.452f, 38.684f,33.572f, 35.912f, 38.252f, 40.592f}); - auto expGradW = NDArrayFactory::create('c', {kH, kW, iC, oC},{14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, + auto expGradW = NDArrayFactory::create( {kH, kW, iC, oC},{14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 17.04f, 17.52f, 18.f,17.04f, 17.52f, 18.f, 17.04f, 17.52f, 18.f, 17.04f, 17.52f, 18.f,10.88f, 11.2f, 11.52f,10.88f, 11.2f, 11.52f,10.88f, 11.2f, 11.52f,10.88f, 11.2f, 11.52f, 11.16f, 11.52f, 11.88f,11.16f, 11.52f, 11.88f,11.16f, 11.52f, 11.88f,11.16f, 11.52f, 11.88f, 7.08f, 7.32f, 7.56f, 7.08f, 7.32f, 7.56f, 7.08f, 7.32f, 7.56f, 7.08f, 7.32f, 7.56f}); // auto expGradB('c', {oC},{}); @@ -1292,20 +1292,20 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_bp_test2) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, oC}); + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); + auto gradO = NDArrayFactory::create( {bS, oH, oW, oC}); - auto expGradI = NDArrayFactory::create('c', {bS, iH, iW, iC},{ 0.014f, 0.032f, 0.05f, 0.068f,0.118f,0.181f, 0.244f, 0.307f,0.212f,0.257f, 0.302f, 0.347f,0.208f,0.298f, 0.388f, 0.478f,1.028f,1.262f, 1.496f, 1.73f,1.036f,1.18f, 1.324f, 1.468f, + auto expGradI = NDArrayFactory::create( {bS, iH, iW, iC},{ 0.014f, 0.032f, 0.05f, 0.068f,0.118f,0.181f, 0.244f, 0.307f,0.212f,0.257f, 0.302f, 0.347f,0.208f,0.298f, 0.388f, 0.478f,1.028f,1.262f, 1.496f, 1.73f,1.036f,1.18f, 1.324f, 1.468f, 0.928f,1.018f, 1.108f, 1.198f,2.9f,3.134f, 3.368f, 3.602f,2.188f,2.332f, 2.476f, 2.62f, 1.202f,1.274f, 1.346f, 1.418f,3.142f,3.313f, 3.484f, 3.655f,2.048f,2.147f, 2.246f, 2.345f, 0.086f,0.212f, 0.338f, 0.464f,0.694f,0.973f, 1.252f, 1.531f,0.716f,0.869f, 1.022f, 1.175f,1.216f,1.522f, 1.828f, 2.134f,3.908f,4.574f, 5.24f, 5.906f,2.908f,3.268f, 3.628f, 3.988f, 3.664f,3.97f, 4.276f, 4.582f,9.236f,9.902f,10.568f,11.234f,5.788f,6.148f, 6.508f, 6.868f,3.002f,3.182f, 3.362f, 3.542f,7.174f,7.561f, 7.948f, 8.335f,4.28f,4.487f, 4.694f, 4.901f}); - auto expGradW = NDArrayFactory::create('c', {kH, kW, iC, oC},{1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f, + auto expGradW = NDArrayFactory::create( {kH, kW, iC, oC},{1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f, 1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f, 1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f}); - // auto expGradB('c', {oC},{}); + // auto expGradB( {oC},{}); input = 2.; weights.linspace(0.1, 0.1); @@ -1332,21 +1332,21 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_bp_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kH, kW}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create('c', {bS, oC, oH, oW}); + auto input = NDArrayFactory::create( {bS, iC, iH, iW}); + auto weights = NDArrayFactory::create( {oC, iC, kH, kW}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); + auto gradO = NDArrayFactory::create( {bS, oC, oH, oW}); - auto expGradI = NDArrayFactory::create('c', {bS, iC, iH, iW},{ 0.567f, 1.224f, 0.66f, 1.314f, 2.82f, 1.512f, 1.386f, 2.976f, 1.596f, 0.801f, 1.71f, 0.912f, 0.657f, 1.422f, 0.768f, 1.53f, 3.288f, 1.764f, 1.602f, 3.444f, 1.848f, 0.927f, 1.98f, 1.056f, + auto expGradI = NDArrayFactory::create( {bS, iC, iH, iW},{ 0.567f, 1.224f, 0.66f, 1.314f, 2.82f, 1.512f, 1.386f, 2.976f, 1.596f, 0.801f, 1.71f, 0.912f, 0.657f, 1.422f, 0.768f, 1.53f, 3.288f, 1.764f, 1.602f, 3.444f, 1.848f, 0.927f, 1.98f, 1.056f, 0.747f, 1.62f, 0.876f, 1.746f, 3.756f, 2.016f, 1.818f, 3.912f, 2.1f, 1.053f, 2.25f, 1.2f, 0.837f, 1.818f, 0.984f, 1.962f, 4.224f, 2.268f, 2.034f, 4.38f, 2.352f, 1.179f, 2.52f, 1.344f, 1.467f, 3.06f, 1.596f, 3.186f, 6.636f, 3.456f, 3.402f, 7.08f, 3.684f, 1.845f, 3.834f, 1.992f, 1.773f, 3.69f, 1.92f, 3.834f, 7.968f, 4.14f, 4.05f, 8.412f, 4.368f, 2.187f, 4.536f, 2.352f, 2.079f, 4.32f, 2.244f, 4.482f, 9.3f, 4.824f, 4.698f, 9.744f, 5.052f, 2.529f, 5.238f, 2.712f, 2.385f, 4.95f, 2.568f, 5.13f, 10.632f, 5.508f, 5.346f, 11.076f, 5.736f, 2.871f, 5.94f, 3.072f}); - auto expGradW = NDArrayFactory::create('c', {oC, iC, kH, kW},{1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, + auto expGradW = NDArrayFactory::create( {oC, iC, kH, kW},{1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f}); - auto expGradB = NDArrayFactory::create('c', {oC},{0.68f, 1.f, 1.32f}); + auto expGradB = NDArrayFactory::create( {oC},{0.68f, 1.f, 1.32f}); input = 2.; weights.linspace(0.1, 0.1); @@ -1380,14 +1380,14 @@ TEST_F(ConvolutionTests1, conv2d_bp_4) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray weights('c', {kH, kW, iC, oC}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {1,2,3}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, oC, oH, oW}, sd::DataType::FLOAT32); + NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray weights( {kH, kW, iC, oC}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {1,2,3}, sd::DataType::FLOAT32); + NDArray gradO( {bS, oC, oH, oW}, sd::DataType::FLOAT32); - NDArray gradI('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray gradW('c', {kH, kW, iC, oC}, sd::DataType::FLOAT32); - NDArray gradB('c', {oC}, sd::DataType::FLOAT32); + NDArray gradI( {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray gradW( {kH, kW, iC, oC}, sd::DataType::FLOAT32); + NDArray gradB( {oC}, sd::DataType::FLOAT32); input = 2.; @@ -1409,24 +1409,24 @@ TEST_F(ConvolutionTests1, conv2d_bp_5) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kH, kW, iC, oC], 1-[oC, iC, kH, kW], 2-[oC, kH, kW, iC] - NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray weights('c', {oC, iC, kH, kW}, {3.6, 2.4, 1.2, 0.0, -1.2, -2.4, 3.3, 2.1, 0.9, -0.3, -1.5, -2.7, 3.0, 1.8, 0.6, -0.6, -1.8, -3.0, 2.7, 1.5, 0.3, -0.9, -2.1, -3.3, 3.5, 2.3, 1.1, -0.1, -1.3, -2.5, 3.2, 2.0, 0.8, -0.4, -1.6, -2.8, 2.9, 1.7, 0.5, -0.7, -1.9, -3.1, 2.6, 1.4, 0.2, -1.0, -2.2, -3.4, 3.4, 2.2, 1.0, -0.2, -1.4, -2.6, 3.1, 1.9, 0.7, -0.5, -1.7, -2.9, 2.8, 1.6, 0.4, -0.8, -2.0, -3.2, 2.5, 1.3, 0.1, -1.1, -2.3, -3.5}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, oC, oH, oW}, sd::DataType::FLOAT32); + NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray weights( {oC, iC, kH, kW}, {3.6, 2.4, 1.2, 0.0, -1.2, -2.4, 3.3, 2.1, 0.9, -0.3, -1.5, -2.7, 3.0, 1.8, 0.6, -0.6, -1.8, -3.0, 2.7, 1.5, 0.3, -0.9, -2.1, -3.3, 3.5, 2.3, 1.1, -0.1, -1.3, -2.5, 3.2, 2.0, 0.8, -0.4, -1.6, -2.8, 2.9, 1.7, 0.5, -0.7, -1.9, -3.1, 2.6, 1.4, 0.2, -1.0, -2.2, -3.4, 3.4, 2.2, 1.0, -0.2, -1.4, -2.6, 3.1, 1.9, 0.7, -0.5, -1.7, -2.9, 2.8, 1.6, 0.4, -0.8, -2.0, -3.2, 2.5, 1.3, 0.1, -1.1, -2.3, -3.5}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); + NDArray gradO( {bS, oC, oH, oW}, sd::DataType::FLOAT32); - NDArray expGradI('c', {bS, iC, iH, iW},{0.517, 0.959, 0.406, 0.884, 1.474, 0.518, 0.020, -0.398, -0.490, -0.281, -0.853, -0.608, 0.472, 0.860, 0.352, 0.776, 1.240, + NDArray expGradI( {bS, iC, iH, iW},{0.517, 0.959, 0.406, 0.884, 1.474, 0.518, 0.020, -0.398, -0.490, -0.281, -0.853, -0.608, 0.472, 0.860, 0.352, 0.776, 1.240, 0.392, -0.088, -0.632, -0.616, -0.344, -0.988, -0.680, 0.427, 0.761, 0.298, 0.668, 1.006, 0.266, -0.196, -0.866, -0.742, -0.407, -1.123, -0.752, 0.382, 0.662, 0.244, 0.560, 0.772, 0.140, -0.304, -1.100, -0.868, -0.470, -1.258, -0.824, 1.777, 3.047, 1.234, 2.540, 3.922, 1.310, -0.052, -1.406, -1.426, -0.749, -2.221, -1.508, 1.624, 2.732, 1.072, 2.216, 3.256, 0.968, -0.376, -2.072, -1.768, -0.920, -2.572, -1.688, 1.471, 2.417, 0.910, 1.892, 2.590, 0.626, -0.700, -2.738, -2.110, -1.091, -2.923, -1.868, 1.318, 2.102, 0.748, 1.568, 1.924, 0.284, -1.024, -3.404, -2.452, -1.262, -3.274, -2.048}, sd::DataType::FLOAT32); - NDArray expGradW('c', {oC, iC, kH, kW},{-3.3, -2.62, -1.26, -0.58, 0.78, 1.46, 4.86, 5.54, 6.9, 7.58, 8.940001, 9.619999, 13.02, 13.700001, 15.06, 15.74, 17.1, + NDArray expGradW( {oC, iC, kH, kW},{-3.3, -2.62, -1.26, -0.58, 0.78, 1.46, 4.86, 5.54, 6.9, 7.58, 8.940001, 9.619999, 13.02, 13.700001, 15.06, 15.74, 17.1, 17.780001, 21.18, 21.860001, 23.219999, 23.900002, 25.259998, 25.940001, -10.340001, -9.34, -7.339999, -6.34, -4.339999, -3.339999, 1.66, 2.66, 4.660001, 5.660001, 7.66, 8.66, 13.66, 14.660001, 16.66, 17.66, 19.66, 20.66, 25.66, 26.66, 28.66, 29.66, 31.66, 32.66, -17.380001, -16.059999, -13.420003, -12.099999, -9.46, -8.139999, -1.540001, -0.219999, 2.419999, 3.739999, 6.379999, 7.7, 14.299999, 15.62, 18.26, 19.58, 22.219999, 23.539999, 30.139999, 31.459999, 34.099998, 35.419998, 38.060001, 39.380001}, sd::DataType::FLOAT32); - NDArray expGradB('c', {oC}, {0.68, 1., 1.32}, sd::DataType::FLOAT32); + NDArray expGradB( {oC}, {0.68, 1., 1.32}, sd::DataType::FLOAT32); input.linspace(-48, 1); // weights.linspace(3.6, -0.1); @@ -1459,24 +1459,24 @@ TEST_F(ConvolutionTests1, conv2d_bp_6) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kH, kW, iC, oC], 1-[oC, iC, kH, kW], 2-[oC, kH, kW, iC] - NDArray input('c', {bS, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights('c', {oC, kH, kW, iC}, {3.6, 0.0, 3.3, -0.3, 3.0, -0.6, 2.7, -0.9, 3.5, -0.1, 3.2, -0.4, 2.9, -0.7, 2.6, -1.0, 3.4, -0.2, 3.1, -0.5, 2.8, -0.8, 2.5, -1.1, 2.4, -1.2, 2.1, -1.5, 1.8, -1.8, 1.5, -2.1, 2.3, -1.3, 2.0, -1.6, 1.7, -1.9, 1.4, -2.2, 2.2, -1.4, 1.9, -1.7, 1.6, -2.0, 1.3, -2.3, 1.2, -2.4, 0.9, -2.7, 0.6, -3.0, 0.3, -3.3, 1.1, -2.5, 0.8, -2.8, 0.5, -3.1, 0.2, -3.4, 1.0, -2.6, 0.7, -2.9, 0.4, -3.2, 0.1, -3.5}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, oH, oW, oC}, sd::DataType::FLOAT32); + NDArray input( {bS, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights( {oC, kH, kW, iC}, {3.6, 0.0, 3.3, -0.3, 3.0, -0.6, 2.7, -0.9, 3.5, -0.1, 3.2, -0.4, 2.9, -0.7, 2.6, -1.0, 3.4, -0.2, 3.1, -0.5, 2.8, -0.8, 2.5, -1.1, 2.4, -1.2, 2.1, -1.5, 1.8, -1.8, 1.5, -2.1, 2.3, -1.3, 2.0, -1.6, 1.7, -1.9, 1.4, -2.2, 2.2, -1.4, 1.9, -1.7, 1.6, -2.0, 1.3, -2.3, 1.2, -2.4, 0.9, -2.7, 0.6, -3.0, 0.3, -3.3, 1.1, -2.5, 0.8, -2.8, 0.5, -3.1, 0.2, -3.4, 1.0, -2.6, 0.7, -2.9, 0.4, -3.2, 0.1, -3.5}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); + NDArray gradO( {bS, oH, oW, oC}, sd::DataType::FLOAT32); - NDArray expGradI('c', {bS, iH, iW, iC}, {0.882, -0.522, 0.765, -0.639, 1.953, -1.503, 1.665, -1.791, 2.691, -2.061, 2.295, -2.457, 2.259, -1.305, 1.962, -1.602, 4.545, + NDArray expGradI( {bS, iH, iW, iC}, {0.882, -0.522, 0.765, -0.639, 1.953, -1.503, 1.665, -1.791, 2.691, -2.061, 2.295, -2.457, 2.259, -1.305, 1.962, -1.602, 4.545, -3.555, 3.870, -4.230, 5.625, -4.419, 4.788, -5.256001, 4.122, -2.358, 3.582, -2.898, 7.785, -6.147, 6.624, -7.308, 8.865, -7.011, 7.541999, -8.334, 3.273, -2.019, 2.832, -2.460, 6.069, -5.163, 5.133, -6.099, 6.771, -5.757, 5.727, -6.801, 5.958, -3.222, 5.193, -3.987, 10.809, -8.198999, 9.225, -9.783, 11.547, -8.757, 9.855, -10.448999, 9.711, -5.517, 8.441999, -6.786, 17.505001, -13.922999, 14.886, -16.542, 18.585001, -14.787001, 15.804001, -17.568001, 11.574, -6.570, 10.062, -8.082, 20.745001, -16.514999, 17.639999, -19.619999, 21.825001, -17.379002, 18.558001, -20.646, 8.133, -4.935, 7.044, -6.024, 14.492998, -12.291, 12.261, -14.523001, 15.195001, -12.885, 12.855, -15.225}, sd::DataType::FLOAT32); - NDArray expGradW('c', {oC, kH, kW, iC},{34.559998, 41.760010, 48.959999, 56.160004, 33.119999, 37.739998, 42.360001, 46.979996, 120.960007, 129.480011, 138.0, 146.519989, + NDArray expGradW( {oC, kH, kW, iC},{34.559998, 41.760010, 48.959999, 56.160004, 33.119999, 37.739998, 42.360001, 46.979996, 120.960007, 129.480011, 138.0, 146.519989, 91.200005, 96.639999, 102.079994, 107.520004, 114.479996, 120.059998, 125.639999, 131.220001, 82.080002, 85.620003, 89.160004, 92.699997, 33.120003, 40.499996, 47.879993, 55.260002, 32.399998, 37.139996, 41.880001, 46.620003, 120.479988, 129.240005, 137.999985, 146.759995, 91.199997, 96.799995, 102.399994, 108.0, 115.199989, 120.959999, 126.720001, 132.479996, 82.799995, 86.460007, 90.119995, 93.779999, 31.679998, 39.239994, 46.800003, 54.359997, 31.680000, 36.540001, 41.400002, 46.260002, 120.0, 129.0, 138.0, 147.0, 91.200005, 96.960007, 102.720001, 108.480003, 115.919998, 121.860001, 127.799988, 133.740005, 83.520004, 87.300003, 91.080002, 94.860001}, sd::DataType::FLOAT32); - NDArray expGradB('c', {oC}, {8.520, 8.760, 9.}, sd::DataType::FLOAT32); + NDArray expGradB( {oC}, {8.520, 8.760, 9.}, sd::DataType::FLOAT32); input.linspace(-48, 1); gradO.linspace(0.01, 0.01); @@ -1507,12 +1507,12 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create('c', {bS, oD, oH, oW, oC}); + auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); + auto gradO = NDArrayFactory::create( {bS, oD, oH, oW, oC}); - auto expGradI = NDArrayFactory::create('c', {bS, iD, iH, iW, iC},{0.226f, 0.343f, 0.46f, 0.577f, 1.172f, 1.46f, 1.748f, 2.036f, 1.892f, 2.288f, 2.684f, 3.08f, 1.284f, 1.581f, 1.878f, 2.175f, 4.458f, 5.133f, 5.808f, 6.483f, 6.186f, 7.023f, 7.86f, 8.697f, 3.39f, 3.93f, 4.47f, 5.01f, 9.642f, 10.803f, 11.964f, 13.125f, 11.37f, 12.693f, 14.016f, 15.339f, + auto expGradI = NDArrayFactory::create( {bS, iD, iH, iW, iC},{0.226f, 0.343f, 0.46f, 0.577f, 1.172f, 1.46f, 1.748f, 2.036f, 1.892f, 2.288f, 2.684f, 3.08f, 1.284f, 1.581f, 1.878f, 2.175f, 4.458f, 5.133f, 5.808f, 6.483f, 6.186f, 7.023f, 7.86f, 8.697f, 3.39f, 3.93f, 4.47f, 5.01f, 9.642f, 10.803f, 11.964f, 13.125f, 11.37f, 12.693f, 14.016f, 15.339f, 5.266f, 5.707f, 6.148f, 6.589f, 12.98f, 13.916f, 14.852f, 15.788f, 14.564f, 15.608f, 16.652f, 17.696f, 6.284f, 7.166f, 8.048f, 8.93f, 17.896f, 19.768f, 21.64f, 23.512f, 21.928f, 24.016f, 26.104f, 28.192f, 18.12f, 19.686f, 21.252f, 22.818f, 45.852f, 49.146f, 52.44f, 55.734f, 53.196f, 56.814f, 60.432f, 64.05f, 28.164f, 30.216f, 32.268f, 34.32f, 67.884f, 72.15f, 76.416f, 80.682f, 75.228f, 79.818f, 84.408f, 88.998f, 29.324f, 30.854f, 32.384f, 33.914f, 67.432f, 70.6f, 73.768f, 76.936f, 73.192f, 76.576f, 79.96f, 83.344f, 27.884f, 30.062f, 32.24f, 34.418f, 66.28f, 70.744f, 75.208f, 79.672f, 70.312f, 74.992f, 79.672f, 84.352f, 58.296f, 61.806f, 65.316f, 68.826f, 133.98f, 141.162f, 148.344f, 155.526f, 141.324f, 148.83f, 156.336f, 163.842f, 68.34f, 72.336f, 76.332f, 80.328f, 156.012f, 164.166f, 172.32f, 180.474f, 163.356f, 171.834f, 180.312f, 188.79f, 61.292f, 64.118f, 66.944f, 69.77f, 136.552f, 142.312f, 148.072f, 153.832f, 142.312f, 148.288f, 154.264f, 160.24f, @@ -1521,13 +1521,13 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test1) { 148.692f, 156.576f, 164.46f, 172.344f, 332.268f, 348.198f, 364.128f, 380.058f, 339.612f, 355.866f, 372.12f, 388.374f, 125.228f, 130.646f, 136.064f, 141.482f, 274.792f, 285.736f, 296.68f, 307.624f, 280.552f, 291.712f, 302.872f, 314.032f, 92.684f, 98.75f, 104.816f, 110.882f, 211.432f, 223.672f, 235.912f, 248.152f, 215.464f, 227.92f, 240.376f, 252.832f, 178.824f, 188.166f, 197.508f, 206.85f, 398.364f, 417.21f, 436.056f, 454.902f, 405.708f, 424.878f, 444.048f, 463.218f, 188.868f, 198.696f, 208.524f, 218.352f, 420.396f, 440.214f, 460.032f, 479.85f, 427.74f, 447.882f, 468.024f, 488.166f, 157.196f, 163.91f, 170.624f, 177.338f, 343.912f, 357.448f, 370.984f, 384.52f, 349.672f, 363.424f, 377.176f, 390.928f}); - auto expGradW = NDArrayFactory::create('c', {kD, kH, kW, iC, oC},{120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, + auto expGradW = NDArrayFactory::create( {kD, kH, kW, iC, oC},{120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 154.8f, 156.24f, 157.68f, 154.8f, 156.24f, 157.68f, 154.8f, 156.24f, 157.68f, 154.8f, 156.24f, 157.68f, 101.76f, 102.72f, 103.68f, 101.76f, 102.72f, 103.68f, 101.76f, 102.72f, 103.68f, 101.76f, 102.72f, 103.68f, 111.24f, 112.32f, 113.4f, 111.24f, 112.32f, 113.4f, 111.24f, 112.32f, 113.4f, 111.24f, 112.32f, 113.4f, 73.08f, 73.8f, 74.52f, 73.08f, 73.8f, 74.52f, 73.08f, 73.8f, 74.52f, 73.08f, 73.8f, 74.52f, 67.68f, 68.4f, 69.12f, 67.68f, 68.4f, 69.12f, 67.68f, 68.4f, 69.12f, 67.68f, 68.4f, 69.12f, 44.4f, 44.88f, 45.36f, 44.4f, 44.88f, 45.36f, 44.4f, 44.88f, 45.36f, 44.4f, 44.88f, 45.36f, 85.92f, 86.88f, 87.84f, 85.92f, 86.88f, 87.84f, 85.92f, 86.88f, 87.84f, 85.92f, 86.88f, 87.84f, 56.32f, 56.96f, 57.6f, 56.32f, 56.96f, 57.6f, 56.32f, 56.96f, 57.6f, 56.32f, 56.96f, 57.6f, 61.2f, 61.92f, 62.64f, 61.2f, 61.92f, 62.64f, 61.2f, 61.92f, 62.64f, 61.2f, 61.92f, 62.64f, 40.08f, 40.56f, 41.04f, 40.08f, 40.56f, 41.04f, 40.08f, 40.56f, 41.04f, 40.08f, 40.56f, 41.04f}); - // auto expGradB('c', {oC},{}); + // auto expGradB( {oC},{}); input = 2.; weights.linspace(0.1, 0.1); @@ -1557,12 +1557,12 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test2) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create('c', {bS, oD, oH, oW, oC}); + auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); + auto gradO = NDArrayFactory::create( {bS, oD, oH, oW, oC}); - auto expGradI = NDArrayFactory::create('c', {bS, iD, iH, iW, iC},{ 0.014f, 0.032f, 0.05f, 0.068f, 0.118f, 0.181f, 0.244f, 0.307f, 0.212f, 0.257f, 0.302f, 0.347f, 0.208f, 0.298f, 0.388f, 0.478f, 1.028f, 1.262f, 1.496f, 1.73f, 1.036f, 1.18f, 1.324f, 1.468f, 0.928f, 1.018f, 1.108f, 1.198f, 2.9f, 3.134f, 3.368f, 3.602f, 2.188f, 2.332f, 2.476f, 2.62f, + auto expGradI = NDArrayFactory::create( {bS, iD, iH, iW, iC},{ 0.014f, 0.032f, 0.05f, 0.068f, 0.118f, 0.181f, 0.244f, 0.307f, 0.212f, 0.257f, 0.302f, 0.347f, 0.208f, 0.298f, 0.388f, 0.478f, 1.028f, 1.262f, 1.496f, 1.73f, 1.036f, 1.18f, 1.324f, 1.468f, 0.928f, 1.018f, 1.108f, 1.198f, 2.9f, 3.134f, 3.368f, 3.602f, 2.188f, 2.332f, 2.476f, 2.62f, 1.202f, 1.274f, 1.346f, 1.418f, 3.142f, 3.313f, 3.484f, 3.655f, 2.048f, 2.147f, 2.246f, 2.345f, 0.532f, 0.676f, 0.82f, 0.964f, 2.324f, 2.666f, 3.008f, 3.35f, 2.008f, 2.206f, 2.404f, 2.602f, 3.584f, 3.98f, 4.376f, 4.772f, 10.552f, 11.452f, 12.352f, 13.252f, 7.4f, 7.904f, 8.408f, 8.912f, 6.752f, 7.148f, 7.544f, 7.94f, 17.752f, 18.652f, 19.552f, 20.452f, 11.432f, 11.936f, 12.44f, 12.944f, 5.932f, 6.184f, 6.436f, 6.688f, 14.42f, 14.978f, 15.536f, 16.094f, 8.704f, 9.01f, 9.316f, 9.622f, 3.11f, 3.236f, 3.362f, 3.488f, 7.39f, 7.669f, 7.948f, 8.227f, 4.388f, 4.541f, 4.694f, 4.847f, 8.56f, 8.866f, 9.172f, 9.478f, 19.892f, 20.558f, 21.224f, 21.89f, 11.548f, 11.908f, 12.268f, 12.628f, 11.008f, 11.314f, 11.62f, 11.926f, 25.22f, 25.886f, 26.552f, 27.218f, 14.428f, 14.788f, 15.148f, 15.508f, 7.322f, 7.502f, 7.682f, 7.862f, 16.462f, 16.849f, 17.236f, 17.623f, 9.248f, 9.455f, 9.662f, 9.869f, @@ -1571,11 +1571,11 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test2) { 28.064f, 29.324f, 30.584f, 31.844f, 63.832f, 66.46f, 69.088f, 71.716f, 36.2f, 37.568f, 38.936f, 40.304f, 18.316f, 19.f, 19.684f, 20.368f, 40.916f, 42.338f, 43.76f, 45.182f, 22.816f, 23.554f, 24.292f, 25.03f, 8.438f, 8.78f, 9.122f, 9.464f, 18.91f, 19.621f, 20.332f, 21.043f, 10.58f, 10.949f, 11.318f, 11.687f, 20.944f, 21.682f, 22.42f, 23.158f, 46.388f, 47.918f, 49.448f, 50.978f, 25.66f, 26.452f, 27.244f, 28.036f, 26.848f, 27.586f, 28.324f, 29.062f, 58.628f, 60.158f, 61.688f, 63.218f, 31.996f, 32.788f, 33.58f, 34.372f, 16.106f, 16.502f, 16.898f, 17.294f, 34.894f, 35.713f, 36.532f, 37.351f, 18.896f, 19.319f, 19.742f, 20.165f}); - auto expGradW = NDArrayFactory::create('c', {kD, kH, kW, iC, oC},{7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, + auto expGradW = NDArrayFactory::create( {kD, kH, kW, iC, oC},{7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f}); - // auto expGradB('c', {oC},{}); + // auto expGradB( {oC},{}); input = 2.; weights.linspace(0.1, 0.1); @@ -1604,12 +1604,12 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kD, kH, kW}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create('c', {bS, oC, oD, oH, oW}); + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create( {oC, iC, kD, kH, kW}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); + auto gradO = NDArrayFactory::create( {bS, oC, oD, oH, oW}); - auto expGradI = NDArrayFactory::create('c', {bS, iC, iD, iH, iW},{2.091f, 4.356f, 2.268f, 4.53f, 9.42f, 4.896f, 4.65f, 9.672f, 5.028f, 2.517f, 5.226f, 2.712f, 4.932f, 10.242f, 5.316f, 10.62f, 22.02f, 11.412f, 10.908f, 22.62f, 11.724f, 5.868f, 12.15f, 6.288f, 2.913f, 6.03f, 3.12f, 6.234f, 12.888f, 6.66f, 6.402f, 13.236f, 6.84f, 3.423f, 7.068f, 3.648f, + auto expGradI = NDArrayFactory::create( {bS, iC, iD, iH, iW},{2.091f, 4.356f, 2.268f, 4.53f, 9.42f, 4.896f, 4.65f, 9.672f, 5.028f, 2.517f, 5.226f, 2.712f, 4.932f, 10.242f, 5.316f, 10.62f, 22.02f, 11.412f, 10.908f, 22.62f, 11.724f, 5.868f, 12.15f, 6.288f, 2.913f, 6.03f, 3.12f, 6.234f, 12.888f, 6.66f, 6.402f, 13.236f, 6.84f, 3.423f, 7.068f, 3.648f, 2.415f, 5.04f, 2.628f, 5.25f, 10.932f, 5.688f, 5.37f, 11.184f, 5.82f, 2.913f, 6.054f, 3.144f, 5.724f, 11.898f, 6.18f, 12.348f, 25.62f, 13.284f, 12.636f, 26.22f, 13.596f, 6.804f, 14.094f, 7.296f, 3.381f, 7.002f, 3.624f, 7.242f, 14.976f, 7.74f, 7.41f, 15.324f, 7.92f, 3.963f, 8.184f, 4.224f, 2.739f, 5.724f, 2.988f, 5.97f, 12.444f, 6.48f, 6.09f, 12.696f, 6.612f, 3.309f, 6.882f, 3.576f, 6.516f, 13.554f, 7.044f, 14.076f, 29.22f, 15.156f, 14.364f, 29.82f, 15.468f, 7.74f, 16.038f, 8.304f, 3.849f, 7.974f, 4.128f, 8.25f, 17.064f, 8.82f, 8.418f, 17.412f, 9.f, 4.503f, 9.3f, 4.8f, 3.063f, 6.408f, 3.348f, 6.69f, 13.956f, 7.272f, 6.81f, 14.208f, 7.404f, 3.705f, 7.71f, 4.008f, 7.308f, 15.21f, 7.908f, 15.804f, 32.82f, 17.028f, 16.092f, 33.42f, 17.34f, 8.676f, 17.982f, 9.312f, 4.317f, 8.946f, 4.632f, 9.258f, 19.152f, 9.9f, 9.426f, 19.5f, 10.08f, 5.043f, 10.416f, 5.376f, @@ -1618,14 +1618,14 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test3) { 7.995f, 16.308f, 8.316f, 16.626f, 33.9f, 17.28f, 17.034f, 34.728f, 17.7f, 8.853f, 18.042f, 9.192f, 17.46f, 35.586f, 18.132f, 36.252f, 73.86f, 37.62f, 37.116f, 75.612f, 38.508f, 19.26f, 39.222f, 19.968f, 9.537f, 19.422f, 9.888f, 19.77f, 40.248f, 20.484f, 20.226f, 41.172f, 20.952f, 10.479f, 21.324f, 10.848f, 9.183f, 18.72f, 9.54f, 19.074f, 38.868f, 19.8f, 19.482f, 39.696f, 20.22f, 10.113f, 20.598f, 10.488f, 19.98f, 40.698f, 20.724f, 41.436f, 84.372f, 42.948f, 42.3f, 86.124f, 43.836f, 21.924f, 44.622f, 22.704f, 10.869f, 22.122f, 11.256f, 22.506f, 45.792f, 23.292f, 22.962f, 46.716f, 23.76f, 11.883f, 24.168f, 12.288f}); - auto expGradW = NDArrayFactory::create('c', {oC, iC, kD, kH, kW},{5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, + auto expGradW = NDArrayFactory::create( {oC, iC, kD, kH, kW},{5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f}); - auto expGradB = NDArrayFactory::create('c', {oC},{2.64f, 3.92f, 5.2f}); + auto expGradB = NDArrayFactory::create( {oC},{2.64f, 3.92f, 5.2f}); input = 2.; weights.linspace(0.1, 0.1); @@ -1662,29 +1662,29 @@ TEST_F(ConvolutionTests1, conv3d_bp_test4) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kD, kH, kW, iC, oC], 1-[oC, iC, kD, kH, kW], 2-[oC, kD, kH, kW, iC] - NDArray input('c', {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); - NDArray weights('c', {oC, iC, kD, kH, kW}, {7., 5.8, 4.6, 3.4, 2.2, 1., -0.2, -1.4, -2.6, -3.8, -5., -6.2, 6.7, 5.5, 4.3, 3.1, 1.9, 0.7, -0.5, -1.7, -2.9, -4.1, + NDArray input( {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); + NDArray weights( {oC, iC, kD, kH, kW}, {7., 5.8, 4.6, 3.4, 2.2, 1., -0.2, -1.4, -2.6, -3.8, -5., -6.2, 6.7, 5.5, 4.3, 3.1, 1.9, 0.7, -0.5, -1.7, -2.9, -4.1, -5.3, -6.5, 6.4, 5.2, 4., 2.8, 1.6, 0.4, -0.8, -2., -3.2, -4.4, -5.6, -6.8, 6.1, 4.9, 3.7, 2.5, 1.3, 0.1, -1.1, -2.3, -3.5, -4.7, -5.9, -7.1, 6.9, 5.7, 4.5, 3.3, 2.1, 0.9, -0.3, -1.5, -2.7, -3.9, -5.1, -6.3, 6.6, 5.4, 4.2, 3., 1.8, 0.6, -0.6, -1.8, -3., -4.2, -5.4, -6.6, 6.3, 5.1, 3.9, 2.7, 1.5, 0.3, -0.9, -2.1, -3.3, -4.5, -5.7, -6.9, 6., 4.8, 3.6, 2.4, 1.2, 0., -1.2, -2.4, -3.6, -4.8, -6., -7.2, 6.8, 5.6, 4.4, 3.2, 2., 0.8, -0.4, -1.6, -2.8, -4., -5.2, -6.4, 6.5, 5.3, 4.1, 2.9, 1.7, 0.5, -0.7, -1.9, -3.1, -4.3, -5.5, -6.7, 6.2, 5., 3.8, 2.6, 1.4, 0.2, -1., -2.2, -3.4, -4.6, -5.8, -7., 5.9, 4.7, 3.5, 2.3, 1.1, -0.1, -1.3, -2.5, -3.7, -4.9, -6.1, -7.3}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, oC, oD, oH, oW}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); + NDArray gradO( {bS, oC, oD, oH, oW}, sd::DataType::FLOAT32); - NDArray expGradI('c', {bS, iC, iD, iH, iW},{1.847, 3.577, 1.694, 3.460, 6.542, 3.010, 1.469, 2.677, 1.172, 3.226, 5.929999, 2.632, 5.408, 9.483999, 3.932, 1.894, + NDArray expGradI( {bS, iC, iD, iH, iW},{1.847, 3.577, 1.694, 3.460, 6.542, 3.010, 1.469, 2.677, 1.172, 3.226, 5.929999, 2.632, 5.408, 9.483999, 3.932, 1.894, 2.978, 1.012, 0.058, -0.694, -0.824, -1.504, -4.916, -3.556, -1.850, -4.798, -3.020, -1.069, -2.687, -1.654, -3.236, -7.714, -4.550, -2.311, -5.315, -3.040, 1.766, 3.406, 1.604, 3.280, 6.164, 2.812, 1.370, 2.470, 1.064, 3.028, 5.516, 2.416, 4.976, 8.584001, 3.464, 1.660, 2.492, 0.760, -0.140, -1.108, -1.040, -1.936, -5.816, -4.024, -2.084, -5.284, -3.272, -1.186, -2.930, -1.780, -3.488, -8.236, -4.820, -2.446, -5.594, -3.184, 1.685, 3.235, 1.514, 3.100, 5.786, 2.614, 1.271, 2.263, 0.956, 2.830, 5.102, 2.200, 4.544001, 7.683999, 2.996, 1.426, 2.006, 0.508, -0.338, -1.522, -1.256, -2.368, -6.716, -4.492, -2.318, -5.770, -3.524, -1.303, -3.173, -1.906, -3.740, -8.757999, -5.090, -2.581, -5.873, -3.328, 1.604, 3.064, 1.424, 2.920, 5.408, 2.416, 1.172, 2.056, 0.848, 2.632, 4.688, 1.984, 4.112, 6.784, 2.528, 1.192, 1.520, 0.256, -0.536, -1.936, -1.472, -2.800, -7.616, -4.960, -2.552, -6.256, -3.776, -1.420, -3.416, -2.032, -3.992, -9.280001, -5.360, -2.716, -6.152, -3.472, 6.815001, 12.649, 5.798, 11.668, 21.230, 9.490, 4.709, 8.292999, 3.548, 9.706, 17.162001, 7.384, 14.912001, 25.036001, 9.980001, 4.918, 7.298, 2.308, -0.374, -3.286, -2.984, -5.824, -17.012001, -11.332001, -5.738, -14.302, -8.636, -3.013, -7.439, -4.462, -8.852, -20.674, -11.894, -5.983, -13.523, -7.576, 6.518, 12.046, 5.492, 11.056, 19.988001, 8.860001, 4.394, 7.654, 3.224, 9.075999, 15.883999, 6.736001, 13.616, 22.407999, 8.648, 4.252, 5.947999, 1.624, -1.004, -4.564, -3.632, -7.120, -19.639999, -12.664001, -6.404, -15.652, -9.320, -3.346, -8.114, -4.804, -9.536, -22.059999, -12.596, -6.334, -14.233999, -7.936, 6.221, 11.443, 5.186, 10.444, 18.746, 8.230, 4.079, 7.015, 2.900, 8.446, 14.606001, 6.088, 12.320, 19.779999, 7.316, 3.586, 4.598001, 0.940, -1.634, -5.842, -4.280, -8.416, -22.268002, -13.996, -7.070001, -17.001999, -10.004001, -3.679, -8.789, -5.146, -10.220, -23.445999, -13.298, -6.684999, -14.945, -8.296, 5.924, 10.840, 4.880, 9.832001, 17.504, 7.600, 3.764, 6.376, 2.576, 7.816, 13.328, 5.440001, 11.024, 17.152, 5.983999, 2.920, 3.247999, 0.256, -2.264, -7.120, -4.928, -9.712, -24.896, -15.328, -7.736, -18.352001, -10.688, -4.012, -9.464, -5.488, -10.903999, -24.832001, -14.000, -7.035999, -15.656, -8.655999}, sd::DataType::FLOAT32); - NDArray expGradW('c', {oC, iC, kD, kH, kW},{-24.399998, -23.080000, -20.440001, -19.119999, -12.519999, -11.199998, -8.560001, -7.240002, -0.639999, 0.679999, + NDArray expGradW( {oC, iC, kD, kH, kW},{-24.399998, -23.080000, -20.440001, -19.119999, -12.519999, -11.199998, -8.560001, -7.240002, -0.639999, 0.679999, 3.320001, 4.640001, 23.119999, 24.439999, 27.080002, 28.400002, 35.000000, 36.320000, 38.959999, 40.279999, 46.879997, 48.200005, 50.839996, 52.160004, 70.639999, 71.959999, 74.599998, 75.919998, 82.520004, 83.840004, 86.479996, 87.800003, 94.399994, 95.719994, 98.360001, 99.680008, 118.160004, 119.479996, 122.120003, 123.440010, 130.040009, 131.360001, 134.000000, 135.319992, 141.919998, 143.239990, 145.879990, 147.200012, -70.159996, -68.200005, -64.279999, -62.319996, -52.519993, -50.559994, -46.640003, -44.680000, -34.880001, -32.919998, -29.000002, -27.040005, 0.400004, 2.359996, 6.279998, 8.240004, 18.040001, 20.000000, 23.920002, 25.879999, 35.680000, 37.639996, 41.560001, 43.520000, 70.959999, 72.919998, 76.840004, 78.799995, 88.599998, 90.560005, 94.479996, 96.440002, 106.240005, 108.199997, 112.120003, 114.080002, 141.519989, 143.479996, 147.400009, 149.360001, 159.159988, 161.119995, 165.040009, 167.000000, 176.800003, 178.760010, 182.679993, 184.639999, -115.920006, -113.320000, -108.120003, -105.520012, -92.520004, -89.919991, -84.720001, -82.119995, -69.120010, -66.520004, -61.320000, -58.719994, -22.320000, -19.719999, -14.520001, -11.920001, 1.079997, 3.679997, 8.879997, 11.480003, 24.480001, 27.079998, 32.280003, 34.880001, 71.279999, 73.880005, 79.080002, 81.680000, 94.679993, 97.280006, 102.479996, 105.080002, 118.080002, 120.679993, 125.879997, 128.479996, 164.880005, 167.479996, 172.679993, 175.279999, 188.279984, 190.880005, 196.080002, 198.679993, 211.680008, 214.280014, 219.479996, 222.079987}, sd::DataType::FLOAT32); - NDArray expGradB('c', {oC}, {2.64, 3.92, 5.2}, sd::DataType::FLOAT32); + NDArray expGradB( {oC}, {2.64, 3.92, 5.2}, sd::DataType::FLOAT32); input.linspace(-75, 0.5); gradO.linspace(0.01, 0.01); @@ -1716,29 +1716,29 @@ TEST_F(ConvolutionTests1, conv3d_bp_test5) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kD, kH, kW, iC, oC], 1-[oC, iC, kD, kH, kW], 2-[oC, kD, kH, kW, iC] - NDArray input('c', {bS, iD, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights('c', {oC, kD, kH, kW, iC}, {15., 14.7, 14.4, 14.1, 13.8, 13.5, 13.2, 12.9, 12.6, 12.3, 12., 11.7, 11.4, 11.1, 10.8, 10.5, 10.2, 9.9, 9.6, 9.3, 9., + NDArray input( {bS, iD, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights( {oC, kD, kH, kW, iC}, {15., 14.7, 14.4, 14.1, 13.8, 13.5, 13.2, 12.9, 12.6, 12.3, 12., 11.7, 11.4, 11.1, 10.8, 10.5, 10.2, 9.9, 9.6, 9.3, 9., 8.7, 8.4, 8.1, 7.8, 7.5, 7.2, 6.9, 6.6, 6.3, 6., 5.7, 5.4, 5.1, 4.8, 4.5, 4.2, 3.9, 3.6, 3.3, 3., 2.7, 2.4, 2.1, 1.8, 1.5, 1.2, 0.9, 14.9, 14.6, 14.3, 14., 13.7, 13.4, 13.1, 12.8, 12.5, 12.2, 11.9, 11.6, 11.3, 11., 10.7, 10.4, 10.1, 9.8, 9.5, 9.2, 8.9, 8.6, 8.3, 8., 7.7, 7.4, 7.1, 6.8, 6.5, 6.2, 5.9, 5.6, 5.3, 5., 4.7, 4.4, 4.1, 3.8, 3.5, 3.2, 2.9, 2.6, 2.3, 2., 1.7, 1.4, 1.1, 0.8, 14.8, 14.5, 14.2, 13.9, 13.6, 13.3, 13., 12.7, 12.4, 12.1, 11.8, 11.5, 11.2, 10.9, 10.6, 10.3, 10., 9.7, 9.4, 9.1, 8.8, 8.5, 8.2, 7.9, 7.6, 7.3, 7., 6.7, 6.4, 6.1, 5.8, 5.5, 5.2, 4.9, 4.6, 4.3, 4., 3.7, 3.4, 3.1, 2.8, 2.5, 2.2, 1.9, 1.6, 1.3, 1., 0.7}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, oD, oH, oW, oC}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); + NDArray gradO( {bS, oD, oH, oW, oC}, sd::DataType::FLOAT32); - NDArray expGradI('c', {bS, iD, iH, iW, iC}, {13.565001, 13.286001, 13.007000, 12.728001, 28.264000, 27.652000, 27.040001, 26.427999, 32.547997, 31.827999, 31.108002, + NDArray expGradI( {bS, iD, iH, iW, iC}, {13.565001, 13.286001, 13.007000, 12.728001, 28.264000, 27.652000, 27.040001, 26.427999, 32.547997, 31.827999, 31.108002, 30.388000, 31.647999, 30.927998, 30.208000, 29.487999, 64.484001, 62.935997, 61.387997, 59.839996, 72.188004, 70.424004, 68.660004, 66.896004, 43.852001, 42.807999, 41.764000, 40.719997, 87.596001, 85.400002, 83.204002, 81.007996, 95.299988, 92.887993, 90.475998, 88.063995, 34.130997, 33.348000, 32.564999, 31.782001, 67.856995, 66.210007, 64.563004, 62.916000, 72.987000, 71.178001, 69.369003, 67.559998, 70.179001, 68.369995, 66.561005, 64.751999, 137.927994, 134.147995, 130.367996, 126.587997, 146.891998, 142.787994, 138.683990, 134.580017, 84.597000, 82.302002, 80.007004, 77.711998, 164.820007, 160.067993, 155.316010, 150.563995, 173.783997, 168.707993, 163.631989, 158.556000, 58.674000, 57.162003, 55.649994, 54.138000, 114.027008, 110.921997, 107.816994, 104.711990, 119.156998, 115.889999, 112.623001, 109.355995, 113.433006, 110.166000, 106.899002, 103.632004, 218.603989, 211.908020, 205.211975, 198.515991, 227.568008, 220.547974, 213.528015, 206.507996, 127.850998, 124.098000, 120.345001, 116.591995, 245.496002, 237.828018, 230.159988, 222.492004, 254.459991, 246.468002, 238.475998, 230.483994, 34.049000, 32.797997, 31.547001, 30.295998, 64.479996, 61.924000, 59.368004, 56.812000, 67.035995, 64.372002, 61.707996, 59.044003, 62.248001, 59.584003, 56.919998, 54.256001, 116.180000, 110.744003, 105.307999, 99.872002, 120.428001, 114.776001, 109.124001, 103.472000, 69.268005, 66.279999, 63.292000, 60.304001, 128.923996, 122.839996, 116.755997, 110.671997, 133.171997, 126.872002, 120.571991, 114.271996, 94.565002, 92.342010, 90.118996, 87.896004, 182.488007, 177.988007, 173.488007, 168.988007, 186.772003, 182.164001, 177.556000, 172.947998, 178.095993, 173.488007, 168.880005, 164.272003, 341.828003, 332.504028, 323.180023, 313.856018, 349.532013, 339.992004, 330.451996, 320.911987, 190.299988, 185.368011, 180.436005, 175.503998, 364.940002, 354.967987, 344.996002, 335.024017, 372.644012, 362.455994, 352.268005, 342.080017, 132.303009, 128.604004, 124.904999, 121.206001, 252.536987, 245.057999, 237.578979, 230.100006, 257.666992, 250.026001, 242.385010, 234.744019, 243.195007, 235.554001, 227.912994, 220.272003, 460.631958, 445.188019, 429.744019, 414.299988, 469.595947, 453.827972, 438.059998, 422.291992, 257.613007, 249.486008, 241.358994, 233.232010, 487.523987, 471.108032, 454.691986, 438.276001, 496.488037, 479.748016, 463.007996, 446.268005, 156.846008, 152.417999, 147.989990, 143.561996, 298.707001, 289.769989, 280.833008, 271.895996, 303.837006, 294.737976, 285.638977, 276.540009, 286.449005, 277.350006, 268.250977, 259.151978, 541.307983, 522.947998, 504.587982, 486.227997, 550.271973, 531.588013, 512.903992, 494.220032, 300.867004, 291.281982, 281.696991, 272.112000, 568.200012, 548.868042, 529.535950, 510.204010, 577.164062, 557.507935, 537.851990, 518.196045, 83.944992, 80.750000, 77.555000, 74.360001, 156.496002, 150.052002, 143.608002, 137.164001, 159.052002, 152.500000, 145.947998, 139.395996, 146.488007, 139.936005, 133.384003, 126.832001, 269.107971, 255.895996, 242.684006, 229.471985, 273.356018, 259.927979, 246.500000, 233.071991, 153.507996, 146.632004, 139.755997, 132.880005, 281.851990, 267.992004, 254.132004, 240.272003, 286.100006, 272.023987, 257.947998, 243.872009}, sd::DataType::FLOAT32); - NDArray expGradW('c', {oC, kD, kH, kW, iC}, {396.899872, 429.570007, 462.240234, 494.910156, 313.739960, 335.250000, 356.760071, 378.270020, 403.379944, 424.350006, + NDArray expGradW( {oC, kD, kH, kW, iC}, {396.899872, 429.570007, 462.240234, 494.910156, 313.739960, 335.250000, 356.760071, 378.270020, 403.379944, 424.350006, 445.320007, 466.289978, 299.520020, 313.319977, 327.119995, 340.920013, 1556.280029, 1594.979980, 1633.679932, 1672.379883, 1090.080078, 1115.520020, 1140.959961, 1166.400024, 1183.679932, 1208.400024, 1233.119995, 1257.840088, 821.279907, 837.519897, 853.760010, 870.000000, 1500.119873, 1525.500122, 1550.880005, 1576.260010, 1029.780029, 1046.429932, 1063.080078, 1079.729980, 1080.539917, 1096.650024, 1112.760010, 1128.869995, 738.000000, 748.560059, 759.119995, 769.679993, 389.880005, 422.819946, 455.759979, 488.699951, 309.420013, 331.109985, 352.799988, 374.490051, 399.780029, 420.930023, 442.080017, 463.230011, 297.359985, 311.280029, 325.200012, 339.120056, 1553.400146, 1592.459961, 1631.520020, 1670.579956, 1088.640015, 1114.320068, 1140.000000, 1165.679932, 1183.199951, 1208.160034, 1233.119995, 1258.079956, 821.280029, 837.680054, 854.079956, 870.479980, 1502.819946, 1528.469971, 1554.119995, 1579.770020, 1031.939941, 1048.770020, 1065.599976, 1082.429932, 1083.420044, 1099.709961, 1116.000000, 1132.290039, 740.159973, 750.840027, 761.519958, 772.199951, 382.859924, 416.070099, 449.279968, 482.489990, 305.099976, 326.970062, 348.840027, 370.709991, 396.179962, 417.510010, 438.839966, 460.169952, 295.200012, 309.239990, 323.279968, 337.320007, 1550.519775, 1589.939941, 1629.359985, 1668.779907, 1087.200073, 1113.119995, 1139.039917, 1164.959961, 1182.719971, 1207.920044, 1233.119995, 1258.320190, 821.279968, 837.840027, 854.400024, 870.959961, 1505.520142, 1531.439819, 1557.359985, 1583.279907, 1034.100098, 1051.110107, 1068.120117, 1085.130005, 1086.299927, 1102.770020, 1119.239990, 1135.710083, 742.319946, 753.119995, 763.919983, 774.720032}, sd::DataType::FLOAT32); - NDArray expGradB('c', {oC}, {77.400002, 78.119995, 78.840004}, sd::DataType::FLOAT32); + NDArray expGradB( {oC}, {77.400002, 78.119995, 78.840004}, sd::DataType::FLOAT32); input.linspace(-75, 0.5); gradO.linspace(0.01, 0.01); @@ -1768,9 +1768,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto expected = NDArrayFactory::create('c', {2, 3, 4, 3, 3}, {534.4f, 540.8f, 547.2f, 534.4f, 540.8f, 547.2f, 248.f, 251.2f, 254.4f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, + auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto expected = NDArrayFactory::create( {2, 3, 4, 3, 3}, {534.4f, 540.8f, 547.2f, 534.4f, 540.8f, 547.2f, 248.f, 251.2f, 254.4f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 380.8f, 387.2f, 393.6f, 380.8f, 387.2f, 393.6f, 171.2f, 174.4f, 177.6f, 534.4f, 540.8f, 547.2f, 534.4f, 540.8f, 547.2f, 248.f, 251.2f, 254.4f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 380.8f, 387.2f, 393.6f, 380.8f, 387.2f, 393.6f, 171.2f, 174.4f, 177.6f, 152.f, 155.2f, 158.4f, 152.f, 155.2f, 158.4f, 66.4f, 68.f, 69.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, 75.2f, 78.4f, 81.6f, 75.2f, 78.4f, 81.6f, 28.f, 29.6f, 31.2f, @@ -1798,9 +1798,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test2) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto expected = NDArrayFactory::create('c', {2, 2, 2, 2, 3}, {686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, + auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto expected = NDArrayFactory::create( {2, 2, 2, 2, 3}, {686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f}); @@ -1825,9 +1825,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto expected = NDArrayFactory::create('c', {2, 3, 2, 2, 2}); + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2}); input = 2.; weights = 0.5; expected = 48.; @@ -1849,10 +1849,10 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test4) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC}); - auto expected = NDArrayFactory::create('c', {2, 3, 2, 2, 2}); + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create( {oC}); + auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2}); input = 2.; weights = 0.5; @@ -1878,10 +1878,10 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test5) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC},{1.f, 2.f, 3.f}); - auto expected = NDArrayFactory::create('c', {2, 3, 2, 2, 2},{49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create( {oC},{1.f, 2.f, 3.f}); + auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2},{49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f}); input = 2.; @@ -1906,10 +1906,10 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test6) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kD, kH, kW}); - auto bias = NDArrayFactory::create('c', {oC},{1.f, 2.f, 3.f}); - auto expected = NDArrayFactory::create('c', {2, 3, 2, 2, 2},{236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 698.f, 698.f, 698.f, 698.f, + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create( {oC, iC, kD, kH, kW}); + auto bias = NDArrayFactory::create( {oC},{1.f, 2.f, 3.f}); + auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2},{236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f}); @@ -1937,9 +1937,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test7) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kD, kH, kW}); - auto expected = NDArrayFactory::create('c', {2, 3, 2, 2, 2},{235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create( {oC, iC, kD, kH, kW}); + auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2},{235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f}); input = 2.; @@ -1959,9 +1959,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test7) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests1, conv3d_test8) { - auto x = NDArrayFactory::create('c', {4, 2, 28, 28, 3}); - auto y = NDArrayFactory::create('c', {2, 5, 5, 3, 4}); - auto e = NDArrayFactory::create('c', {4, 1, 7, 10, 4}); + auto x = NDArrayFactory::create( {4, 2, 28, 28, 3}); + auto y = NDArrayFactory::create( {2, 5, 5, 3, 4}); + auto e = NDArrayFactory::create( {4, 1, 7, 10, 4}); sd::ops::conv3dnew op; auto result = op.evaluate({&x, &y}, {}, {2,5,5, 5,4,3, 0,0,0, 1,1,1, 1,1}); @@ -1973,9 +1973,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test8) { } TYPED_TEST(TypedConvolutionTests1, conv3d_test9) { - auto x = NDArrayFactory::create('c', {4, 2, 28, 28, 3}); - auto w = NDArrayFactory::create('c', {2, 5, 5, 3, 4}); - auto exp = NDArrayFactory::create('c', {4, 1, 7, 10, 4}); + auto x = NDArrayFactory::create( {4, 2, 28, 28, 3}); + auto w = NDArrayFactory::create( {2, 5, 5, 3, 4}); + auto exp = NDArrayFactory::create( {4, 1, 7, 10, 4}); sd::ops::conv3dnew op; auto result = op.evaluate({&x, &w}, {}, {2,5,5, 5,4,3, 0,0,0, 1,1,1, 1,1}); @@ -2024,8 +2024,8 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test10) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); input = 2.; weights = 1.; @@ -2046,9 +2046,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test11) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto expected = NDArrayFactory::create('c', {bS, oC, oD, oH, oW}); + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto expected = NDArrayFactory::create( {bS, oC, oD, oH, oW}); input = 2.; weights = 1.; @@ -2071,14 +2071,14 @@ TEST_F(ConvolutionTests1, conv3d_test12) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kD, kH, kW, iC, oC], 1-[oC, iC, kD, kH, kW], 2-[oC, kD, kH, kW, iC] - NDArray input('c', {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); - NDArray weights('c', {oC, iC, kD, kH, kW}, {-14.4, -13.2, -12.0, -10.8, -9.6, -8.4, -7.2, -6.0, -4.8, -3.6, -2.4, -1.2, -14.1, -12.9, -11.7, -10.5, -9.3, -8.1, + NDArray input( {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); + NDArray weights( {oC, iC, kD, kH, kW}, {-14.4, -13.2, -12.0, -10.8, -9.6, -8.4, -7.2, -6.0, -4.8, -3.6, -2.4, -1.2, -14.1, -12.9, -11.7, -10.5, -9.3, -8.1, -6.9, -5.7, -4.5, -3.3, -2.1, -0.9, -13.8, -12.6, -11.4, -10.2, -9.0, -7.8, -6.6, -5.4, -4.2, -3.0, -1.8, -0.6, -13.5, -12.3, -11.1, -9.9, -8.7, -7.5, -6.3, -5.1, -3.9, -2.7, -1.5, -0.3, -14.3, -13.1, -11.9, -10.7, -9.5, -8.3, -7.1, -5.9, -4.7, -3.5, -2.3, -1.1, -14.0, -12.8, -11.6, -10.4, -9.2, -8.0, -6.8, -5.6, -4.4, -3.2, -2.0, -0.8, -13.7, -12.5, -11.3, -10.1, -8.9, -7.7, -6.5, -5.3, -4.1, -2.9, -1.7, -0.5, -13.4, -12.2, -11.0, -9.8, -8.6, -7.4, -6.2, -5.0, -3.8, -2.6, -1.4, -0.2, -14.2, -13.0, -11.8, -10.6, -9.4, -8.2, -7.0, -5.8, -4.6, -3.4, -2.2, -1.0, -13.9, -12.7, -11.5, -10.3, -9.1, -7.9, -6.7, -5.5, -4.3, -3.1, -1.9, -0.7, -13.6, -12.4, -11.2, -10.0, -8.8, -7.6, -6.4, -5.2, -4.0, -2.8, -1.6, -0.4, -13.3, -12.1, -10.9, -9.7, -8.5, -7.3, -6.1, -4.9, -3.7, -2.5, -1.3, -0.1}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); - NDArray expOutput('c', {bS, oC, oD, oH, oW}, {-42520.597656, -42344.199219, -41991.402344, -41814.996094, -40932.992188, -40756.597656, -40403.800781, -40227.406250, + NDArray expOutput( {bS, oC, oD, oH, oW}, {-42520.597656, -42344.199219, -41991.402344, -41814.996094, -40932.992188, -40756.597656, -40403.800781, -40227.406250, -41953.601562, -41779.601562, -41431.597656, -41257.601562, -40387.601562, -40213.597656, -39865.601562, -39691.597656, -41391.105469, -41219.492188, -40876.300781, -40704.699219, -39846.707031, -39675.097656, -39331.898438, -39160.300781, -17119.001953, -16942.599609, -16589.798828, -16413.400391, -15531.399414, -15355.000000, -15002.199219, -14825.800781, -16897.597656, -16723.597656, -16375.599609, -16201.599609, -15331.599609, -15157.600586, @@ -2105,15 +2105,15 @@ TEST_F(ConvolutionTests1, conv3d_test13) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kD, kH, kW, iC, oC], 1-[oC, iC, kD, kH, kW], 2-[oC, kD, kH, kW, iC] - NDArray input('c', {bS, iD, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights('c', {oC, kD, kH, kW, iC}, {-7., -6.7, -6.4, -6.1, -5.8, -5.5, -5.2, -4.9, -4.6, -4.3, -4., -3.7, -3.4, -3.1, -2.8, -2.5, -2.2, -1.9, -1.6, -1.3, + NDArray input( {bS, iD, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights( {oC, kD, kH, kW, iC}, {-7., -6.7, -6.4, -6.1, -5.8, -5.5, -5.2, -4.9, -4.6, -4.3, -4., -3.7, -3.4, -3.1, -2.8, -2.5, -2.2, -1.9, -1.6, -1.3, -1., -0.7, -0.4, -0.1, 0.2, 0.5, 0.8, 1.1, 1.4, 1.7, 2., 2.3, 2.6, 2.9, 3.2, 3.5, 3.8, 4.1, 4.4, 4.7, 5., 5.3, 5.6, 5.9, 6.2, 6.5, 6.8, 7.1, -6.9, -6.6, -6.3, -6., -5.7, -5.4, -5.1, -4.8, -4.5, -4.2, -3.9, -3.6, -3.3, -3., -2.7, -2.4, -2.1, -1.8, -1.5, -1.2, -0.9, -0.6, -0.3, 0., 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3., 3.3, 3.6, 3.9, 4.2, 4.5, 4.8, 5.1, 5.4, 5.7, 6., 6.3, 6.6, 6.9, 7.2, -6.8, -6.5, -6.2, -5.9, -5.6, -5.3, -5., -4.7, -4.4, -4.1, -3.8, -3.5, -3.2, -2.9, -2.6, -2.3, -2., -1.7, -1.4, -1.1, -0.8, -0.5, -0.2, 0.1, 0.4, 0.7, 1., 1.3, 1.6, 1.9, 2.2, 2.5, 2.8, 3.1, 3.4, 3.7, 4., 4.3, 4.6, 4.9, 5.2, 5.5, 5.8, 6.1, 6.4, 6.7, 7., 7.3}, sd::DataType::FLOAT32); - NDArray bias('c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias( {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); - NDArray expOutput('c', {bS, oD, oH, oW, oC}, {3969.399658, 4168.399902, 4362.899414, 3812.600586, 4005.200195, 4193.299805, 1317.000000, 1413.199829, 1504.899902, + NDArray expOutput( {bS, oD, oH, oW, oC}, {3969.399658, 4168.399902, 4362.899414, 3812.600586, 4005.200195, 4193.299805, 1317.000000, 1413.199829, 1504.899902, 3498.999756, 3678.800049, 3854.100098, 3342.200195, 3515.599854, 3684.500244, 1139.400024, 1226.000000, 1308.099976, 685.799927, 772.400024, 854.500000, 645.800049, 729.200073, 808.099976, 80.799995, 123.200012, 161.100006, -2851.000732, -2597.199707, -2347.899414, -2855.799805, -2611.600098, -2371.900879, -2124.399414, -2003.199951, -1886.500244, -2865.399902, -2640.400146, -2419.899902, -2870.199951, -2654.800049, -2443.899902, -2045.200073, -1938.399902, @@ -2139,12 +2139,12 @@ TYPED_TEST(TypedConvolutionTests1, pointwise_conv2d_test1) { int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {1, 1, iC, oC}); - auto bias = NDArrayFactory::create('c', {oC}); + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); + auto weights = NDArrayFactory::create( {1, 1, iC, oC}); + auto bias = NDArrayFactory::create( {oC}); - auto expOutput = NDArrayFactory::create('c', {bS, iH, iW, oC},{ 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, + auto expOutput = NDArrayFactory::create( {bS, iH, iW, oC},{ 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f}); @@ -2168,13 +2168,13 @@ TEST_F(ConvolutionTests1, vol2col_test1) { int bS=2, iD=2,iH=3,iW=2, iC=3,oC=2, kD=2,kH=3,kW=2, sD=1,sH=1,sW=1, pD=0,pH=0,pW=0, dD=1,dH=1,dW=1; int oD=2,oH=3,oW=2; - NDArray volume('c', {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); - NDArray columns('c', {bS, iC, kD, kH, kW, oD, oH, oW}, sd::DataType::FLOAT32); + NDArray volume( {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); + NDArray columns( {bS, iC, kD, kH, kW, oD, oH, oW}, sd::DataType::FLOAT32); columns = -1.; volume.linspace(1); - NDArray columnsExpected('c', {bS, iC, kD, kH, kW, oD, oH, oW}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 2., 0., 4., 0., 6.,0., 8., 0., 10., 0., 12., 0., 3., 4., 5., 6., 0., 0., 9., 10., 11., 12., 0., 0., 4., 0., 6., 0., 0., 0., 10., 0., 12., 0., 0., 0., 5., 6., + NDArray columnsExpected( {bS, iC, kD, kH, kW, oD, oH, oW}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 2., 0., 4., 0., 6.,0., 8., 0., 10., 0., 12., 0., 3., 4., 5., 6., 0., 0., 9., 10., 11., 12., 0., 0., 4., 0., 6., 0., 0., 0., 10., 0., 12., 0., 0., 0., 5., 6., 0., 0., 0., 0., 11., 12., 0., 0., 0., 0., 6., 0., 0., 0., 0., 0., 12., 0., 0., 0., 0., 0., 7., 8., 9., 10., 11., 12., 0., 0., 0., 0., 0., 0., 8., 0., 10., 0., 12., 0., 0., 0., 0., 0., 0., 0., 9., 10., 11., 12., 0., 0., 0., 0., 0., 0., 0., 0., 10., 0., 12., 0., 0., 0., 0., 0., 0., 0., 0., 0., 11., 12., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 12., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 13., 14., 15., 16., 17.,18., 19., 20., 21., 22., 23., 24., 14., 0., 16., 0., 18., 0., 20., 0., 22., 0., 24., 0., 15., 16., 17., 18., 0., 0., 21., 22., 23., 24., 0., 0., 16., 0., 18., 0., 0., 0., 22., 0., 24., 0., 0., 0., 17., 18., 0., 0., 0., 0., 23., 24., 0., 0., 0., 0., 18., 0., 0., 0., 0., 0., 24., 0., 0., 0., 0., 0., 19., 20., 21., 22., 23., 24., 0., 0., 0., 0., 0., 0., 20., 0., 22., 0., 24., 0., 0., 0., 0., 0., 0., 0., 21., 22., 23., @@ -2202,14 +2202,14 @@ TEST_F(ConvolutionTests1, vol2col_test2) { int bS=2, iD=2,iH=3,iW=2, iC=3,oC=2, kD=2,kH=3,kW=2, sD=1,sH=1,sW=1, pD=0,pH=0,pW=0, dD=1,dH=1,dW=1; int oD=2,oH=3,oW=2; - auto volume = NDArrayFactory::create('c', {iD, bS, iH, iC, iW}); + auto volume = NDArrayFactory::create( {iD, bS, iH, iC, iW}); volume.permutei({1, 3, 0, 2, 4}); volume.linspace(1); - auto columns = NDArrayFactory::create('c', {kD, iC, kH, oW, kW, bS, oD, oH}); + auto columns = NDArrayFactory::create( {kD, iC, kH, oW, kW, bS, oD, oH}); columns.permutei({5, 1, 0, 2, 4, 6, 7, 3}); columns = -1.; - auto columnsExpected = NDArrayFactory::create('c', {bS, iC, kD, kH, kW, oD, oH, oW}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, + auto columnsExpected = NDArrayFactory::create( {bS, iC, kD, kH, kW, oD, oH, oW}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 2.f, 0.f, 4.f, 0.f, 6.f, 0.f, 8.f, 0.f, 10.f, 0.f, 12.f, 0.f, 3.f, 4.f, 5.f, 6.f, 0.f, 0.f, 9.f, 10.f, 11.f, 12.f, 0.f, 0.f, 4.f, 0.f, 6.f, 0.f, 0.f, 0.f, 10.f, 0.f, 12.f, 0.f, 0.f, 0.f, 5.f, 6.f, 0.f, 0.f, 0.f, 0.f, 11.f, 12.f, 0.f, 0.f, 0.f, 0.f, 6.f, 0.f, 0.f, 0.f, 0.f, 0.f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 8.f, 0.f, 10.f, 0.f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 9.f, 10.f, 11.f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 10.f, 0.f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 11.f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 14.f, 0.f, 16.f, 0.f, 18.f, 0.f, 20.f, 0.f, 22.f, 0.f, 24.f, 0.f, 15.f, 16.f, 17.f, 18.f, 0.f, 0.f, 21.f, 22.f, 23.f, 24.f, 0.f, 0.f, 16.f, 0.f, 18.f, 0.f, 0.f, 0.f, 22.f, 0.f, 24.f, 0.f, 0.f, 0.f, 17.f, 18.f, 0.f, 0.f, 0.f, 0.f, @@ -2238,13 +2238,13 @@ TEST_F(ConvolutionTests1, col2im_test1) { int bS=2, iH=2,iW=2, iC=2, kH=2,kW=2, sD=1,sH=1,sW=1, pD=0,pH=0,pW=0, dD=1,dH=1,dW=1; int oH=2,oW=2; - auto image = NDArrayFactory::create('c', {bS, iC, iH, iW}); + auto image = NDArrayFactory::create( {bS, iC, iH, iW}); image = -2.; - auto columns = NDArrayFactory::create('c', {bS, iC, kH, kW, oH, oW}); + auto columns = NDArrayFactory::create( {bS, iC, kH, kW, oH, oW}); columns.linspace(1); - auto imageExpected = NDArrayFactory::create('c', {bS, iC, iH, iW}, {1.f, 7.f, 12.f, 34.f, 17.f, 39.f, 44.f, 98.f, 33.f, 71.f, 76.f, 162.f, 49.f, 103.f, 108.f, 226.f}); + auto imageExpected = NDArrayFactory::create( {bS, iC, iH, iW}, {1.f, 7.f, 12.f, 34.f, 17.f, 39.f, 44.f, 98.f, 33.f, 71.f, 76.f, 162.f, 49.f, 103.f, 108.f, 226.f}); sd::ops::col2im op; @@ -2262,10 +2262,10 @@ TEST_F(ConvolutionTests1, upsampling2d_test1) { const int factorH=2, factorW=3; const int isNCHW = 0; // data format, default is NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); input.linspace(1); - auto expOutput = NDArrayFactory::create('c', {bS, iH*factorH, iW*factorW, iC}, {1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, + auto expOutput = NDArrayFactory::create( {bS, iH*factorH, iW*factorW, iC}, {1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, @@ -2289,10 +2289,10 @@ TEST_F(ConvolutionTests1, upsampling2d_test2) { const int factorH=2, factorW=3; const int isNCHW = 1; // data format, default is NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); + auto input = NDArrayFactory::create( {bS, iC, iH, iW}); input.linspace(1); - auto expOutput = NDArrayFactory::create('c', {bS, iC, iH*factorH, iW*factorW}, {1.f, 1.f, 1.f, 2.f, 2.f, 2.f, 1.f, 1.f, 1.f, 2.f, 2.f, 2.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, + auto expOutput = NDArrayFactory::create( {bS, iC, iH*factorH, iW*factorW}, {1.f, 1.f, 1.f, 2.f, 2.f, 2.f, 1.f, 1.f, 1.f, 2.f, 2.f, 2.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 5.f, 5.f, 5.f, 6.f, 6.f, 6.f, 5.f, 5.f, 5.f, 6.f, 6.f, 6.f, 7.f, 7.f, 7.f, 8.f, 8.f, 8.f, 7.f, 7.f, 7.f, 8.f, 8.f, 8.f, 9.f, 9.f, 9.f, 10.f, 10.f, 10.f, 9.f, 9.f, 9.f, 10.f, 10.f, 10.f, 11.f, 11.f, 11.f, 12.f, 12.f, 12.f, 11.f, 11.f, 11.f, 12.f, 12.f, 12.f, 13.f, 13.f, 13.f, 14.f, 14.f, 14.f, 13.f, 13.f, 13.f, 14.f, 14.f, 14.f, 15.f, 15.f, 15.f, 16.f, 16.f, 16.f, 15.f, 15.f, 15.f, 16.f, 16.f, 16.f, 17.f, 17.f, 17.f, 18.f, 18.f, 18.f, 17.f, 17.f, 17.f, 18.f, 18.f, 18.f, 19.f, 19.f, 19.f, 20.f, 20.f, 20.f, 19.f, 19.f, 19.f, 20.f, 20.f, 20.f, 21.f, 21.f, 21.f, 22.f, 22.f, 22.f, 21.f, 21.f, 21.f, 22.f, 22.f, 22.f, 23.f, 23.f, 23.f, 24.f, 24.f, 24.f, 23.f, 23.f, 23.f, 24.f, 24.f, 24.f, 25.f, 25.f, 25.f, 26.f, 26.f, 26.f, 25.f, 25.f, 25.f, 26.f, 26.f, 26.f, 27.f, 27.f, 27.f, 28.f, 28.f, 28.f, 27.f, 27.f, 27.f, 28.f, 28.f, 28.f, @@ -2317,10 +2317,10 @@ TEST_F(ConvolutionTests1, upsampling3d_test1) { const int factorD=2,factorH=3,factorW=2; const int isNCDHW = 0; // data format, default is NCHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); + auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); input.linspace(1); - auto expOutput = NDArrayFactory::create('c', {bS, iD*factorD, iH*factorH, iW*factorW, iC}, {1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, + auto expOutput = NDArrayFactory::create( {bS, iD*factorD, iH*factorH, iW*factorW, iC}, {1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, @@ -2353,10 +2353,10 @@ TEST_F(ConvolutionTests1, upsampling3d_test2) { const int factorD=2,factorH=3,factorW=2; const int isNCDHW = 1; // data format, default is NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); input.linspace(1); - auto expOutput = NDArrayFactory::create('c', {bS, iC, iD*factorD, iH*factorH, iW*factorW}, { 1.f, 1.f, 2.f, 2.f, 1.f, 1.f, 2.f, 2.f, 1.f, 1.f, 2.f, 2.f, 3.f, 3.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 1.f, 1.f, 2.f, 2.f, 1.f, 1.f, 2.f, 2.f, 1.f, 1.f, 2.f, 2.f, 3.f, 3.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 5.f, 5.f, 6.f, 6.f, 5.f, 5.f, 6.f, 6.f, 5.f, 5.f, 6.f, 6.f, 7.f, 7.f, 8.f, 8.f, 7.f, 7.f, 8.f, 8.f, 7.f, 7.f, 8.f, 8.f, + auto expOutput = NDArrayFactory::create( {bS, iC, iD*factorD, iH*factorH, iW*factorW}, { 1.f, 1.f, 2.f, 2.f, 1.f, 1.f, 2.f, 2.f, 1.f, 1.f, 2.f, 2.f, 3.f, 3.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 1.f, 1.f, 2.f, 2.f, 1.f, 1.f, 2.f, 2.f, 1.f, 1.f, 2.f, 2.f, 3.f, 3.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 5.f, 5.f, 6.f, 6.f, 5.f, 5.f, 6.f, 6.f, 5.f, 5.f, 6.f, 6.f, 7.f, 7.f, 8.f, 8.f, 7.f, 7.f, 8.f, 8.f, 7.f, 7.f, 8.f, 8.f, 5.f, 5.f, 6.f, 6.f, 5.f, 5.f, 6.f, 6.f, 5.f, 5.f, 6.f, 6.f, 7.f, 7.f, 8.f, 8.f, 7.f, 7.f, 8.f, 8.f, 7.f, 7.f, 8.f, 8.f, 9.f, 9.f, 10.f, 10.f, 9.f, 9.f, 10.f, 10.f, 9.f, 9.f, 10.f, 10.f, 11.f, 11.f, 12.f, 12.f, 11.f, 11.f, 12.f, 12.f, 11.f, 11.f, 12.f, 12.f, 9.f, 9.f, 10.f, 10.f, 9.f, 9.f, 10.f, 10.f, 9.f, 9.f, 10.f, 10.f, 11.f, 11.f, 12.f, 12.f, 11.f, 11.f, 12.f, 12.f, 11.f, 11.f, 12.f, 12.f, 13.f, 13.f, 14.f, 14.f, 13.f, 13.f, 14.f, 14.f, 13.f, 13.f, 14.f, 14.f, 15.f, 15.f, 16.f, 16.f, 15.f, 15.f, 16.f, 16.f, 15.f, 15.f, 16.f, 16.f, 13.f, 13.f, 14.f, 14.f, 13.f, 13.f, 14.f, 14.f, 13.f, 13.f, 14.f, 14.f, 15.f, 15.f, 16.f, 16.f, 15.f, 15.f, 16.f, 16.f, 15.f, 15.f, 16.f, 16.f, 17.f, 17.f, 18.f, 18.f, 17.f, 17.f, 18.f, 18.f, 17.f, 17.f, 18.f, 18.f, 19.f, 19.f, 20.f, 20.f, 19.f, 19.f, 20.f, 20.f, 19.f, 19.f, 20.f, 20.f, 17.f, 17.f, 18.f, 18.f, 17.f, 17.f, 18.f, 18.f, 17.f, 17.f, 18.f, 18.f, 19.f, 19.f, 20.f, 20.f, 19.f, 19.f, 20.f, 20.f, 19.f, 19.f, 20.f, 20.f, 21.f, 21.f, 22.f, 22.f, 21.f, 21.f, 22.f, 22.f, 21.f, 21.f, 22.f, 22.f, 23.f, 23.f, 24.f, 24.f, 23.f, 23.f, 24.f, 24.f, 23.f, 23.f, 24.f, 24.f, 21.f, 21.f, 22.f, 22.f, 21.f, 21.f, 22.f, 22.f, 21.f, 21.f, 22.f, 22.f, 23.f, 23.f, 24.f, 24.f, 23.f, 23.f, 24.f, 24.f, 23.f, 23.f, 24.f, 24.f, @@ -2388,11 +2388,11 @@ TEST_F(ConvolutionTests1, upsampling3d_bp_test1) { const int factorD=2, factorH=2, factorW=2; const int isNCDHW = 1; // data format, default is NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, iD*factorD, iH*factorH, iW*factorW}); + auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); + auto gradO = NDArrayFactory::create( {bS, iC, iD*factorD, iH*factorH, iW*factorW}); gradO = 1.; - auto expGradI = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); + auto expGradI = NDArrayFactory::create( {bS, iC, iD, iH, iW}); expGradI = 8.; sd::ops::upsampling3d_bp op; @@ -2406,10 +2406,10 @@ TEST_F(ConvolutionTests1, upsampling3d_bp_test1) { TYPED_TEST(TypedConvolutionTests1, conv2D_input_BP_test1) { - auto inputShape = NDArrayFactory::create('c', {4}, {2, 1, 4, 4}); - auto weights = NDArrayFactory::create('c', {2, 1, 3, 3}); - auto epsilonNext = NDArrayFactory::create('c', {2, 2, 4, 4}); - auto shapeArr = NDArrayFactory::create('c', {2, 1, 4, 4}); + auto inputShape = NDArrayFactory::create( {4}, {2, 1, 4, 4}); + auto weights = NDArrayFactory::create( {2, 1, 3, 3}); + auto epsilonNext = NDArrayFactory::create( {2, 2, 4, 4}); + auto shapeArr = NDArrayFactory::create( {2, 1, 4, 4}); TypeParam _expEpsB[] = {952.0, 1540.0, 1636.0, 1180.0, 1791.0, 2886.0, 3057.0, 2193.0, 2223.0, 3570.0, 3741.0, 2673.0, 1900.0, 3028.0, 3160.0, 2240.0, 2872.0, 4612.0, 4708.0, 3356.0, 5247.0, 8358.0, 8529.0, 6033.0, 5679.0, 9042.0, 9213.0, 6513.0, 4588.0, 7252.0, 7384.0, 5184.0}; @@ -2439,8 +2439,8 @@ TEST_F(ConvolutionTests1, upsampling3d_bp_test3) { const int factorD=2, factorH=2, factorW=2; const int isNCDHW = 1; // data format, default is NCHW - NDArray input('c', {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); - NDArray gradO('c', {bS, iC, iD*factorD, iH*factorH, iW*factorW}, {0.6793504, 0.35508695, 0.84278935, 0.20031333, 0.7014987, 0.31069338, + NDArray input( {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); + NDArray gradO( {bS, iC, iD*factorD, iH*factorH, iW*factorW}, {0.6793504, 0.35508695, 0.84278935, 0.20031333, 0.7014987, 0.31069338, 0.44793984, 0.93800974, 0.32667395, 0.15187258, 0.38331753, 0.78212297, 0.1988072, 0.7985636, 0.1632634, 0.14696825, 0.26089668, 0.13505761, 0.7562093, 0.27545404, 0.36908787, 0.09282647, 0.83649176, 0.26841334, 0.09506222, 0.31279507, 0.13591796, 0.5175439, 0.32870287, 0.061735712, 0.39643127, 0.248016, 0.5489592, 0.115046196, 0.8143622, 0.7215636, 0.40449402, 0.29908907, 0.4038839, @@ -2478,7 +2478,7 @@ TEST_F(ConvolutionTests1, upsampling3d_bp_test3) { 0.71167386, 0.5134439, 0.57761437, 0.58598644, 0.39387667, 0.6966405, 0.46841687, 0.85788506, 0.9957087, 0.051309288, 0.24846801, 0.55938333, 0.10230542, 0.9370694, 0.57527155, 0.54656035, 0.28896323, 0.51303476, 0.8865, 0.38641605, 0.9836358}, sd::DataType::FLOAT32); - NDArray expGradI('c', {bS, iC, iD, iH, iW}, {3.510932, 3.4310975, 3.538762, 4.148549, 2.8380678, 2.5431657, 3.3928843, 3.228055, 3.1467278, + NDArray expGradI( {bS, iC, iD, iH, iW}, {3.510932, 3.4310975, 3.538762, 4.148549, 2.8380678, 2.5431657, 3.3928843, 3.228055, 3.1467278, 3.2603023, 5.611751, 4.334653, 3.3697734, 4.603307, 4.4357986, 4.32991, 3.0532732, 3.1370173, 4.181534, 2.9965065, 2.8553872, 5.2719016, 4.5671935, 3.7027276, 3.3517184, 5.2544537, 3.5107024, 4.1496124, 3.9333878, 3.1798909, 3.1446428, 3.0932689, 3.9730802, 3.0466917, 4.9675374, 4.769673, 3.766952, 3.6375027, 3.6492167, 4.9440994, 3.8379507, 3.467589, 4.719474, 3.1295977, 4.5177174, 4.2760015, 2.8443856, @@ -2503,9 +2503,9 @@ TEST_F(ConvolutionTests1, deconv2d_test1) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, oC, iC}); - auto exp = NDArrayFactory::create('c', {bS, oH, oW, oC}, { 2.75f, 7.75f, 12.75f, 17.75f, 22.75f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 27.75f, 32.75f, 37.75f, 42.75f, 47.75f, + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kH, kW, oC, iC}); + auto exp = NDArrayFactory::create( {bS, oH, oW, oC}, { 2.75f, 7.75f, 12.75f, 17.75f, 22.75f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 27.75f, 32.75f, 37.75f, 42.75f, 47.75f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 105.5f, 115.5f, 125.5f, 135.5f, 145.5f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 105.5f, 115.5f, 125.5f, 135.5f, 145.5f, 52.75f, 57.75f, 62.75f, 67.75f, 72.75f, 130.5f, 140.5f, 150.5f, 160.5f, 170.5f, 130.5f, 140.5f, 150.5f, 160.5f, 170.5f, 77.75f, 82.75f, 87.75f, 92.75f, 97.75f, @@ -2534,9 +2534,9 @@ TEST_F(ConvolutionTests1, deconv2d_test2) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, oH, oW, oC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, oC}); - auto exp = NDArrayFactory::create('c', {bS, iH, iW, iC}, {2.75f, 7.75f, 12.75f, 17.75f, 22.75f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, + auto input = NDArrayFactory::create( {bS, oH, oW, oC}); + auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); + auto exp = NDArrayFactory::create( {bS, iH, iW, iC}, {2.75f, 7.75f, 12.75f, 17.75f, 22.75f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, @@ -2564,11 +2564,11 @@ TEST_F(ConvolutionTests1, deconv2d_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, oC, iC}); - auto bias = NDArrayFactory::create('c', {oC}); + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); + auto weights = NDArrayFactory::create( {kH, kW, oC, iC}); + auto bias = NDArrayFactory::create( {oC}); - auto exp = NDArrayFactory::create('c', {bS, oH, oW, oC}, {-2.9f, -6.8f, -10.7f, -2.6f, -6.1f, -9.6f, -16.9f, -23.9f, -30.9f, -13.1f, -16.6f, -20.1f, -11.6f, -14.7f, -17.8f, -2.0f, -4.7f, -7.4f, -1.7f, -4.0f, -6.3f, -11.5f, -16.1f, + auto exp = NDArrayFactory::create( {bS, oH, oW, oC}, {-2.9f, -6.8f, -10.7f, -2.6f, -6.1f, -9.6f, -16.9f, -23.9f, -30.9f, -13.1f, -16.6f, -20.1f, -11.6f, -14.7f, -17.8f, -2.0f, -4.7f, -7.4f, -1.7f, -4.0f, -6.3f, -11.5f, -16.1f, -20.7f, -8.6f, -10.9f, -13.2f, -7.1f, -9.0f, -10.9f, -27.4f, -32.8f, -38.2f, -24.4f, -29.0f, -33.6f, -65.0f, -74.2f, -83.4f, -38.2f, -42.8f, -47.4f, -32.8f, -36.6f, -40.4f, -18.2f, -20.9f, -23.6f, -15.5f, -17.8f, -20.1f, -39.1f, -43.7f, -48.3f, -22.4f, -24.7f, -27.0f, -18.5f, -20.4f, -22.3f, -10.1f, -11.6f, -13.1f, -7.4f, -8.5f, -9.6f, -19.3f, -21.5f, -23.7f, -10.7f, -11.8f, -12.9f, -6.8f, -7.5f, -8.2f}); @@ -2591,9 +2591,9 @@ TEST_F(ConvolutionTests1, deconv2d_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests1, deconv2d_test4) { - NDArray input('c', {2, 3, 4, 4}, sd::DataType::FLOAT32); - NDArray weights('c', {3, 3, 5, 5}, sd::DataType::FLOAT32); - NDArray exp('c', {2,3,8,8}, {6276.0,12831.0,19668.0,26790.0,27012.0,20703.0,14100.0,7200.0,13719.0,28023.0,42918.0,58410.0,58902.0,45105.0,30693.0,15660.0,22389.0,45696.0,69930.0,95100.0,95910.0,73386.0,49899.0,25440.0,32346.0,65970.0, + NDArray input( {2, 3, 4, 4}, sd::DataType::FLOAT32); + NDArray weights( {3, 3, 5, 5}, sd::DataType::FLOAT32); + NDArray exp( {2,3,8,8}, {6276.0,12831.0,19668.0,26790.0,27012.0,20703.0,14100.0,7200.0,13719.0,28023.0,42918.0,58410.0,58902.0,45105.0,30693.0,15660.0,22389.0,45696.0,69930.0,95100.0,95910.0,73386.0,49899.0,25440.0,32346.0,65970.0, 100884.0,137100.0,138276.0,105726.0,71838.0,36600.0,33726.0,68790.0,105204.0,142980.0,144156.0,110226.0,74898.0,38160.0,27555.0,56154.0,85806.0,116520.0,117474.0,89748.0,60933.0,31020.0,19917.0,40557.0,61926.0, 84030.0,84714.0,64671.0,43875.0,22320.0,10752.0,21879.0,33384.0,45270.0,45636.0,34815.0,23604.0,12000.0,7551.0,15456.0,23718.0,32340.0,32562.0,24978.0,17025.0,8700.0,16569.0,33873.0,51918.0,70710.0,71202.0, 54555.0,37143.0,18960.0,27114.0,55371.0,84780.0,115350.0,116160.0,88911.0,60474.0,30840.0,39246.0,80070.0,122484.0,166500.0,167676.0,128226.0,87138.0,44400.0,40626.0,82890.0,126804.0,172380.0,173556.0,132726.0, @@ -2629,9 +2629,9 @@ TEST_F(ConvolutionTests1, deconv2d_test5) { double _expB[] = {6276.0,12831.0,19668.0,26790.0,27012.0,20703.0,14100.0,7200.0,13719.0,28023.0,42918.0,58410.0,58902.0,45105.0,30693.0,15660.0,22389.0,45696.0,69930.0,95100.0,95910.0,73386.0,49899.0,25440.0,32346.0,65970.0,100884.0,137100.0,138276.0,105726.0,71838.0,36600.0,33726.0,68790.0,105204.0,142980.0,144156.0,110226.0,74898.0,38160.0,27555.0,56154.0,85806.0,116520.0,117474.0,89748.0,60933.0,31020.0,19917.0,40557.0,61926.0,84030.0,84714.0,64671.0,43875.0,22320.0,10752.0,21879.0,33384.0,45270.0,45636.0,34815.0,23604.0,12000.0,7551.0,15456.0,23718.0,32340.0,32562.0,24978.0,17025.0,8700.0,16569.0,33873.0,51918.0,70710.0,71202.0,54555.0,37143.0,18960.0,27114.0,55371.0,84780.0,115350.0,116160.0,88911.0,60474.0,30840.0,39246.0,80070.0,122484.0,166500.0,167676.0,128226.0,87138.0,44400.0,40626.0,82890.0,126804.0,172380.0,173556.0,132726.0,90198.0,45960.0,33180.0,67629.0,103356.0,140370.0,141324.0,107973.0,73308.0,37320.0,23967.0,48807.0,74526.0,101130.0,101814.0,77721.0,52725.0,26820.0,12927.0,26304.0,40134.0,54420.0,54786.0,41790.0,28329.0,14400.0,8826.0,18081.0,27768.0,37890.0,38112.0,29253.0,19950.0,10200.0,19419.0,39723.0,60918.0,83010.0,83502.0,64005.0,43593.0,22260.0,31839.0,65046.0,99630.0,135600.0,136410.0,104436.0,71049.0,36240.0,46146.0,94170.0,144084.0,195900.0,197076.0,150726.0,102438.0,52200.0,47526.0,96990.0,148404.0,201780.0,202956.0,155226.0,105498.0,53760.0,38805.0,79104.0,120906.0,164220.0,165174.0,126198.0,85683.0,43620.0,28017.0,57057.0,87126.0,118230.0,118914.0,90771.0,61575.0,31320.0,15102.0,30729.0,46884.0,63570.0,63936.0,48765.0,33054.0,16800.0,17220.0,34863.0,52932.0,71430.0,72228.0,54831.0,36996.0,18720.0,36327.0,73527.0,111606.0,150570.0,152214.0,115521.0,77925.0,39420.0,57381.0,116112.0,176202.0,237660.0,240198.0,182250.0,122907.0,62160.0,80442.0,162738.0,246900.0,332940.0,336420.0,255198.0,172062.0,87000.0,84702.0,171318.0,259860.0,350340.0,353820.0,268338.0,180882.0,91440.0,66867.0,135210.0,205038.0,276360.0,279042.0,211572.0,142581.0,72060.0,46845.0,94701.0,143574.0,193470.0,195306.0,148047.0,99747.0,50400.0,24576.0,49671.0,75288.0,101430.0,102372.0,77583.0,52260.0,26400.0,22095.0,44688.0,67782.0,91380.0,92178.0,69906.0,47121.0,23820.0,46377.0,93777.0,142206.0,191670.0,193314.0,146571.0,98775.0,49920.0,72906.0,147387.0,223452.0,301110.0,303648.0,230175.0,155082.0,78360.0,101742.0,205638.0,311700.0,419940.0,423420.0,320898.0,216162.0,109200.0,106002.0,214218.0,324660.0,437340.0,440820.0,334038.0,224982.0,113640.0,83292.0,168285.0,254988.0,343410.0,346092.0,262197.0,176556.0,89160.0,58095.0,117351.0,177774.0,239370.0,241206.0,182697.0,122997.0,62100.0,30351.0,61296.0,92838.0,124980.0,125922.0,95358.0,64185.0,32400.0,26970.0,54513.0,82632.0,111330.0,112128.0,84981.0,57246.0,28920.0,56427.0,114027.0,172806.0,232770.0,234414.0,177621.0,119625.0,60420.0,88431.0,178662.0,270702.0,364560.0,367098.0,278100.0,187257.0,94560.0,123042.0,248538.0,376500.0,506940.0,510420.0,386598.0,260262.0,131400.0,127302.0,257118.0,389460.0,524340.0,527820.0,399738.0,269082.0,135840.0,99717.0,201360.0,304938.0,410460.0,413142.0,312822.0,210531.0,106260.0,69345.0,140001.0,211974.0,285270.0,287106.0,217347.0,146247.0,73800.0,36126.0,72921.0,110388.0,148530.0,149472.0,113133.0,76110.0,38400.0,}; NDArray exp(_expB, _expS); - auto input = NDArrayFactory::create('c', {2, 3, 4, 4}); - auto weights = NDArrayFactory::create('c', {3, 3, 5, 5}); - auto z = NDArrayFactory::create('c', {2, 3, 8, 8}); + auto input = NDArrayFactory::create( {2, 3, 4, 4}); + auto weights = NDArrayFactory::create( {3, 3, 5, 5}); + auto z = NDArrayFactory::create( {2, 3, 8, 8}); input.linspace(1); weights.linspace(1); @@ -2653,8 +2653,8 @@ TYPED_TEST(TypedConvolutionTests1, deconv2d_test6) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create('c', {kH, kW, oC, iC}, {1.f, 76.f, 151.f, 26.f, 101.f, 176.f, 51.f, 126.f, 201.f, 2.f, 77.f, 152.f, 27.f, 102.f, 177.f, 52.f, 127.f, 202.f, 3.f, 78.f, 153.f, 28.f, 103.f, 178.f, 53.f, 128.f, 203.f, + auto input = NDArrayFactory::create( {bS, iC, iH, iW}); + auto weights = NDArrayFactory::create( {kH, kW, oC, iC}, {1.f, 76.f, 151.f, 26.f, 101.f, 176.f, 51.f, 126.f, 201.f, 2.f, 77.f, 152.f, 27.f, 102.f, 177.f, 52.f, 127.f, 202.f, 3.f, 78.f, 153.f, 28.f, 103.f, 178.f, 53.f, 128.f, 203.f, 4.f, 79.f, 154.f, 29.f, 104.f, 179.f, 54.f, 129.f, 204.f, 5.f, 80.f, 155.f, 30.f, 105.f, 180.f, 55.f, 130.f, 205.f, 6.f, 81.f, 156.f, 31.f, 106.f, 181.f, 56.f, 131.f, 206.f, 7.f, 82.f, 157.f, 32.f, 107.f, 182.f, 57.f, 132.f, 207.f, 8.f, 83.f, 158.f, 33.f, 108.f, 183.f, 58.f, 133.f, 208.f, 9.f, 84.f, 159.f, 34.f, 109.f, 184.f, 59.f, 134.f, 209.f, 10.f, 85.f, 160.f, 35.f, 110.f, 185.f, 60.f, 135.f, 210.f, 11.f, 86.f, 161.f, 36.f, 111.f, 186.f, 61.f, 136.f, 211.f, 12.f, 87.f, 162.f, 37.f, 112.f, 187.f, 62.f, 137.f, 212.f, @@ -2664,7 +2664,7 @@ TYPED_TEST(TypedConvolutionTests1, deconv2d_test6) { 22.f, 97.f, 172.f, 47.f, 122.f, 197.f, 72.f, 147.f, 222.f, 23.f, 98.f, 173.f, 48.f, 123.f, 198.f, 73.f, 148.f, 223.f, 24.f, 99.f, 174.f, 49.f, 124.f, 199.f, 74.f, 149.f, 224.f, 25.f, 100.f, 175.f,50.f, 125.f, 200.f,75.f, 150.f, 225.f}); - auto exp = NDArrayFactory::create('c', {bS, oC, oH, oW}, {6276.0f, 12831.0f, 19668.0f, 26790.0f, 27012.0f, 20703.0f, 14100.0f, 7200.0f, 13719.0f, 28023.0f, 42918.0f, 58410.0f, 58902.0f, 45105.0f, 30693.0f, 15660.0f, 22389.0f, 45696.0f, 69930.0f, 95100.0f, 95910.0f, 73386.0f, 49899.0f, 25440.0f, 32346.0f, 65970.0f, 100884.0f, 137100.0f, 138276.0f, 105726.0f, 71838.0f, 36600.0f, 33726.0f, 68790.0f, 105204.0f, 142980.0f, 144156.0f, 110226.0f, 74898.0f, 38160.0f, 27555.0f, 56154.0f, 85806.0f, 116520.0f, 117474.0f, 89748.0f, 60933.0f, 31020.0f, 19917.0f, 40557.0f, 61926.0f, 84030.0f, 84714.0f, 64671.0f, 43875.0f, 22320.0f, 10752.0f, 21879.0f, 33384.0f, 45270.0f, 45636.0f, 34815.0f, 23604.0f, 12000.0f, 7551.0f, 15456.0f, 23718.0f, 32340.0f, 32562.0f, 24978.0f, 17025.0f, 8700.0f, 16569.0f, 33873.0f, 51918.0f, 70710.0f, 71202.0f, 54555.0f, 37143.0f, 18960.0f, 27114.0f, 55371.0f, 84780.0f, 115350.0f, 116160.0f, 88911.0f, 60474.0f, 30840.0f, 39246.0f, 80070.0f, 122484.0f, 166500.0f, 167676.0f, 128226.0f, 87138.0f, 44400.0f, 40626.0f, 82890.0f, 126804.0f, 172380.0f, 173556.0f, 132726.0f, 90198.0f, 45960.0f, 33180.0f, 67629.0f, 103356.0f, 140370.0f, 141324.0f, 107973.0f, 73308.0f, 37320.0f, 23967.0f, 48807.0f, 74526.0f, 101130.0f, 101814.0f, 77721.0f, 52725.0f, 26820.0f, 12927.0f, 26304.0f, 40134.0f, 54420.0f, 54786.0f, 41790.0f, 28329.0f, 14400.0f, 8826.0f, 18081.0f, 27768.0f, 37890.0f, 38112.0f, 29253.0f, 19950.0f, 10200.0f, 19419.0f, 39723.0f, 60918.0f, 83010.0f, 83502.0f, 64005.0f, 43593.0f, 22260.0f, 31839.0f, 65046.0f, 99630.0f, 135600.0f, 136410.0f, 104436.0f, 71049.0f, 36240.0f, 46146.0f, 94170.0f, 144084.0f, 195900.0f, 197076.0f, 150726.0f, 102438.0f, 52200.0f, 47526.0f, 96990.0f, 148404.0f, 201780.0f, 202956.0f, 155226.0f, 105498.0f, 53760.0f, 38805.0f, 79104.0f, 120906.0f, 164220.0f, 165174.0f, 126198.0f, 85683.0f, 43620.0f, 28017.0f, 57057.0f, 87126.0f, 118230.0f, 118914.0f, 90771.0f, 61575.0f, 31320.0f, 15102.0f, 30729.0f, 46884.0f, 63570.0f, 63936.0f, 48765.0f, 33054.0f, 16800.0f, 17220.0f, 34863.0f, 52932.0f, 71430.0f, 72228.0f, 54831.0f, 36996.0f, 18720.0f, 36327.0f, 73527.0f, 111606.0f, 150570.0f, 152214.0f, 115521.0f, 77925.0f, 39420.0f, 57381.0f, 116112.0f, 176202.0f, 237660.0f, 240198.0f, 182250.0f, 122907.0f, 62160.0f, 80442.0f, 162738.0f, 246900.0f, 332940.0f, 336420.0f, 255198.0f, 172062.0f, 87000.0f, 84702.0f, 171318.0f, 259860.0f, 350340.0f, 353820.0f, 268338.0f, 180882.0f, 91440.0f, 66867.0f, 135210.0f, 205038.0f, 276360.0f, 279042.0f, 211572.0f, 142581.0f, 72060.0f, 46845.0f, 94701.0f, 143574.0f, 193470.0f, 195306.0f, 148047.0f, 99747.0f, 50400.0f, 24576.0f, 49671.0f, 75288.0f, 101430.0f, 102372.0f, 77583.0f, 52260.0f, 26400.0f, 22095.0f, 44688.0f, 67782.0f, 91380.0f, 92178.0f, 69906.0f, 47121.0f, 23820.0f, 46377.0f, 93777.0f, 142206.0f, 191670.0f, 193314.0f, 146571.0f, 98775.0f, 49920.0f, 72906.0f, 147387.0f, 223452.0f, 301110.0f, 303648.0f, 230175.0f, 155082.0f, 78360.0f, 101742.0f, 205638.0f, 311700.0f, 419940.0f, 423420.0f, 320898.0f, 216162.0f, 109200.0f, 106002.0f, 214218.0f, 324660.0f, 437340.0f, 440820.0f, 334038.0f, 224982.0f, 113640.0f, 83292.0f, 168285.0f, 254988.0f, 343410.0f, 346092.0f, 262197.0f, 176556.0f, 89160.0f, 58095.0f, 117351.0f, 177774.0f, 239370.0f, 241206.0f, 182697.0f, 122997.0f, 62100.0f, 30351.0f, 61296.0f, 92838.0f, 124980.0f, 125922.0f, 95358.0f, 64185.0f, 32400.0f, 26970.0f, 54513.0f, 82632.0f, 111330.0f, 112128.0f, 84981.0f, 57246.0f, 28920.0f, 56427.0f, 114027.0f, 172806.0f, 232770.0f, 234414.0f, 177621.0f, 119625.0f, 60420.0f, 88431.0f, 178662.0f, 270702.0f, 364560.0f, 367098.0f, 278100.0f, 187257.0f, 94560.0f, 123042.0f, 248538.0f, 376500.0f, 506940.0f, 510420.0f, 386598.0f, 260262.0f, 131400.0f, 127302.0f, 257118.0f, 389460.0f, 524340.0f, 527820.0f, 399738.0f, 269082.0f, 135840.0f, 99717.0f, 201360.0f, 304938.0f, 410460.0f, 413142.0f, 312822.0f, 210531.0f, 106260.0f, 69345.0f, 140001.0f, 211974.0f, 285270.0f, 287106.0f, 217347.0f, 146247.0f, 73800.0f, 36126.0f, 72921.0f, 110388.0f, 148530.0f, 149472.0f, 113133.0f, 76110.0f, 38400.0f}); + auto exp = NDArrayFactory::create( {bS, oC, oH, oW}, {6276.0f, 12831.0f, 19668.0f, 26790.0f, 27012.0f, 20703.0f, 14100.0f, 7200.0f, 13719.0f, 28023.0f, 42918.0f, 58410.0f, 58902.0f, 45105.0f, 30693.0f, 15660.0f, 22389.0f, 45696.0f, 69930.0f, 95100.0f, 95910.0f, 73386.0f, 49899.0f, 25440.0f, 32346.0f, 65970.0f, 100884.0f, 137100.0f, 138276.0f, 105726.0f, 71838.0f, 36600.0f, 33726.0f, 68790.0f, 105204.0f, 142980.0f, 144156.0f, 110226.0f, 74898.0f, 38160.0f, 27555.0f, 56154.0f, 85806.0f, 116520.0f, 117474.0f, 89748.0f, 60933.0f, 31020.0f, 19917.0f, 40557.0f, 61926.0f, 84030.0f, 84714.0f, 64671.0f, 43875.0f, 22320.0f, 10752.0f, 21879.0f, 33384.0f, 45270.0f, 45636.0f, 34815.0f, 23604.0f, 12000.0f, 7551.0f, 15456.0f, 23718.0f, 32340.0f, 32562.0f, 24978.0f, 17025.0f, 8700.0f, 16569.0f, 33873.0f, 51918.0f, 70710.0f, 71202.0f, 54555.0f, 37143.0f, 18960.0f, 27114.0f, 55371.0f, 84780.0f, 115350.0f, 116160.0f, 88911.0f, 60474.0f, 30840.0f, 39246.0f, 80070.0f, 122484.0f, 166500.0f, 167676.0f, 128226.0f, 87138.0f, 44400.0f, 40626.0f, 82890.0f, 126804.0f, 172380.0f, 173556.0f, 132726.0f, 90198.0f, 45960.0f, 33180.0f, 67629.0f, 103356.0f, 140370.0f, 141324.0f, 107973.0f, 73308.0f, 37320.0f, 23967.0f, 48807.0f, 74526.0f, 101130.0f, 101814.0f, 77721.0f, 52725.0f, 26820.0f, 12927.0f, 26304.0f, 40134.0f, 54420.0f, 54786.0f, 41790.0f, 28329.0f, 14400.0f, 8826.0f, 18081.0f, 27768.0f, 37890.0f, 38112.0f, 29253.0f, 19950.0f, 10200.0f, 19419.0f, 39723.0f, 60918.0f, 83010.0f, 83502.0f, 64005.0f, 43593.0f, 22260.0f, 31839.0f, 65046.0f, 99630.0f, 135600.0f, 136410.0f, 104436.0f, 71049.0f, 36240.0f, 46146.0f, 94170.0f, 144084.0f, 195900.0f, 197076.0f, 150726.0f, 102438.0f, 52200.0f, 47526.0f, 96990.0f, 148404.0f, 201780.0f, 202956.0f, 155226.0f, 105498.0f, 53760.0f, 38805.0f, 79104.0f, 120906.0f, 164220.0f, 165174.0f, 126198.0f, 85683.0f, 43620.0f, 28017.0f, 57057.0f, 87126.0f, 118230.0f, 118914.0f, 90771.0f, 61575.0f, 31320.0f, 15102.0f, 30729.0f, 46884.0f, 63570.0f, 63936.0f, 48765.0f, 33054.0f, 16800.0f, 17220.0f, 34863.0f, 52932.0f, 71430.0f, 72228.0f, 54831.0f, 36996.0f, 18720.0f, 36327.0f, 73527.0f, 111606.0f, 150570.0f, 152214.0f, 115521.0f, 77925.0f, 39420.0f, 57381.0f, 116112.0f, 176202.0f, 237660.0f, 240198.0f, 182250.0f, 122907.0f, 62160.0f, 80442.0f, 162738.0f, 246900.0f, 332940.0f, 336420.0f, 255198.0f, 172062.0f, 87000.0f, 84702.0f, 171318.0f, 259860.0f, 350340.0f, 353820.0f, 268338.0f, 180882.0f, 91440.0f, 66867.0f, 135210.0f, 205038.0f, 276360.0f, 279042.0f, 211572.0f, 142581.0f, 72060.0f, 46845.0f, 94701.0f, 143574.0f, 193470.0f, 195306.0f, 148047.0f, 99747.0f, 50400.0f, 24576.0f, 49671.0f, 75288.0f, 101430.0f, 102372.0f, 77583.0f, 52260.0f, 26400.0f, 22095.0f, 44688.0f, 67782.0f, 91380.0f, 92178.0f, 69906.0f, 47121.0f, 23820.0f, 46377.0f, 93777.0f, 142206.0f, 191670.0f, 193314.0f, 146571.0f, 98775.0f, 49920.0f, 72906.0f, 147387.0f, 223452.0f, 301110.0f, 303648.0f, 230175.0f, 155082.0f, 78360.0f, 101742.0f, 205638.0f, 311700.0f, 419940.0f, 423420.0f, 320898.0f, 216162.0f, 109200.0f, 106002.0f, 214218.0f, 324660.0f, 437340.0f, 440820.0f, 334038.0f, 224982.0f, 113640.0f, 83292.0f, 168285.0f, 254988.0f, 343410.0f, 346092.0f, 262197.0f, 176556.0f, 89160.0f, 58095.0f, 117351.0f, 177774.0f, 239370.0f, 241206.0f, 182697.0f, 122997.0f, 62100.0f, 30351.0f, 61296.0f, 92838.0f, 124980.0f, 125922.0f, 95358.0f, 64185.0f, 32400.0f, 26970.0f, 54513.0f, 82632.0f, 111330.0f, 112128.0f, 84981.0f, 57246.0f, 28920.0f, 56427.0f, 114027.0f, 172806.0f, 232770.0f, 234414.0f, 177621.0f, 119625.0f, 60420.0f, 88431.0f, 178662.0f, 270702.0f, 364560.0f, 367098.0f, 278100.0f, 187257.0f, 94560.0f, 123042.0f, 248538.0f, 376500.0f, 506940.0f, 510420.0f, 386598.0f, 260262.0f, 131400.0f, 127302.0f, 257118.0f, 389460.0f, 524340.0f, 527820.0f, 399738.0f, 269082.0f, 135840.0f, 99717.0f, 201360.0f, 304938.0f, 410460.0f, 413142.0f, 312822.0f, 210531.0f, 106260.0f, 69345.0f, 140001.0f, 211974.0f, 285270.0f, 287106.0f, 217347.0f, 146247.0f, 73800.0f, 36126.0f, 72921.0f, 110388.0f, 148530.0f, 149472.0f, 113133.0f, 76110.0f, 38400.0f}); input.linspace(1); @@ -2682,11 +2682,11 @@ TYPED_TEST(TypedConvolutionTests1, deconv2d_test6) { TEST_F(ConvolutionTests1, deconv2d_test7) { - NDArray exp('c', {3, 2, 4, 4}, {218., 227., 236., 245., 254., 263., 272., 281., 290., 299., 308., 317., 326., 335., 344., 353., 270., 282., 294., 306., 318., 330., 342., 354., 366., 378., 390., 402., 414., 426., 438., 450., 650., 659., 668., 677., 686., 695., 704., 713., 722., 731., 740., 749., 758., 767., 776., 785., 846., 858., 870., 882., 894., 906., 918., 930., 942., 954., 966., 978., 990., 1002., 1014., 1026., 1082., 1091., 1100., 1109., 1118., 1127., 1136., 1145., 1154., 1163., 1172., 1181., 1190., 1199., 1208., 1217., 1422., 1434., 1446., 1458., 1470., 1482., 1494., 1506., 1518., 1530., 1542., 1554., 1566., 1578., 1590., 1602.}); + NDArray exp( {3, 2, 4, 4}, {218., 227., 236., 245., 254., 263., 272., 281., 290., 299., 308., 317., 326., 335., 344., 353., 270., 282., 294., 306., 318., 330., 342., 354., 366., 378., 390., 402., 414., 426., 438., 450., 650., 659., 668., 677., 686., 695., 704., 713., 722., 731., 740., 749., 758., 767., 776., 785., 846., 858., 870., 882., 894., 906., 918., 930., 942., 954., 966., 978., 990., 1002., 1014., 1026., 1082., 1091., 1100., 1109., 1118., 1127., 1136., 1145., 1154., 1163., 1172., 1181., 1190., 1199., 1208., 1217., 1422., 1434., 1446., 1458., 1470., 1482., 1494., 1506., 1518., 1530., 1542., 1554., 1566., 1578., 1590., 1602.}); - auto input = NDArrayFactory::create('c', {3, 3, 4, 4}); - auto weights = NDArrayFactory::create('c',{1, 1, 2, 3}, {1,3,5,2,4,6}); - auto bias = NDArrayFactory::create('c', {2}); + auto input = NDArrayFactory::create( {3, 3, 4, 4}); + auto weights = NDArrayFactory::create({1, 1, 2, 3}, {1,3,5,2,4,6}); + auto bias = NDArrayFactory::create( {2}); input.linspace(1); bias.linspace(1); @@ -2711,7 +2711,7 @@ TEST_F(ConvolutionTests1, deconv2d_test8) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input('c', {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, + NDArray input( {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, 0.798564, 0.163263, 0.146968, 0.260897, 0.135058, 0.756209, 0.275454, 0.369088, 0.092826, 0.836492, 0.268413, 0.095062, 0.312795, 0.135918, 0.517544, 0.328703, 0.061736, 0.396431, 0.248016, 0.548959, 0.115046, 0.814362, 0.721564, 0.404494, 0.299089, 0.403884, 0.988311, 0.022296, 0.927782, 0.318416, 0.068546, 0.284533, 0.232720, 0.352142, 0.058909, 0.711221, 0.674457, 0.196946, 0.699497, 0.074322, 0.420425, 0.584263, 0.149574, 0.446406, 0.723072, 0.064481, 0.483078, 0.875996, @@ -2722,10 +2722,10 @@ TEST_F(ConvolutionTests1, deconv2d_test8) { 0.842513, 0.466098, 0.381395, 0.523185, 0.990183, 0.925768, 0.643459, 0.016828, 0.918756, 0.228979, 0.006314, 0.665975, 0.190361, 0.595521, 0.698881, 0.221469, 0.912434, 0.870822, 0.727369, 0.523972, 0.662884, 0.218841}); - NDArray weights('c', {kH, kW, oC, iC}, {0.4195024073123932, 0.22738978266716003, 0.10093523561954498, 0.25008103251457214, 0.3183899223804474, 0.5976081490516663}); - NDArray bias('c', {1, oC}, {0.3596062958240509, 0.6866418123245239}); + NDArray weights( {kH, kW, oC, iC}, {0.4195024073123932, 0.22738978266716003, 0.10093523561954498, 0.25008103251457214, 0.3183899223804474, 0.5976081490516663}); + NDArray bias( {1, oC}, {0.3596062958240509, 0.6866418123245239}); - NDArray exp('c', {bS, oC, oH, oW}, {0.848190, 0.560603, 0.880509, 0.464103, 0.823376, 0.660138, 0.666382, 0.882257, 0.704650, 0.451427, 0.649734, 0.911822, 0.611581, + NDArray exp( {bS, oC, oH, oW}, {0.848190, 0.560603, 0.880509, 0.464103, 0.823376, 0.660138, 0.666382, 0.882257, 0.704650, 0.451427, 0.649734, 0.911822, 0.611581, 0.847623, 0.568191, 0.439341, 0.710854, 0.473843, 0.927273, 0.605861, 0.724540, 0.530591, 0.804268, 0.478136, 0.602198, 0.639553, 0.669082, 0.855013, 0.678572, 0.617800, 0.667545, 0.765899, 0.835564, 0.631733, 0.921562, 0.790830, 0.588187, 0.597934, 0.725855, 0.822259, 0.455384, 0.998167, 0.683336, 0.591897, 0.705213, 0.748148, 0.648922, 0.484723, 0.873482, 1.368675, 0.881096, 1.169214, 0.781504, 1.433406, 1.171439, 1.348675, 1.227033, 1.256600, 0.824772, 1.051633, 1.308692, @@ -2754,15 +2754,15 @@ TEST_F(ConvolutionTests1, deconv2d_test9) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kH, kW, oC, iC], [iC, oC, kH, kW], [iC, kH, kW, oC] - NDArray input('c', {bS, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights('c', {iC, oC, kH, kW}, {100.000000, 75.000000, 50.000000, 25.000000, 95.000000, 70.000000, 45.000000, 20.000000, 90.000000, 65.000000, 40.000000, + NDArray input( {bS, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights( {iC, oC, kH, kW}, {100.000000, 75.000000, 50.000000, 25.000000, 95.000000, 70.000000, 45.000000, 20.000000, 90.000000, 65.000000, 40.000000, 15.000000, 85.000000, 60.000000, 35.000000, 10.000000, 80.000000, 55.000000, 30.000000, 5.000000, 99.500000, 74.500000, 49.500000, 24.500000, 94.500000, 69.500000, 44.500000, 19.500000, 89.500000, 64.500000, 39.500000, 14.500000, 84.500000, 59.500000, 34.500000, 9.500000, 79.500000, 54.500000, 29.500000, 4.500000, 99.000000, 74.000000, 49.000000, 24.000000, 94.000000, 69.000000, 44.000000, 19.000000, 89.000000, 64.000000, 39.000000, 14.000000, 84.000000, 59.000000, 34.000000, 9.000000, 79.000000, 54.000000, 29.000000, 4.000000, 98.500000, 73.500000, 48.500000, 23.500000, 93.500000, 68.500000, 43.500000, 18.500000, 88.500000, 63.500000, 38.500000, 13.500000, 83.500000, 58.500000, 33.500000, 8.500000, 78.500000, 53.500000, 28.500000, 3.500000, 98.000000, 73.000000, 48.000000, 23.000000, 93.000000, 68.000000, 43.000000, 18.000000, 88.000000, 63.000000, 38.000000, 13.000000, 83.000000, 58.000000, 33.000000, 8.000000, 78.000000, 53.000000, 28.000000, 3.000000, 97.500000, 72.500000, 47.500000, 22.500000, 92.500000, 67.500000, 42.500000, 17.500000, 87.500000, 62.500000, 37.500000, 12.500000, 82.500000, 57.500000, 32.500000, 7.500000, 77.500000, 52.500000, 27.500000, 2.500000, 97.000000, 72.000000, 47.000000, 22.000000, 92.000000, 67.000000, 42.000000, 17.000000, 87.000000, 62.000000, 37.000000, 12.000000, 82.000000, 57.000000, 32.000000, 7.000000, 77.000000, 52.000000, 27.000000, 2.000000, 96.500000, 71.500000, 46.500000, 21.500000, 91.500000, 66.500000, 41.500000, 16.500000, 86.500000, 61.500000, 36.500000, 11.500000, 81.500000, 56.500000, 31.500000, 6.500000, 76.500000, 51.500000, 26.500000, 1.500000, 96.000000, 71.000000, 46.000000, 21.000000, 91.000000, 66.000000, 41.000000, 16.000000, 86.000000, 61.000000, 36.000000, 11.000000, 81.000000, 56.000000, 31.000000, 6.000000, 76.000000, 51.000000, 26.000000, 1.000000, 95.500000, 70.500000, 45.500000, 20.500000, 90.500000, 65.500000, 40.500000, 15.500000, 85.500000, 60.500000, 35.500000, 10.500000, 80.500000, 55.500000, 30.500000, 5.500000, 75.500000, 50.500000, 25.500000, 0.500000}, sd::DataType::FLOAT32); - NDArray expOutput('c', {bS, oH, oW, oC}, {-30844.250000, -29266.750000, -27689.250000, -26111.750000, -24534.250000, -52823.500000, -49718.500000, -46613.500000, -43508.500000, -40403.500000, -51118.500000, + NDArray expOutput( {bS, oH, oW, oC}, {-30844.250000, -29266.750000, -27689.250000, -26111.750000, -24534.250000, -52823.500000, -49718.500000, -46613.500000, -43508.500000, -40403.500000, -51118.500000, -48113.500000, -45108.500000, -42103.500000, -39098.500000, -21501.750000, -20024.250000, -18546.750000, -17069.250000, -15591.750000, -42981.000000, -39976.000000, -36971.000000, -33966.000000, -30961.000000, -69482.000000, -63572.000000, -57662.000000, -51752.000000, -45842.000000, -67072.000000, -61362.000000, -55652.000000, -49942.000000, -44232.000000, -26046.000000, -23241.000000, -20436.000000, -17631.000000, -14826.000000, -38616.000000, -35911.000000, -33206.000000, -30501.000000, -27796.000000, -62252.000000, -56942.000000, -51632.000000, -46322.000000, -41012.000000, -59842.000000, -54732.000000, -49622.000000, @@ -2793,15 +2793,15 @@ TEST_F(ConvolutionTests1, deconv2d_test10) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kH, kW, oC, iC], [iC, oC, kH, kW], [iC, kH, kW, oC] - NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray weights('c', {iC, kH, kW, oC}, {100., 95., 90., 85., 80., 75., 70., 65., 60., 55., 50., 45., 40., 35., 30., 25., 20., 15., 10., 5., 0., -5., -10., -15., + NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray weights( {iC, kH, kW, oC}, {100., 95., 90., 85., 80., 75., 70., 65., 60., 55., 50., 45., 40., 35., 30., 25., 20., 15., 10., 5., 0., -5., -10., -15., -20., -25., -30., -35., -40., -45., -50., -55., -60., -65., -70., -75., -80., -85., -90., -95., 99., 94., 89., 84., 79., 74., 69., 64., 59., 54., 49., 44., 39., 34., 29., 24., 19., 14., 9., 4., -1., -6., -11., -16., -21., -26., -31., -36., -41., -46., -51., -56., -61., -66., -71., -76., -81., -86., -91., -96., 98., 93., 88., 83., 78., 73., 68., 63., 58., 53., 48., 43., 38., 33., 28., 23., 18., 13., 8., 3., -2., -7., -12., -17., -22., -27., -32., -37., -42., -47., -52., -57., -62., -67., -72., -77., -82., -87., -92., -97., 97., 92., 87., 82., 77., 72., 67., 62., 57., 52., 47., 42., 37., 32., 27., 22., 17., 12., 7., 2., -3., -8., -13., -18., -23., -28., -33., -38., -43., -48., -53., -58., -63., -68., -73., -78., -83., -88., -93., -98., 96., 91., 86., 81., 76., 71., 66., 61., 56., 51., 46., 41., 36., 31., 26., 21., 16., 11., 6., 1., -4., -9., -14., -19., -24., -29., -34., -39., -44., -49., -54., -59., -64., -69., -74., -79., -84., -89., -94., -99.}, sd::DataType::FLOAT32); - NDArray expOutput('c', {bS, oC, oH, oW}, {-14128., -21007., -20934., -20861., -13660., -12972., -12926.000977, -12880., -13468., -12788., -12742., -12696.000977, + NDArray expOutput( {bS, oC, oH, oW}, {-14128., -21007., -20934., -20861., -13660., -12972., -12926.000977, -12880., -13468., -12788., -12742., -12696.000977, -13276., -12604., -12558., -12512., -13408., -19569.5, -19501.5, -19433.5, -12230., -10117., -10081.000977, -10045., -12058., -9973., -9937., -9901.000977, -11886., -9829., -9793., -9757., -12688., -18132., -18069., -18006., -10800., -7262., -7236., -7210., -10648., -7157.999512, -7132., -7106., -10496., -7054., -7027.999512, -7002., -11968., -16694.5, -16636.5, -16578.5, -9370., -4406.999023, -4391., -4375., -9238., -4343., -4326.999023, -4311., -9106., -4279., -4263., @@ -2829,10 +2829,10 @@ TYPED_TEST(TypedConvolutionTests1, deconv2d_tf_test1) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, oH, oW, oC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, oC}); - auto outShape = NDArrayFactory::create('c', {4}, {static_cast(bS), static_cast(iH), static_cast(iW), static_cast(iC)}); - auto exp = NDArrayFactory::create('c', {bS, iH, iW, iC}, { 2.75f, 7.75f, 12.75f, 17.75f, 22.75f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 27.75f, 32.75f, 37.75f, 42.75f, 47.75f, + auto input = NDArrayFactory::create( {bS, oH, oW, oC}); + auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); + auto outShape = NDArrayFactory::create( {4}, {static_cast(bS), static_cast(iH), static_cast(iW), static_cast(iC)}); + auto exp = NDArrayFactory::create( {bS, iH, iW, iC}, { 2.75f, 7.75f, 12.75f, 17.75f, 22.75f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 27.75f, 32.75f, 37.75f, 42.75f, 47.75f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 105.5f, 115.5f, 125.5f, 135.5f, 145.5f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 105.5f, 115.5f, 125.5f, 135.5f, 145.5f, 52.75f, 57.75f, 62.75f, 67.75f, 72.75f, 130.5f, 140.5f, 150.5f, 160.5f, 170.5f, 130.5f, 140.5f, 150.5f, 160.5f, 170.5f, 77.75f, 82.75f, 87.75f, 92.75f, 97.75f, From ac6dba5893e4e422074def5ee2902ca8daec12ef Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 15 Jun 2020 13:55:36 +0300 Subject: [PATCH 42/99] Fixed errors with using refactored create methods. Signed-off-by: shugeo --- .../layers_tests/BroadcastableOpsTests.cpp | 50 +- .../layers_tests/ConvolutionTests1.cpp | 442 +++++++++--------- .../layers_tests/ConvolutionTests2.cpp | 420 ++++++++--------- 3 files changed, 455 insertions(+), 457 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp index 468abf6c81ef..bf289f997f5a 100644 --- a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp @@ -525,7 +525,7 @@ TEST_F(BroadcastableOpsTests, broadcast_add_1) { NDArray x = NDArrayFactory::create({4}, {1,1,1,1}); NDArray y = NDArrayFactory::create({1,4}, {1.,2.,3.,4.}); NDArray z = NDArrayFactory::create(sd::DataType::DOUBLE, {1,4}); - NDArray exp = NDArrayFactory::create(sd::DataType::DOUBLE{1,4}, {2,3,4,5}); + NDArray exp = NDArrayFactory::create({1,4}, {2,3,4,5}); sd::ops::add op; auto status = op.execute({&x, &y}, {&z}); @@ -537,10 +537,10 @@ TEST_F(BroadcastableOpsTests, broadcast_add_1) { ////////////////////////////////////////////////////////////////////// TEST_F(BroadcastableOpsTests, broadcast_equals_1) { - NDArray x({1,4}, {1,2,3,4}); - NDArray y({3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); - NDArray z({3,4}, sd::DataType::BOOL); - NDArray exp({3,4}, {0,0,0,0, 1,1,1,1, 1,1,1,1}, sd::DataType::BOOL); + NDArray x = NDArrayFactory::create({1,4}, {1,2,3,4}); + NDArray y = NDArrayFactory::create({3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); + NDArray z = NDArrayFactory::create(sd::DataType::BOOL, {3,4}); + NDArray exp = NDArrayFactory::create({3,4}, {false,false,false,false, true,true,true,true, true,true,true,true}); sd::ops::equals op; auto status = op.execute({&x, &y}, {&z}); @@ -553,7 +553,7 @@ TEST_F(BroadcastableOpsTests, broadcast_equals_1) { ////////////////////////////////////////////////////////////////////// TEST_F(BroadcastableOpsTests, broadcast_empty_1) { - NDArray y({3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); + NDArray y = NDArrayFactory::create({3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); NDArray x(sd::DataType::DOUBLE, y.getContext(), false); NDArray z(sd::DataType::DOUBLE, y.getContext(), false); NDArray zExp(sd::DataType::DOUBLE, y.getContext(), false); @@ -568,7 +568,7 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_1) { TEST_F(BroadcastableOpsTests, broadcast_empty_2) { - NDArray y({1,4}, {1,2,3,4}); + NDArray y = NDArrayFactory::create({1,4}, {1,2,3,4}); NDArray x = NDArrayFactory::create({0, 4}); NDArray e = NDArrayFactory::create({0, 4});; @@ -583,7 +583,7 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_2) { TEST_F(BroadcastableOpsTests, broadcast_empty_3) { NDArray x = NDArrayFactory::create({1, 0, 2}); - NDArray y({}, std::vector{0.1}, sd::DataType::FLOAT32); + NDArray y('c', {}, std::vector{0.1}, sd::DataType::FLOAT32); NDArray e = NDArrayFactory::create({1, 0, 2});; sd::ops::maximum op; @@ -671,7 +671,7 @@ TEST_F(BroadcastableOpsTests, broadcast_empty_7) { TEST_F(BroadcastableOpsTests, broadcast_bool_empty_1) { - NDArray y({3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); + NDArray y('c', {3,4}, {0,0,0,0, 1,2,3,4, 1,2,3,4}); NDArray x(sd::DataType::DOUBLE, y.getContext(), false); NDArray z(sd::DataType::BOOL, y.getContext(), false); NDArray zExp(sd::DataType::BOOL, y.getContext(), false); @@ -686,7 +686,7 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_empty_1) { TEST_F(BroadcastableOpsTests, broadcast_bool_empty_2) { - NDArray y({1,4}, {1,2,3,4}); + NDArray y('c', {1,4}, {1,2,3,4}); NDArray x = NDArrayFactory::create({0, 4}); NDArray e = NDArrayFactory::create({0, 4});; @@ -705,10 +705,10 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_empty_2) { TEST_F(BroadcastableOpsTests, broadcast_bool_1) { - NDArray x({3, 1, 2}, sd::DataType::FLOAT32); - NDArray y({2, 2}, sd::DataType::FLOAT32); - NDArray z({3, 2, 2}, sd::DataType::BOOL); - NDArray e({3, 2, 2}, sd::DataType::BOOL); + NDArray x('c', {3, 1, 2}, sd::DataType::FLOAT32); + NDArray y('c', {2, 2}, sd::DataType::FLOAT32); + NDArray z('c', {3, 2, 2}, sd::DataType::BOOL); + NDArray e('c', {3, 2, 2}, sd::DataType::BOOL); x.assign(4.f); y.assign(2.f); @@ -728,10 +728,10 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_1) { TEST_F(BroadcastableOpsTests, broadcast_bool_2) { - NDArray x({3, 1, 2}, sd::DataType::FLOAT32); - NDArray y({2, 2}, sd::DataType::FLOAT32); - NDArray z({3, 2, 2}, sd::DataType::BOOL); - NDArray e({3, 2, 2}, sd::DataType::BOOL); + NDArray x('c', {3, 1, 2}, sd::DataType::FLOAT32); + NDArray y('c', {2, 2}, sd::DataType::FLOAT32); + NDArray z('c', {3, 2, 2}, sd::DataType::BOOL); + NDArray e('c', {3, 2, 2}, sd::DataType::BOOL); x.assign(1.f); y.assign(2.f); @@ -753,8 +753,8 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_3) { auto x = NDArrayFactory::create(0); auto y = NDArrayFactory::create({3}, {2, 1, 2}); - NDArray z({3}, sd::DataType::BOOL); - NDArray e({3}, sd::DataType::BOOL); + NDArray z('c', {3}, sd::DataType::BOOL); + NDArray e('c', {3}, sd::DataType::BOOL); e.assign(true); @@ -770,10 +770,10 @@ TEST_F(BroadcastableOpsTests, broadcast_bool_3) { } TEST_F(BroadcastableOpsTests, broadcast_2) { - NDArray x({3, 1, 2}, sd::DataType::FLOAT32); - NDArray y({2, 2}, sd::DataType::FLOAT32); - NDArray z({3, 2, 2}, sd::DataType::FLOAT32); - NDArray e({3, 2, 2}, sd::DataType::FLOAT32); + NDArray x('c', {3, 1, 2}, sd::DataType::FLOAT32); + NDArray y('c', {2, 2}, sd::DataType::FLOAT32); + NDArray z('c', {3, 2, 2}, sd::DataType::FLOAT32); + NDArray e('c', {3, 2, 2}, sd::DataType::FLOAT32); x = 4.f; y = 2.f; @@ -794,7 +794,7 @@ TEST_F(BroadcastableOpsTests, broadcast_2) { TEST_F(BroadcastableOpsTests, broadcast_3) { auto x = NDArrayFactory::create(0); auto y = NDArrayFactory::create({3}, {2, 1, 2}); - NDArray z({3}, sd::DataType::INT32); + NDArray z('c', {3}, sd::DataType::INT32); auto e = NDArrayFactory::create({3}, {2, 1, 2}); sd::ops::add op; diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp index fd4f333250ef..5df6f504435f 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp @@ -279,17 +279,17 @@ TEST_F(ConvolutionTests1, conv2d_8) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input( {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, + NDArray input('c', {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, 0.798564, 0.163263, 0.146968, 0.260897, 0.135058, 0.756209, 0.275454, 0.369088, 0.092826, 0.836492, 0.268413, 0.095062, 0.312795, 0.135918, 0.517544, 0.328703, 0.061736, 0.396431, 0.248016, 0.548959, 0.115046, 0.814362, 0.721564, 0.404494, 0.299089, 0.403884, 0.988311, 0.022296, 0.927782, 0.318416, 0.068546, 0.284533, 0.232720, 0.352142, 0.058909, 0.711221, 0.674457, 0.196946, 0.699497, 0.074322, 0.420425, 0.584263, 0.149574, 0.446406, 0.723072, 0.064481, 0.483078, 0.875996, 0.569819, 0.445863, 0.527755, 0.016646, 0.753678, 0.140636, 0.754129, 0.161932, 0.775037, 0.332645, 0.117394, 0.017711, 0.608476, 0.525152, 0.917194, 0.849891, 0.589423, 0.852278, 0.390636, 0.889683, 0.669445, 0.698873, 0.961480, 0.157401, 0.157364, 0.493520, 0.569937, 0.126832, 0.115728, 0.786368, 0.737939, 0.490079, 0.608414, 0.956500, 0.390098}); - NDArray weights( {kH, kW, iC, oC}, {0.07581716775894165, 0.8706002235412598, 0.29345420002937317, 0.5281786322593689, 0.10540834069252014, 0.3663792014122009, 0.17209206521511078, 0.6257694959640503}); - NDArray bias( {1, oC}, {0.7414038777351379, 0.8980839848518372}); + NDArray weights('c', {kH, kW, iC, oC}, {0.07581716775894165, 0.8706002235412598, 0.29345420002937317, 0.5281786322593689, 0.10540834069252014, 0.3663792014122009, 0.17209206521511078, 0.6257694959640503}); + NDArray bias('c', {1, oC}, {0.7414038777351379, 0.8980839848518372}); - NDArray expOutput( {bS, oC, oH, oW}, {1.112878, 1.106691, 0.914598, 1.127438, 0.988108, 1.070572, 1.040759, 0.962728, 0.927537, 1.109045, 0.893301, 1.101278, 1.080314, + NDArray expOutput('c', {bS, oC, oH, oW}, {1.112878, 1.106691, 0.914598, 1.127438, 0.988108, 1.070572, 1.040759, 0.962728, 0.927537, 1.109045, 0.893301, 1.101278, 1.080314, 1.112327, 1.030041, 0.955914, 0.779137, 1.110499, 0.944709, 1.195986, 0.997814, 1.083822, 1.090898, 0.889572, 0.964781, 1.071012, 1.111928, 1.291319, 1.085454, 0.977661, 1.149068, 1.077099, 1.068283, 1.064290, 1.177125, 1.212480, 0.932593, 0.939493, 1.118576, 1.056927, 0.780314, 0.845707, 0.996308, 0.963152, 0.906792, 0.937590, 1.048791, 0.860346, 2.264212, 2.071576, 1.916629, 2.030785, 2.169075, 2.039786, 1.935480, 2.177816, 1.524273, 1.933327, 1.630923, 2.406983, 1.770406, 2.413284, 1.790349, 1.476586, @@ -318,13 +318,13 @@ TEST_F(ConvolutionTests1, conv2d_9) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kH, kW, iC, oC], 1-[oC, iC, kH, kW], 2-[oC, kH, kW, iC] - NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray weights( {oC, iC, kH, kW}, {-3., -1.8, -0.6, 0.6, 1.8, 3., -2.7, -1.5, -0.3, 0.9, 2.1, 3.3, -2.4, -1.2, 0., 1.2, 2.4, 3.6, -2.1, -0.9, 0.3, 1.5, + NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray weights('c', {oC, iC, kH, kW}, {-3., -1.8, -0.6, 0.6, 1.8, 3., -2.7, -1.5, -0.3, 0.9, 2.1, 3.3, -2.4, -1.2, 0., 1.2, 2.4, 3.6, -2.1, -0.9, 0.3, 1.5, 2.7, 3.9, -2.9, -1.7, -0.5, 0.7, 1.9, 3.1, -2.6, -1.4, -0.2, 1., 2.2, 3.4, -2.3, -1.1, 0.1, 1.3, 2.5, 3.7, -2., -0.8, 0.4, 1.6, 2.8, 4., -2.8, -1.6, -0.4, 0.8, 2., 3.2, -2.5, -1.3, -0.1, 1.1, 2.3, 3.5, -2.2, -1., 0.2, 1.4, 2.6, 3.8, -1.9, -0.7, 0.5, 1.7, 2.9, 4.1}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias( 'c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); - NDArray expOutput( {bS, oC, oH, oW}, {37.699997, 32.300041, 21.499989, 16.100004, 74.900024, 68.300003, 55.100006, 48.499969, 107.599983, 99.799988, + NDArray expOutput('c', {bS, oC, oH, oW}, {37.699997, 32.300041, 21.499989, 16.100004, 74.900024, 68.300003, 55.100006, 48.499969, 107.599983, 99.799988, 84.200005, 76.400009, -221.5, -226.899994, -237.699997, -243.099991, -241.899994, -248.5, -261.700012, -268.299988, -266.799988, -274.600006, -290.200012, -298.}, sd::DataType::FLOAT32); @@ -349,14 +349,14 @@ TEST_F(ConvolutionTests1, conv2d_10) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kH, kW, iC, oC], 1-[oC, iC, kH, kW], 2-[oC, kH, kW, iC] - NDArray input( {bS, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights( {oC, kH, kW, iC}, {-3., -2.7, -2.4, -2.1, -1.8, -1.5, -1.2, -0.9, -0.6, -0.3, 0., 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3., 3.3, + NDArray input('c', {bS, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights('c', {oC, kH, kW, iC}, {-3., -2.7, -2.4, -2.1, -1.8, -1.5, -1.2, -0.9, -0.6, -0.3, 0., 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3., 3.3, 3.6, 3.9, -2.9, -2.6, -2.3, -2., -1.7, -1.4, -1.1, -0.8, -0.5, -0.2, 0.1, 0.4, 0.7, 1., 1.3, 1.6, 1.9, 2.2, 2.5, 2.8, 3.1, 3.4, 3.7, 4., -2.8, -2.5, -2.2, -1.9, -1.6, -1.3, -1., -0.7, -0.4, -0.1, 0.2, 0.5, 0.8, 1.1, 1.4, 1.7, 2., 2.3, 2.6, 2.9, 3.2, 3.5, 3.8, 4.1}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); - NDArray expOutput( {bS, oH, oW, oC}, {463.400055, 498.800018, 529.700012, 410.600006, 442.799988, 470.500031, 113.600006, 130.400009, 142.699982, + NDArray expOutput('c', {bS, oH, oW, oC}, {463.400055, 498.800018, 529.700012, 410.600006, 442.799988, 470.500031, 113.600006, 130.400009, 142.699982, -63.999958, -19.600082, 20.300007, -85.600052, -45.999939, -10.899940, -144.100021, -124., -108.399994, -128.799988, -98.799973, -73.300011, -150.400009, -125.200012, -104.500008, -133.300003, -120.399994, -112.000008, -170.199997, -154., -142.299988, -146.200012, -133.199997, -124.699997, -88.000008, -80.800003, -78.099991, -170.200012, -173.199997, -180.699982, -223., -229.199997, -239.900009, -88., -90.400002, -97.300003, -323.200012, @@ -528,18 +528,18 @@ TEST_F(ConvolutionTests1, sconv2d_4) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input( {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, + NDArray input('c', {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, 0.798564, 0.163263, 0.146968, 0.260897, 0.135058, 0.756209, 0.275454, 0.369088, 0.092826, 0.836492, 0.268413, 0.095062, 0.312795, 0.135918, 0.517544, 0.328703, 0.061736, 0.396431, 0.248016, 0.548959, 0.115046, 0.814362, 0.721564, 0.404494, 0.299089, 0.403884, 0.988311, 0.022296, 0.927782, 0.318416, 0.068546, 0.284533, 0.232720, 0.352142, 0.058909, 0.711221, 0.674457, 0.196946, 0.699497, 0.074322, 0.420425, 0.584263, 0.149574, 0.446406, 0.723072, 0.064481, 0.483078, 0.875996, 0.569819, 0.445863, 0.527755, 0.016646, 0.753678, 0.140636, 0.754129, 0.161932, 0.775037, 0.332645, 0.117394, 0.017711, 0.608476, 0.525152, 0.917194, 0.849891, 0.589423, 0.852278, 0.390636, 0.889683, 0.669445, 0.698873, 0.961480, 0.157401, 0.157364, 0.493520, 0.569937, 0.126832, 0.115728, 0.786368, 0.737939, 0.490079, 0.608414, 0.956500, 0.390098, 0.147305, 0.850645, 0.497650, 0.071866, 0.082150, 0.035314, 0.732041, 0.369934, 0.840666, 0.273894, 0.431796, 0.133231}); - NDArray weightsD( {kH, kW, iC, mC}, {0.5340641736984253, 0.8257383108139038, 0.3279532492160797, 0.27217748761177063, 0.05432872101664543, 0.31322699785232544, 0.6599581837654114, 0.35526034235954285, 0.5765137672424316}); - NDArray weightsP( {1, 1, iC*mC, oC}, {0.4442146420478821, 0.3362849950790405, 0.5215804576873779, 0.5305071473121643, 0.7323054075241089, 0.5168435573577881, 0.8601323962211609, 0.2587810158729553, 0.9473239779472351, 0.39540114998817444, 0.04835261031985283, 0.8724213242530823, 0.8607604503631592, 0.8382210731506348, 0.8573186993598938, 0.6496091485023499, 0.8864102959632874, 0.14267340302467346}); - NDArray biases( {1,oC}, {0.8807470202445984, 0.6262521147727966}); + NDArray weightsD('c', {kH, kW, iC, mC}, {0.5340641736984253, 0.8257383108139038, 0.3279532492160797, 0.27217748761177063, 0.05432872101664543, 0.31322699785232544, 0.6599581837654114, 0.35526034235954285, 0.5765137672424316}); + NDArray weightsP('c', {1, 1, iC*mC, oC}, {0.4442146420478821, 0.3362849950790405, 0.5215804576873779, 0.5305071473121643, 0.7323054075241089, 0.5168435573577881, 0.8601323962211609, 0.2587810158729553, 0.9473239779472351, 0.39540114998817444, 0.04835261031985283, 0.8724213242530823, 0.8607604503631592, 0.8382210731506348, 0.8573186993598938, 0.6496091485023499, 0.8864102959632874, 0.14267340302467346}); + NDArray biases('c', {1,oC}, {0.8807470202445984, 0.6262521147727966}); - NDArray expOutput( {bS, oC, oH, oW}, {1.643804, 2.135067, 2.494167, 2.628944, 2.700440, 2.257452, 2.562539, 2.293667, 2.493985, 2.014933, 2.301736, 2.939066, 1.492952, + NDArray expOutput('c', {bS, oC, oH, oW}, {1.643804, 2.135067, 2.494167, 2.628944, 2.700440, 2.257452, 2.562539, 2.293667, 2.493985, 2.014933, 2.301736, 2.939066, 1.492952, 2.026476, 1.771098, 2.013162, 1.315507, 1.289951, 2.831223, 2.196924, 2.028261, 2.024326, 2.983223, 1.809527, 1.434322, 2.513157, 1.826834, 1.608869, 1.297912, 1.212318, 2.295934, 1.844615, 2.591148, 1.597267, 2.317755, 1.755642, 1.324064, 1.542060, 1.892052, 1.939339, 1.922781, 1.720199, 1.833396, 1.728024, 1.757968, 1.410675, 1.661960, 2.096277, 1.178815, 1.637460, 1.254187, 1.491076, 0.968625, 0.986342, 2.116042, 1.536920, 1.504321, 1.490398, 2.136795, 1.351860, 1.148578, 1.817408, 1.327139, 1.288620, @@ -742,12 +742,12 @@ TEST_F(ConvolutionTests1, deconv2d_bp_1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray bias( {oC}, sd::DataType::FLOAT32); - NDArray weights({kH,kW,oC,iC}, {1,3,5,2,4,6}, sd::DataType::FLOAT32); - NDArray gradO( {bS, oC, oH, oW},sd::DataType::FLOAT32); + NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, sd::DataType::FLOAT32); + NDArray weights('c', {kH,kW,oC,iC}, {1,3,5,2,4,6}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, oC, oH, oW},sd::DataType::FLOAT32); - NDArray expGradI( {bS, iC, iH, iW}, {35.f, 38.f, 41.f, 44.f, 47.f, 50.f, 53.f, 56.f, 59.f, 62.f, 65.f, 68.f, 71.f, 74.f, + NDArray expGradI('c', {bS, iC, iH, iW}, {35.f, 38.f, 41.f, 44.f, 47.f, 50.f, 53.f, 56.f, 59.f, 62.f, 65.f, 68.f, 71.f, 74.f, 77.f, 80.f, 71.f, 78.f, 85.f, 92.f, 99.f, 106.f, 113.f, 120.f, 127.f, 134.f, 141.f, 148.f, 155.f, 162.f, 169.f, 176.f, 107.f, 118.f, 129.f, 140.f, 151.f, 162.f, 173.f, 184.f, 195.f, 206.f, 217.f, 228.f, 239.f, 250.f, 261.f, 272.f, 131.f, 134.f, 137.f, 140.f, 143.f, 146.f, 149.f, 152.f, 155.f, 158.f, 161.f, 164.f, 167.f, 170.f, 173.f, 176.f, 295.f, @@ -756,8 +756,8 @@ TEST_F(ConvolutionTests1, deconv2d_bp_1) { 236.f, 239.f, 242.f, 245.f, 248.f, 251.f, 254.f, 257.f, 260.f, 263.f, 266.f, 269.f, 272.f, 519.f, 526.f, 533.f, 540.f, 547.f, 554.f, 561.f, 568.f, 575.f, 582.f, 589.f, 596.f, 603.f, 610.f, 617.f, 624.f, 811.f, 822.f, 833.f, 844.f, 855.f, 866.f, 877.f, 888.f, 899.f, 910.f, 921.f, 932.f, 943.f, 954.f, 965.f, 976.f}, sd::DataType::FLOAT32); - NDArray expGradW( {kH, kW, oC, iC}, {160008., 191112., 222216., 203400., 246792., 290184.f}, sd::DataType::FLOAT32); - NDArray expGradB( {oC}, {1944.f, 2712.f}, sd::DataType::FLOAT32); + NDArray expGradW('c', {kH, kW, oC, iC}, {160008., 191112., 222216., 203400., 246792., 290184.f}, sd::DataType::FLOAT32); + NDArray expGradB('c', {oC}, {1944.f, 2712.f}, sd::DataType::FLOAT32); input.linspace(1); bias.linspace(1); @@ -793,18 +793,18 @@ TEST_F(ConvolutionTests1, deconv2d_bp_2) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0 - [kH, kW, oC, iC], 1 - [iC, oC, kH, kW], 2 - [iC, kH, kW, oC] - NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {-0.1, 0.2}, sd::DataType::FLOAT32); - NDArray weights({iC, oC, kH, kW}, {1., 7., 2., 10., 3., 8., 4., 11., 5., 9., 6., 12.}, sd::DataType::FLOAT32); - NDArray gradO( {bS, oC, oH, oW},sd::DataType::FLOAT32); + NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {-0.1, 0.2}, sd::DataType::FLOAT32); + NDArray weights('c', {iC, oC, kH, kW}, {1., 7., 2., 10., 3., 8., 4., 11., 5., 9., 6., 12.}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, oC, oH, oW},sd::DataType::FLOAT32); - NDArray expGradI( {bS, iC, iH, iW}, {-77.400002, -77.199997, -77., -76.800003, -76.599998, -76.400002, -76.200005, -76., -75.800003, -75.599998, -75.399994, + NDArray expGradI('c', {bS, iC, iH, iW}, {-77.400002, -77.199997, -77., -76.800003, -76.599998, -76.400002, -76.200005, -76., -75.800003, -75.599998, -75.399994, -75.199997, -11.32, -11.29, -11.26, -11.23, -100.839996, -100.580002, -100.32, -100.059998, -99.800003, -99.540001, -99.279999, -99.019997, -98.760002, -98.50, -98.240005, -97.979996, -26.52, -26.450001, -26.380001, -26.309999, -124.279999, -123.959991, -123.639999, -123.32, -123., -122.68, -122.360001, -122.040001, -121.720001, -121.400009, -121.080002, -120.759995, -41.720001, -41.610001, -41.50, -41.389999, -71., -70.800003, -70.599998, -70.399994, -70.199997, -70., -69.800003, -69.600006, -69.400002, -69.199997, -69., -68.799995, -10.360001, -10.33, -10.30, -10.27, -92.519997, -92.260002, -92., -91.740005, -91.479996, -91.220001, -90.960007, -90.700005, -90.440002, -90.18, -89.919998, -89.660004, -24.280001, -24.209999, -24.139999, -24.07, -114.040001, -113.720001, -113.400009, -113.080002, -112.759995, -112.440002, -112.120003, -111.800003, -111.480003, -111.159996, -110.839996, -110.520004, -38.200001, -38.09, -37.980003, -37.869999, -64.599998, -64.400002, -64.199997, -64., -63.799995, -63.599998, -63.400002, -63.199997, -63., -62.799995, -62.599998, -62.400002, -9.40, -9.37, -9.34, -9.309999, -84.200005, -83.940002, -83.68, -83.419998, -83.160004, -82.900002, -82.639999, -82.379997, -82.119995, -81.860001, -81.600006, -81.339996, -22.040001, -21.970001, -21.90, -21.83, -103.800003, -103.480003, -103.159996, -102.839996, -102.520004, -102.200005, -101.879997, -101.559998, -101.239998, -100.919998, -100.599998, -100.279999, -34.68, -34.57, -34.459999, -34.349998}, sd::DataType::FLOAT32); - NDArray expGradW( {iC, oC, kH, kW}, {-3010.799805, -2502.420410, -2899.439209, -2407.380615, -242.159332, -437.460510, -253.680466, -434.580048, 2526.479980, 1627.500000, 2392.079834, 1538.220093}, sd::DataType::FLOAT32); - NDArray expGradB( {oC}, {-173.040009, -165.360016}, sd::DataType::FLOAT32); + NDArray expGradW('c', {iC, oC, kH, kW}, {-3010.799805, -2502.420410, -2899.439209, -2407.380615, -242.159332, -437.460510, -253.680466, -434.580048, 2526.479980, 1627.500000, 2392.079834, 1538.220093}, sd::DataType::FLOAT32); + NDArray expGradB('c', {oC}, {-173.040009, -165.360016}, sd::DataType::FLOAT32); input.linspace(70., -1); gradO.linspace(-4, 0.01); @@ -837,19 +837,19 @@ TEST_F(ConvolutionTests1, deconv2d_bp_3) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0 - [kH, kW, oC, iC], 1 - [iC, oC, kH, kW], 2 - [iC, kH, kW, oC] - NDArray input( {bS, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {-0.1, 0.2}, sd::DataType::FLOAT32); - NDArray weights({iC, kH, kW, oC}, {1., 4., 7., 10., 2., 5., 8., 11., 3., 6., 9., 12.}, sd::DataType::FLOAT32); - NDArray gradO( {bS, oH, oW, oC}, sd::DataType::FLOAT32); + NDArray input('c', {bS, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {-0.1, 0.2}, sd::DataType::FLOAT32); + NDArray weights('c', {iC, kH, kW, oC}, {1., 4., 7., 10., 2., 5., 8., 11., 3., 6., 9., 12.}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, oH, oW, oC}, sd::DataType::FLOAT32); - NDArray expGradI( {bS, iH, iW, iC}, {-86.5, -102.320007, -118.139999, -86.060005, -101.800003, -117.540001, -85.619995, -101.279999, -116.940002, -85.18, + NDArray expGradI('c', {bS, iH, iW, iC}, {-86.5, -102.320007, -118.139999, -86.060005, -101.800003, -117.540001, -85.619995, -101.279999, -116.940002, -85.18, -100.759995, -116.339996, -84.740005, -100.239998, -115.739998, -84.300003, -99.720001, -115.139999, -83.860001, -99.199997, -114.539993, -83.419998, -98.68, -113.939995, -82.979996, -98.160004, -113.339996, -82.539993, -97.639999, -112.739998, -82.099998, -97.120003, -112.139999, -81.660004, -96.600006, -111.539993, -81.220001, -96.080002, -110.939995, -80.779999, -95.559998, -110.340012, -80.340004, -95.040001, -109.740005, -79.900002, -94.519997, -109.139992, -77.699997, -91.919998, -106.139999, -77.260002, -91.400002, -105.540001, -76.820007, -90.880005, -104.940002, -76.380005, -90.360001, -104.339996, -75.940002, -89.839996, -103.740005, -75.5, -89.320007, -103.139999, -75.060005, -88.800003, -102.540001, -74.619995, -88.279999, -101.940002, -74.18, -87.759995, -101.339996, -73.740005, -87.239998, -100.739998, -73.300003, -86.720001, -100.139999, -72.860001, -86.199997, -99.539993, -72.419998, -85.68, -98.939995, -71.979996, -85.160004, -98.339996, -71.539993, -84.639999, -97.740005, -71.099998, -84.120003, -97.139999, -68.899994, -81.519997, -94.139999, -68.459999, -81.00, -93.539993, -68.019997, -80.479996, -92.940002, -67.580002, -79.959999, -92.339996, -67.139999, -79.440002, -91.740005, -66.699997, -78.919998, -91.139999, -66.260002, -78.399994, -90.540001, -65.820007, -77.880005, -89.940002, -65.380005, -77.360001, -89.339996, -64.940002, -76.839996, -88.740005, -64.5, -76.320007, -88.139999, -64.060005, -75.800003, -87.540001, -63.619995, -75.279999, -86.940002, -63.18, -74.759995, -86.339996, -62.739998, -74.239998, -85.739998, -62.299999, -73.720001, -85.139999}, sd::DataType::FLOAT32); - NDArray expGradW( {iC, kH, kW, oC}, {-592.800110, -593.039917, -594.719116, -594.960266, -427.199890, -427.919617, -432.959900, -433.679993, -261.600281, -262.799591, -271.200317, -272.399536}, sd::DataType::FLOAT32); - NDArray expGradB( {oC}, {-204.600006, -204.}, sd::DataType::FLOAT32); + NDArray expGradW('c', {iC, kH, kW, oC}, {-592.800110, -593.039917, -594.719116, -594.960266, -427.199890, -427.919617, -432.959900, -433.679993, -261.600281, -262.799591, -271.200317, -272.399536}, sd::DataType::FLOAT32); + NDArray expGradB('c', {oC}, {-204.600006, -204.}, sd::DataType::FLOAT32); input.linspace(70., -1); gradO.linspace(-4, 0.01); @@ -874,13 +874,13 @@ TEST_F(ConvolutionTests1, deconv2d_bp_3) { } TYPED_TEST(TypedConvolutionTests1, Test_Conv1D_ff_1) { - auto input = NDArrayFactory::create( {2, 2, 6}); - auto weights = NDArrayFactory::create( {2, 2, 3}, {1,5,9,3,7,11,2,6,10,4,8,12}); - auto bias = NDArrayFactory::create( {3}); - auto expFF = NDArrayFactory::create( {2, 3, 5}, {59.0f, 69.0f, 79.0f, 89.0f, 99.0f, 132.0f, 158.0f, 184.0f, 210.0f, 236.0f, 205.0f, 247.0f, 289.0f, 331.0f, 373.0f, 179.0f, 189.0f, 199.0f, 209.0f, 219.0f, 444.0f, 470.0f, 496.0f, 522.0f, 548.0f, 709.0f, 751.0f, 793.0f, 835.0f, 877.0f}); - auto expEps = NDArrayFactory::create( {2, 2, 6}, {130.0f, 293.0f, 326.0f, 359.0f, 392.0f, 220.0f, 166.0f, 371.0f, 416.0f, 461.0f, 506.0f, 280.0f, 355.0f, 788.0f, 821.0f, 854.0f, 887.0f, 490.0f, 481.0f, 1046.0f, 1091.0f, 1136.0f, 1181.0f, 640.0f}); - auto expGW = NDArrayFactory::create( {3, 2, 2}, {1415.0f, 1520.0f, 2045.0f, 2150.0f, 1865.0f, 2020.0f, 2795.0f, 2950.0f, 2315.0f, 2520.0f, 3545.0f, 3750.0f}); - auto expGB = NDArrayFactory::create( {3}, {105.0f, 155.0f, 205.0f}); + auto input = NDArrayFactory::create({2, 2, 6}); + auto weights = NDArrayFactory::create({2, 2, 3}, {1,5,9,3,7,11,2,6,10,4,8,12}); + auto bias = NDArrayFactory::create({3}); + auto expFF = NDArrayFactory::create({2, 3, 5}, {59.0f, 69.0f, 79.0f, 89.0f, 99.0f, 132.0f, 158.0f, 184.0f, 210.0f, 236.0f, 205.0f, 247.0f, 289.0f, 331.0f, 373.0f, 179.0f, 189.0f, 199.0f, 209.0f, 219.0f, 444.0f, 470.0f, 496.0f, 522.0f, 548.0f, 709.0f, 751.0f, 793.0f, 835.0f, 877.0f}); + auto expEps = NDArrayFactory::create({2, 2, 6}, {130.0f, 293.0f, 326.0f, 359.0f, 392.0f, 220.0f, 166.0f, 371.0f, 416.0f, 461.0f, 506.0f, 280.0f, 355.0f, 788.0f, 821.0f, 854.0f, 887.0f, 490.0f, 481.0f, 1046.0f, 1091.0f, 1136.0f, 1181.0f, 640.0f}); + auto expGW = NDArrayFactory::create({3, 2, 2}, {1415.0f, 1520.0f, 2045.0f, 2150.0f, 1865.0f, 2020.0f, 2795.0f, 2950.0f, 2315.0f, 2520.0f, 3545.0f, 3750.0f}); + auto expGB = NDArrayFactory::create({3}, {105.0f, 155.0f, 205.0f}); expGW.permutei({2,1,0}); input.linspace(1); @@ -921,8 +921,8 @@ TYPED_TEST(TypedConvolutionTests1, Test_Conv1D_ff_1) { TYPED_TEST(TypedConvolutionTests1, Test_Conv1D_ff_2) { - auto input = NDArrayFactory::create( {2, 2, 6}); - auto weights = NDArrayFactory::create( {2, 2, 3}, {1.f, 5.f, 9.f, 3.f, 7.f, 11.f, 2.f, 6.f, 10.f, 4.f, 8.f, 12.f}); + auto input = NDArrayFactory::create({2, 2, 6}); + auto weights = NDArrayFactory::create({2, 2, 3}, {1.f, 5.f, 9.f, 3.f, 7.f, 11.f, 2.f, 6.f, 10.f, 4.f, 8.f, 12.f}); input.linspace(1); @@ -943,11 +943,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_1) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input( {bS, iW, iC}); - NDArray weights( {kW, iC, oC}); - NDArray bias( {oC}, {-1,-2,-3}); + NDArray input('c', {bS, iW, iC}); + NDArray weights('c', {kW, iC, oC}); + NDArray bias('c', {oC}, {-1,-2,-3}); - NDArray expOutput( {bS, oW, oC}, {18. , 18. , 18. , 53. , 55.6, 58.2, 89.8, 95.6, 101.4, 102. , 106.8, 111.6, 163.4, 175.6, 187.8, 200.2, 215.6, 231.}); + NDArray expOutput('c', {bS, oW, oC}, {18. , 18. , 18. , 53. , 55.6, 58.2, 89.8, 95.6, 101.4, 102. , 106.8, 111.6, 163.4, 175.6, 187.8, 200.2, 215.6, 231.}); input.linspace(1., 1.); weights.linspace(0.1, 0.1); @@ -971,11 +971,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_2) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input( {bS, iW, iC}); - NDArray weights( {kW, iC, oC}); - NDArray bias( {oC}, {-1,-2,-3,-4}); + NDArray input('c', {bS, iW, iC}); + NDArray weights('c', {kW, iC, oC}); + NDArray bias('c', {oC}, {-1,-2,-3,-4}); - NDArray expOutput( {bS, oW, oC}, { 10. , 9.6, 9.2, 8.8, 48.9, 51.8, 54.7, 57.6, 88.5, 95. , 101.5, 108. , 128.1, 138.2, 148.3, 158.4, + NDArray expOutput('c', {bS, oW, oC}, { 10. , 9.6, 9.2, 8.8, 48.9, 51.8, 54.7, 57.6, 88.5, 95. , 101.5, 108. , 128.1, 138.2, 148.3, 158.4, 167.7, 181.4, 195.1, 208.8, 207.3, 224.6, 241.9, 259.2, 246.9, 267.8, 288.7, 309.6, 286.5, 311. , 335.5, 360. , 254.8, 268.8, 282.8, 296.8, 365.7, 397.4, 429.1, 460.8, 405.3, 440.6, 475.9, 511.2, 444.9, 483.8, 522.7, 561.6, 484.5, 527. , 569.5, 612. , 524.1, 570.2, 616.3, 662.4, 563.7, 613.4, 663.1, 712.8, 603.3, 656.6, 709.9, 763.2}); @@ -1002,11 +1002,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_3) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input( {bS, iW, iC}); - NDArray weights( {kW, iC, oC}); - NDArray bias( {oC}, {-1,-2,-3,-4}); + NDArray input('c', {bS, iW, iC}); + NDArray weights('c', {kW, iC, oC}); + NDArray bias('c', {oC}, {-1,-2,-3,-4}); - NDArray expOutput( {bS, oW, oC}, {17.2, 16.8, 16.4, 16.,145.4, 151.6, 157.8, 164.,283.1, 297.4, 311.7, 326., 420.8, 443.2, 465.6, 488., + NDArray expOutput('c', {bS, oW, oC}, {17.2, 16.8, 16.4, 16.,145.4, 151.6, 157.8, 164.,283.1, 297.4, 311.7, 326., 420.8, 443.2, 465.6, 488., 558.5, 589., 619.5, 650.,696.2001, 734.8, 773.4, 812., 434.8, 448.8, 462.8, 476.8, 879.8, 929.2, 978.6, 1028., 1017.5, 1075., 1132.5, 1190.,1155.2001, 1220.8, 1286.4, 1352.,1292.8999, 1366.6, 1440.3, 1514., 1430.6001, 1512.4, 1594.2, 1676.}); @@ -1032,11 +1032,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_4) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input( {bS, iW, iC}); - NDArray weights( {kW, iC, oC}); - NDArray bias( {oC}, {-1,-2,-3,-4}); + NDArray input('c', {bS, iW, iC}); + NDArray weights('c', {kW, iC, oC}); + NDArray bias('c', {oC}, {-1,-2,-3,-4}); - NDArray expOutput( {bS, oW, oC}, {17.2, 16.8, 16.4, 16. ,43.3, 43.8, 44.3, 44.8,69.4, 70.8, 72.2, 73.6,106.5, 109.4, 112.3, 115.2,147.9, 152.6, 157.3, 162. ,189.3, 195.8, 202.3, + NDArray expOutput('c', {bS, oW, oC}, {17.2, 16.8, 16.4, 16. ,43.3, 43.8, 44.3, 44.8,69.4, 70.8, 72.2, 73.6,106.5, 109.4, 112.3, 115.2,147.9, 152.6, 157.3, 162. ,189.3, 195.8, 202.3, 208.8,234.5, 243.4, 252.3, 261.2,280.4, 292. , 303.6, 315.2, 226. , 232.8, 239.6, 246.4, 252.1, 259.8, 267.5, 275.2,278.2, 286.8, 295.4, 304. ,437.7, 455. , 472.3, 489.6,479.1, 498.2, 517.3, 536.4,520.5, 541.4, 562.3, 583.2, 601.7, 632.2, 662.7, 693.2, 647.6, 680.8, 714. , 747.2}); @@ -1062,11 +1062,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_5) { int paddingMode = 2; // CAUSAL int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input( {bS, iC, iW}); - NDArray weights( {kW, iC, oC}); - NDArray bias( {oC}, {-1,-2,-3,-4}); + NDArray input('c', {bS, iC, iW}); + NDArray weights('c', {kW, iC, oC}); + NDArray bias('c', {oC}, {-1,-2,-3,-4}); - NDArray expOutput( {bS, oC, oW}, { 83.7, 92.4, 101.1, 162.1, 175.9, 189.7, 223.4, 238.7,85.4, 94.4, 103.4, 167.4, 181.8, 196.2, 233.2, 249.4,87.1, 96.4, 105.7, 172.7, 187.7, 202.7, 243. , 260.1, + NDArray expOutput('c', {bS, oC, oW}, { 83.7, 92.4, 101.1, 162.1, 175.9, 189.7, 223.4, 238.7,85.4, 94.4, 103.4, 167.4, 181.8, 196.2, 233.2, 249.4,87.1, 96.4, 105.7, 172.7, 187.7, 202.7, 243. , 260.1, 88.8, 98.4, 108. , 178. , 193.6, 209.2, 252.8, 270.8, 292.5, 301.2, 309.9, 493.3, 507.1, 520.9, 590.6, 605.9, 301.4, 310.4, 319.4, 513. , 527.4, 541.8, 622. , 638.2, 310.3, 319.6, 328.9, 532.7, 547.7, 562.7, 653.4, 670.5, 319.2, 328.8, 338.4, 552.4, 568. , 583.6, 684.8, 702.8}); @@ -1092,11 +1092,11 @@ TEST_F(ConvolutionTests1, conv1d_causal_6) { int paddingMode = 2; // CAUSAL int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input( {bS, iC, iW}); - NDArray weights( {kW, iC, oC}); - NDArray bias( {oC}, {-1,-2,-3,-4}); + NDArray input('c', {bS, iC, iW}); + NDArray weights('c', {kW, iC, oC}); + NDArray bias('c', {oC}, {-1,-2,-3,-4}); - NDArray expOutput( {bS, oC, oW}, {159.7,335.3,381.2,427.1,473. ,518.9,163.8,351.4,400. ,448.6,497.2,545.8,167.9,367.5,418.8,470.1,521.4,572.7,172. ,383.6,437.6,491.6,545.6,599.6, + NDArray expOutput('c', {bS, oC, oW}, {159.7,335.3,381.2,427.1,473. ,518.9,163.8,351.4,400. ,448.6,497.2,545.8,167.9,367.5,418.8,470.1,521.4,572.7,172. ,383.6,437.6,491.6,545.6,599.6, 577.3, 1069.7, 1115.6, 1161.5, 1207.4, 1253.3,595.8, 1129. , 1177.6, 1226.2, 1274.8, 1323.4,614.3, 1188.3, 1239.6, 1290.9, 1342.2, 1393.5, 632.8, 1247.6, 1301.6, 1355.6, 1409.6, 1463.6}); @@ -1122,10 +1122,10 @@ TEST_F(ConvolutionTests1, conv1d_causal_7) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input( {bS, iW, iC}, sd::DataType::FLOAT32); - NDArray weights( {kW, iC, oC}, sd::DataType::FLOAT32); + NDArray input('c', {bS, iW, iC}, sd::DataType::FLOAT32); + NDArray weights('c', {kW, iC, oC}, sd::DataType::FLOAT32); - NDArray expOutput( {bS, oW, oC}, {11.000000, 11.600000, 12.200000, 12.800000, 30.099998, 32.200001, 34.299999, 36.400002, 49.899998, 53.800003, 57.699997, + NDArray expOutput('c', {bS, oW, oC}, {11.000000, 11.600000, 12.200000, 12.800000, 30.099998, 32.200001, 34.299999, 36.400002, 49.899998, 53.800003, 57.699997, 61.599998, 69.699997, 75.400002, 81.099998, 86.800003, 89.500000, 97.000000, 104.500000, 112.000000, 109.300003, 118.600006, 127.899994, 137.199997, 129.100006, 140.199997, 151.300003, 162.399994, 148.899994, 161.800003, 174.699997, 187.600006, 133.399994, 141.200012, 149.000000, 156.800003, 188.500000, 205.000000, 221.500000, 238.000000, 208.299988, 226.600006, 244.899994, 263.200012, 228.100006, 248.200012, 268.299988, 288.399994, 247.899994, 269.799988, 291.700012, @@ -1153,10 +1153,10 @@ TEST_F(ConvolutionTests1, conv1d_causal_8) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input( {bS, iW, iC}, sd::DataType::FLOAT32); - NDArray weights( {kW, iC, oC}, sd::DataType::FLOAT32); + NDArray input('c', {bS, iW, iC}, sd::DataType::FLOAT32); + NDArray weights('c', {kW, iC, oC}, sd::DataType::FLOAT32); - NDArray expOutput( {bS, oW, oC}, {11.000000, 11.600000, 12.200000, 12.800000, 26.299999, 27.799999, 29.299999, 30.799999, 45.399998, 48.399998, + NDArray expOutput('c', {bS, oW, oC}, {11.000000, 11.600000, 12.200000, 12.800000, 26.299999, 27.799999, 29.299999, 30.799999, 45.399998, 48.399998, 51.400002, 54.400005, 65.199997, 70.000000, 74.800003, 79.600006, 85.000000, 91.600006, 98.199997, 104.800003, 104.799995, 113.199997, 121.600006, 130.000000, 124.599998, 134.800003, 145.000000, 155.200012, 144.399994, 156.399994, 168.399994, 180.400009, 133.400009, 141.199997, 149.000000, 156.800003, 148.699997, 157.400009, 166.099991, 174.800003, 203.800003, 221.200012, 238.599991, 256.000000, 223.599991, 242.799988, 262.000000, @@ -1185,10 +1185,10 @@ TEST_F(ConvolutionTests1, conv1d_causal_bp_1) { int paddingMode = 2; // CAUSAL int dataFormat = 1; // 1-NHWC, 0-NCHW - NDArray input( {bS, iW, iC}); - NDArray weights( {kW, iC, oC}); - NDArray bias( {oC}, {-1,-2,-3}); - NDArray gradO( {bS, oW, oC}); + NDArray input('c', {bS, iW, iC}); + NDArray weights('c', {kW, iC, oC}); + NDArray bias('c', {oC}, {-1,-2,-3}); + NDArray gradO('c', {bS, oW, oC}); input.linspace(1., 1.); weights.linspace(0.1, 0.1); @@ -1206,9 +1206,9 @@ TEST_F(ConvolutionTests1, conv1d_causal_bp_1) { } TEST_F(ConvolutionTests1, Test_Dilation2D_1) { - auto input = NDArrayFactory::create( {2, 6, 6, 3}); - auto weights = NDArrayFactory::create( {3, 2, 3}); - auto exp = NDArrayFactory::create( {2, 3, 3, 3}, {77, 79, 81, 83, 85, 87, 80, 82, 84, 113, 115, 117, 119, 121, 123, 116, 118, 120, 107, 109, 111, 113, 115, 117, 110, 112, 114, 185, 187, 189, 191, 193, 195, 188, 190, 192, 221, 223, 225, 227, 229, 231, 224, 226, 228, 215, 217, 219, 221, 223, 225, 218, 220, 222,}); + auto input = NDArrayFactory::create({2, 6, 6, 3}); + auto weights = NDArrayFactory::create({3, 2, 3}); + auto exp = NDArrayFactory::create({2, 3, 3, 3}, {77, 79, 81, 83, 85, 87, 80, 82, 84, 113, 115, 117, 119, 121, 123, 116, 118, 120, 107, 109, 111, 113, 115, 117, 110, 112, 114, 185, 187, 189, 191, 193, 195, 188, 190, 192, 221, 223, 225, 227, 229, 231, 224, 226, 228, 215, 217, 219, 221, 223, 225, 218, 220, 222,}); input.linspace(1); weights.linspace(1); @@ -1224,9 +1224,9 @@ TEST_F(ConvolutionTests1, Test_Dilation2D_1) { } TEST_F(ConvolutionTests1, Test_Dilation2D_2) { - auto input = NDArrayFactory::create( {2, 6, 6, 3}); - auto weights = NDArrayFactory::create( {3, 2, 3}); - auto exp = NDArrayFactory::create( {2, 1, 2, 3}, {95, 97, 99, 101, 103, 105, 203, 205, 207, 209, 211, 213}); + auto input = NDArrayFactory::create({2, 6, 6, 3}); + auto weights = NDArrayFactory::create({3, 2, 3}); + auto exp = NDArrayFactory::create({2, 1, 2, 3}, {95, 97, 99, 101, 103, 105, 203, 205, 207, 209, 211, 213}); input.linspace(1); weights.linspace(1); @@ -1250,17 +1250,17 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_bp_test1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create( {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); - auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create( {bS, oH, oW, oC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto weights = NDArrayFactory::create({kH, kW, iC, oC}); + auto bias = NDArrayFactory::create({oC}, {1,2,3}); + auto gradO = NDArrayFactory::create({bS, oH, oW, oC}); - auto expGradI = NDArrayFactory::create( {bS, iH, iW, iC},{ 0.226f, 0.343f, 0.46f, 0.577f, 1.172f, 1.46f, 1.748f, 2.036f, 1.892f, 2.288f, 2.684f, 3.08f, 1.284f, 1.581f, 1.878f, 2.175f, 4.458f, 5.133f, 5.808f, 6.483f, 6.186f, 7.023f, 7.86f, 8.697f, + auto expGradI = NDArrayFactory::create({bS, iH, iW, iC},{ 0.226f, 0.343f, 0.46f, 0.577f, 1.172f, 1.46f, 1.748f, 2.036f, 1.892f, 2.288f, 2.684f, 3.08f, 1.284f, 1.581f, 1.878f, 2.175f, 4.458f, 5.133f, 5.808f, 6.483f, 6.186f, 7.023f, 7.86f, 8.697f, 3.39f, 3.93f, 4.47f, 5.01f, 9.642f, 10.803f, 11.964f, 13.125f,11.37f, 12.693f, 14.016f, 15.339f, 5.266f, 5.707f, 6.148f, 6.589f,12.98f, 13.916f, 14.852f, 15.788f,14.564f, 15.608f, 16.652f, 17.696f, 3.25f, 4.015f, 4.78f, 5.545f, 9.812f, 11.396f, 12.98f, 14.564f,10.532f, 12.224f, 13.916f, 15.608f, 9.708f, 10.977f, 12.246f, 13.515f,25.194f, 27.813f, 30.432f, 33.051f,26.922f, 29.703f, 32.484f, 35.265f, 11.814f, 13.326f, 14.838f, 16.35f,30.378f, 33.483f, 36.588f, 39.693f,32.106f, 35.373f, 38.64f, 41.907f,13.474f, 14.563f, 15.652f, 16.741f,31.988f, 34.22f, 36.452f, 38.684f,33.572f, 35.912f, 38.252f, 40.592f}); - auto expGradW = NDArrayFactory::create( {kH, kW, iC, oC},{14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, + auto expGradW = NDArrayFactory::create({kH, kW, iC, oC},{14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f,14.4f, 14.76f, 15.12f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 9.24f, 9.48f, 9.72f, 17.04f, 17.52f, 18.f,17.04f, 17.52f, 18.f, 17.04f, 17.52f, 18.f, 17.04f, 17.52f, 18.f,10.88f, 11.2f, 11.52f,10.88f, 11.2f, 11.52f,10.88f, 11.2f, 11.52f,10.88f, 11.2f, 11.52f, 11.16f, 11.52f, 11.88f,11.16f, 11.52f, 11.88f,11.16f, 11.52f, 11.88f,11.16f, 11.52f, 11.88f, 7.08f, 7.32f, 7.56f, 7.08f, 7.32f, 7.56f, 7.08f, 7.32f, 7.56f, 7.08f, 7.32f, 7.56f}); // auto expGradB('c', {oC},{}); @@ -1292,17 +1292,17 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_bp_test2) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create( {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create( {kH, kW, iC, oC}); - auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create( {bS, oH, oW, oC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto weights = NDArrayFactory::create({kH, kW, iC, oC}); + auto bias = NDArrayFactory::create({oC}, {1,2,3}); + auto gradO = NDArrayFactory::create({bS, oH, oW, oC}); - auto expGradI = NDArrayFactory::create( {bS, iH, iW, iC},{ 0.014f, 0.032f, 0.05f, 0.068f,0.118f,0.181f, 0.244f, 0.307f,0.212f,0.257f, 0.302f, 0.347f,0.208f,0.298f, 0.388f, 0.478f,1.028f,1.262f, 1.496f, 1.73f,1.036f,1.18f, 1.324f, 1.468f, + auto expGradI = NDArrayFactory::create({bS, iH, iW, iC},{ 0.014f, 0.032f, 0.05f, 0.068f,0.118f,0.181f, 0.244f, 0.307f,0.212f,0.257f, 0.302f, 0.347f,0.208f,0.298f, 0.388f, 0.478f,1.028f,1.262f, 1.496f, 1.73f,1.036f,1.18f, 1.324f, 1.468f, 0.928f,1.018f, 1.108f, 1.198f,2.9f,3.134f, 3.368f, 3.602f,2.188f,2.332f, 2.476f, 2.62f, 1.202f,1.274f, 1.346f, 1.418f,3.142f,3.313f, 3.484f, 3.655f,2.048f,2.147f, 2.246f, 2.345f, 0.086f,0.212f, 0.338f, 0.464f,0.694f,0.973f, 1.252f, 1.531f,0.716f,0.869f, 1.022f, 1.175f,1.216f,1.522f, 1.828f, 2.134f,3.908f,4.574f, 5.24f, 5.906f,2.908f,3.268f, 3.628f, 3.988f, 3.664f,3.97f, 4.276f, 4.582f,9.236f,9.902f,10.568f,11.234f,5.788f,6.148f, 6.508f, 6.868f,3.002f,3.182f, 3.362f, 3.542f,7.174f,7.561f, 7.948f, 8.335f,4.28f,4.487f, 4.694f, 4.901f}); - auto expGradW = NDArrayFactory::create( {kH, kW, iC, oC},{1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f, + auto expGradW = NDArrayFactory::create({kH, kW, iC, oC},{1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f, 1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f, 1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f,1.84f, 2.f, 2.16f}); // auto expGradB( {oC},{}); @@ -1332,21 +1332,21 @@ TYPED_TEST(TypedConvolutionTests1, conv2d_bp_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create( {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create( {oC, iC, kH, kW}); - auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create( {bS, oC, oH, oW}); + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto weights = NDArrayFactory::create({oC, iC, kH, kW}); + auto bias = NDArrayFactory::create({oC}, {1,2,3}); + auto gradO = NDArrayFactory::create({bS, oC, oH, oW}); - auto expGradI = NDArrayFactory::create( {bS, iC, iH, iW},{ 0.567f, 1.224f, 0.66f, 1.314f, 2.82f, 1.512f, 1.386f, 2.976f, 1.596f, 0.801f, 1.71f, 0.912f, 0.657f, 1.422f, 0.768f, 1.53f, 3.288f, 1.764f, 1.602f, 3.444f, 1.848f, 0.927f, 1.98f, 1.056f, + auto expGradI = NDArrayFactory::create({bS, iC, iH, iW},{ 0.567f, 1.224f, 0.66f, 1.314f, 2.82f, 1.512f, 1.386f, 2.976f, 1.596f, 0.801f, 1.71f, 0.912f, 0.657f, 1.422f, 0.768f, 1.53f, 3.288f, 1.764f, 1.602f, 3.444f, 1.848f, 0.927f, 1.98f, 1.056f, 0.747f, 1.62f, 0.876f, 1.746f, 3.756f, 2.016f, 1.818f, 3.912f, 2.1f, 1.053f, 2.25f, 1.2f, 0.837f, 1.818f, 0.984f, 1.962f, 4.224f, 2.268f, 2.034f, 4.38f, 2.352f, 1.179f, 2.52f, 1.344f, 1.467f, 3.06f, 1.596f, 3.186f, 6.636f, 3.456f, 3.402f, 7.08f, 3.684f, 1.845f, 3.834f, 1.992f, 1.773f, 3.69f, 1.92f, 3.834f, 7.968f, 4.14f, 4.05f, 8.412f, 4.368f, 2.187f, 4.536f, 2.352f, 2.079f, 4.32f, 2.244f, 4.482f, 9.3f, 4.824f, 4.698f, 9.744f, 5.052f, 2.529f, 5.238f, 2.712f, 2.385f, 4.95f, 2.568f, 5.13f, 10.632f, 5.508f, 5.346f, 11.076f, 5.736f, 2.871f, 5.94f, 3.072f}); - auto expGradW = NDArrayFactory::create( {oC, iC, kH, kW},{1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, + auto expGradW = NDArrayFactory::create({oC, iC, kH, kW},{1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 1.3600e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.0000e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f, 2.6400e+00f}); - auto expGradB = NDArrayFactory::create( {oC},{0.68f, 1.f, 1.32f}); + auto expGradB = NDArrayFactory::create({oC},{0.68f, 1.f, 1.32f}); input = 2.; weights.linspace(0.1, 0.1); @@ -1380,14 +1380,14 @@ TEST_F(ConvolutionTests1, conv2d_bp_4) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray weights( {kH, kW, iC, oC}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {1,2,3}, sd::DataType::FLOAT32); - NDArray gradO( {bS, oC, oH, oW}, sd::DataType::FLOAT32); + NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray weights('c', {kH, kW, iC, oC}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {1,2,3}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, oC, oH, oW}, sd::DataType::FLOAT32); - NDArray gradI( {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray gradW( {kH, kW, iC, oC}, sd::DataType::FLOAT32); - NDArray gradB( {oC}, sd::DataType::FLOAT32); + NDArray gradI('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray gradW('c', {kH, kW, iC, oC}, sd::DataType::FLOAT32); + NDArray gradB('c', {oC}, sd::DataType::FLOAT32); input = 2.; @@ -1409,24 +1409,24 @@ TEST_F(ConvolutionTests1, conv2d_bp_5) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kH, kW, iC, oC], 1-[oC, iC, kH, kW], 2-[oC, kH, kW, iC] - NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray weights( {oC, iC, kH, kW}, {3.6, 2.4, 1.2, 0.0, -1.2, -2.4, 3.3, 2.1, 0.9, -0.3, -1.5, -2.7, 3.0, 1.8, 0.6, -0.6, -1.8, -3.0, 2.7, 1.5, 0.3, -0.9, -2.1, -3.3, 3.5, 2.3, 1.1, -0.1, -1.3, -2.5, 3.2, 2.0, 0.8, -0.4, -1.6, -2.8, 2.9, 1.7, 0.5, -0.7, -1.9, -3.1, 2.6, 1.4, 0.2, -1.0, -2.2, -3.4, 3.4, 2.2, 1.0, -0.2, -1.4, -2.6, 3.1, 1.9, 0.7, -0.5, -1.7, -2.9, 2.8, 1.6, 0.4, -0.8, -2.0, -3.2, 2.5, 1.3, 0.1, -1.1, -2.3, -3.5}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); - NDArray gradO( {bS, oC, oH, oW}, sd::DataType::FLOAT32); + NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray weights('c', {oC, iC, kH, kW}, {3.6, 2.4, 1.2, 0.0, -1.2, -2.4, 3.3, 2.1, 0.9, -0.3, -1.5, -2.7, 3.0, 1.8, 0.6, -0.6, -1.8, -3.0, 2.7, 1.5, 0.3, -0.9, -2.1, -3.3, 3.5, 2.3, 1.1, -0.1, -1.3, -2.5, 3.2, 2.0, 0.8, -0.4, -1.6, -2.8, 2.9, 1.7, 0.5, -0.7, -1.9, -3.1, 2.6, 1.4, 0.2, -1.0, -2.2, -3.4, 3.4, 2.2, 1.0, -0.2, -1.4, -2.6, 3.1, 1.9, 0.7, -0.5, -1.7, -2.9, 2.8, 1.6, 0.4, -0.8, -2.0, -3.2, 2.5, 1.3, 0.1, -1.1, -2.3, -3.5}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, oC, oH, oW}, sd::DataType::FLOAT32); - NDArray expGradI( {bS, iC, iH, iW},{0.517, 0.959, 0.406, 0.884, 1.474, 0.518, 0.020, -0.398, -0.490, -0.281, -0.853, -0.608, 0.472, 0.860, 0.352, 0.776, 1.240, + NDArray expGradI('c', {bS, iC, iH, iW},{0.517, 0.959, 0.406, 0.884, 1.474, 0.518, 0.020, -0.398, -0.490, -0.281, -0.853, -0.608, 0.472, 0.860, 0.352, 0.776, 1.240, 0.392, -0.088, -0.632, -0.616, -0.344, -0.988, -0.680, 0.427, 0.761, 0.298, 0.668, 1.006, 0.266, -0.196, -0.866, -0.742, -0.407, -1.123, -0.752, 0.382, 0.662, 0.244, 0.560, 0.772, 0.140, -0.304, -1.100, -0.868, -0.470, -1.258, -0.824, 1.777, 3.047, 1.234, 2.540, 3.922, 1.310, -0.052, -1.406, -1.426, -0.749, -2.221, -1.508, 1.624, 2.732, 1.072, 2.216, 3.256, 0.968, -0.376, -2.072, -1.768, -0.920, -2.572, -1.688, 1.471, 2.417, 0.910, 1.892, 2.590, 0.626, -0.700, -2.738, -2.110, -1.091, -2.923, -1.868, 1.318, 2.102, 0.748, 1.568, 1.924, 0.284, -1.024, -3.404, -2.452, -1.262, -3.274, -2.048}, sd::DataType::FLOAT32); - NDArray expGradW( {oC, iC, kH, kW},{-3.3, -2.62, -1.26, -0.58, 0.78, 1.46, 4.86, 5.54, 6.9, 7.58, 8.940001, 9.619999, 13.02, 13.700001, 15.06, 15.74, 17.1, + NDArray expGradW('c', {oC, iC, kH, kW},{-3.3, -2.62, -1.26, -0.58, 0.78, 1.46, 4.86, 5.54, 6.9, 7.58, 8.940001, 9.619999, 13.02, 13.700001, 15.06, 15.74, 17.1, 17.780001, 21.18, 21.860001, 23.219999, 23.900002, 25.259998, 25.940001, -10.340001, -9.34, -7.339999, -6.34, -4.339999, -3.339999, 1.66, 2.66, 4.660001, 5.660001, 7.66, 8.66, 13.66, 14.660001, 16.66, 17.66, 19.66, 20.66, 25.66, 26.66, 28.66, 29.66, 31.66, 32.66, -17.380001, -16.059999, -13.420003, -12.099999, -9.46, -8.139999, -1.540001, -0.219999, 2.419999, 3.739999, 6.379999, 7.7, 14.299999, 15.62, 18.26, 19.58, 22.219999, 23.539999, 30.139999, 31.459999, 34.099998, 35.419998, 38.060001, 39.380001}, sd::DataType::FLOAT32); - NDArray expGradB( {oC}, {0.68, 1., 1.32}, sd::DataType::FLOAT32); + NDArray expGradB('c', {oC}, {0.68, 1., 1.32}, sd::DataType::FLOAT32); input.linspace(-48, 1); // weights.linspace(3.6, -0.1); @@ -1459,24 +1459,24 @@ TEST_F(ConvolutionTests1, conv2d_bp_6) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kH, kW, iC, oC], 1-[oC, iC, kH, kW], 2-[oC, kH, kW, iC] - NDArray input( {bS, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights( {oC, kH, kW, iC}, {3.6, 0.0, 3.3, -0.3, 3.0, -0.6, 2.7, -0.9, 3.5, -0.1, 3.2, -0.4, 2.9, -0.7, 2.6, -1.0, 3.4, -0.2, 3.1, -0.5, 2.8, -0.8, 2.5, -1.1, 2.4, -1.2, 2.1, -1.5, 1.8, -1.8, 1.5, -2.1, 2.3, -1.3, 2.0, -1.6, 1.7, -1.9, 1.4, -2.2, 2.2, -1.4, 1.9, -1.7, 1.6, -2.0, 1.3, -2.3, 1.2, -2.4, 0.9, -2.7, 0.6, -3.0, 0.3, -3.3, 1.1, -2.5, 0.8, -2.8, 0.5, -3.1, 0.2, -3.4, 1.0, -2.6, 0.7, -2.9, 0.4, -3.2, 0.1, -3.5}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); - NDArray gradO( {bS, oH, oW, oC}, sd::DataType::FLOAT32); + NDArray input('c', {bS, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights('c', {oC, kH, kW, iC}, {3.6, 0.0, 3.3, -0.3, 3.0, -0.6, 2.7, -0.9, 3.5, -0.1, 3.2, -0.4, 2.9, -0.7, 2.6, -1.0, 3.4, -0.2, 3.1, -0.5, 2.8, -0.8, 2.5, -1.1, 2.4, -1.2, 2.1, -1.5, 1.8, -1.8, 1.5, -2.1, 2.3, -1.3, 2.0, -1.6, 1.7, -1.9, 1.4, -2.2, 2.2, -1.4, 1.9, -1.7, 1.6, -2.0, 1.3, -2.3, 1.2, -2.4, 0.9, -2.7, 0.6, -3.0, 0.3, -3.3, 1.1, -2.5, 0.8, -2.8, 0.5, -3.1, 0.2, -3.4, 1.0, -2.6, 0.7, -2.9, 0.4, -3.2, 0.1, -3.5}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, oH, oW, oC}, sd::DataType::FLOAT32); - NDArray expGradI( {bS, iH, iW, iC}, {0.882, -0.522, 0.765, -0.639, 1.953, -1.503, 1.665, -1.791, 2.691, -2.061, 2.295, -2.457, 2.259, -1.305, 1.962, -1.602, 4.545, + NDArray expGradI('c', {bS, iH, iW, iC}, {0.882, -0.522, 0.765, -0.639, 1.953, -1.503, 1.665, -1.791, 2.691, -2.061, 2.295, -2.457, 2.259, -1.305, 1.962, -1.602, 4.545, -3.555, 3.870, -4.230, 5.625, -4.419, 4.788, -5.256001, 4.122, -2.358, 3.582, -2.898, 7.785, -6.147, 6.624, -7.308, 8.865, -7.011, 7.541999, -8.334, 3.273, -2.019, 2.832, -2.460, 6.069, -5.163, 5.133, -6.099, 6.771, -5.757, 5.727, -6.801, 5.958, -3.222, 5.193, -3.987, 10.809, -8.198999, 9.225, -9.783, 11.547, -8.757, 9.855, -10.448999, 9.711, -5.517, 8.441999, -6.786, 17.505001, -13.922999, 14.886, -16.542, 18.585001, -14.787001, 15.804001, -17.568001, 11.574, -6.570, 10.062, -8.082, 20.745001, -16.514999, 17.639999, -19.619999, 21.825001, -17.379002, 18.558001, -20.646, 8.133, -4.935, 7.044, -6.024, 14.492998, -12.291, 12.261, -14.523001, 15.195001, -12.885, 12.855, -15.225}, sd::DataType::FLOAT32); - NDArray expGradW( {oC, kH, kW, iC},{34.559998, 41.760010, 48.959999, 56.160004, 33.119999, 37.739998, 42.360001, 46.979996, 120.960007, 129.480011, 138.0, 146.519989, + NDArray expGradW('c', {oC, kH, kW, iC},{34.559998, 41.760010, 48.959999, 56.160004, 33.119999, 37.739998, 42.360001, 46.979996, 120.960007, 129.480011, 138.0, 146.519989, 91.200005, 96.639999, 102.079994, 107.520004, 114.479996, 120.059998, 125.639999, 131.220001, 82.080002, 85.620003, 89.160004, 92.699997, 33.120003, 40.499996, 47.879993, 55.260002, 32.399998, 37.139996, 41.880001, 46.620003, 120.479988, 129.240005, 137.999985, 146.759995, 91.199997, 96.799995, 102.399994, 108.0, 115.199989, 120.959999, 126.720001, 132.479996, 82.799995, 86.460007, 90.119995, 93.779999, 31.679998, 39.239994, 46.800003, 54.359997, 31.680000, 36.540001, 41.400002, 46.260002, 120.0, 129.0, 138.0, 147.0, 91.200005, 96.960007, 102.720001, 108.480003, 115.919998, 121.860001, 127.799988, 133.740005, 83.520004, 87.300003, 91.080002, 94.860001}, sd::DataType::FLOAT32); - NDArray expGradB( {oC}, {8.520, 8.760, 9.}, sd::DataType::FLOAT32); + NDArray expGradB('c', {oC}, {8.520, 8.760, 9.}, sd::DataType::FLOAT32); input.linspace(-48, 1); gradO.linspace(0.01, 0.01); @@ -1507,12 +1507,12 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create( {bS, oD, oH, oW, oC}); + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create({oC}, {1,2,3}); + auto gradO = NDArrayFactory::create({bS, oD, oH, oW, oC}); - auto expGradI = NDArrayFactory::create( {bS, iD, iH, iW, iC},{0.226f, 0.343f, 0.46f, 0.577f, 1.172f, 1.46f, 1.748f, 2.036f, 1.892f, 2.288f, 2.684f, 3.08f, 1.284f, 1.581f, 1.878f, 2.175f, 4.458f, 5.133f, 5.808f, 6.483f, 6.186f, 7.023f, 7.86f, 8.697f, 3.39f, 3.93f, 4.47f, 5.01f, 9.642f, 10.803f, 11.964f, 13.125f, 11.37f, 12.693f, 14.016f, 15.339f, + auto expGradI = NDArrayFactory::create({bS, iD, iH, iW, iC},{0.226f, 0.343f, 0.46f, 0.577f, 1.172f, 1.46f, 1.748f, 2.036f, 1.892f, 2.288f, 2.684f, 3.08f, 1.284f, 1.581f, 1.878f, 2.175f, 4.458f, 5.133f, 5.808f, 6.483f, 6.186f, 7.023f, 7.86f, 8.697f, 3.39f, 3.93f, 4.47f, 5.01f, 9.642f, 10.803f, 11.964f, 13.125f, 11.37f, 12.693f, 14.016f, 15.339f, 5.266f, 5.707f, 6.148f, 6.589f, 12.98f, 13.916f, 14.852f, 15.788f, 14.564f, 15.608f, 16.652f, 17.696f, 6.284f, 7.166f, 8.048f, 8.93f, 17.896f, 19.768f, 21.64f, 23.512f, 21.928f, 24.016f, 26.104f, 28.192f, 18.12f, 19.686f, 21.252f, 22.818f, 45.852f, 49.146f, 52.44f, 55.734f, 53.196f, 56.814f, 60.432f, 64.05f, 28.164f, 30.216f, 32.268f, 34.32f, 67.884f, 72.15f, 76.416f, 80.682f, 75.228f, 79.818f, 84.408f, 88.998f, 29.324f, 30.854f, 32.384f, 33.914f, 67.432f, 70.6f, 73.768f, 76.936f, 73.192f, 76.576f, 79.96f, 83.344f, 27.884f, 30.062f, 32.24f, 34.418f, 66.28f, 70.744f, 75.208f, 79.672f, 70.312f, 74.992f, 79.672f, 84.352f, 58.296f, 61.806f, 65.316f, 68.826f, 133.98f, 141.162f, 148.344f, 155.526f, 141.324f, 148.83f, 156.336f, 163.842f, 68.34f, 72.336f, 76.332f, 80.328f, 156.012f, 164.166f, 172.32f, 180.474f, 163.356f, 171.834f, 180.312f, 188.79f, 61.292f, 64.118f, 66.944f, 69.77f, 136.552f, 142.312f, 148.072f, 153.832f, 142.312f, 148.288f, 154.264f, 160.24f, @@ -1521,7 +1521,7 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test1) { 148.692f, 156.576f, 164.46f, 172.344f, 332.268f, 348.198f, 364.128f, 380.058f, 339.612f, 355.866f, 372.12f, 388.374f, 125.228f, 130.646f, 136.064f, 141.482f, 274.792f, 285.736f, 296.68f, 307.624f, 280.552f, 291.712f, 302.872f, 314.032f, 92.684f, 98.75f, 104.816f, 110.882f, 211.432f, 223.672f, 235.912f, 248.152f, 215.464f, 227.92f, 240.376f, 252.832f, 178.824f, 188.166f, 197.508f, 206.85f, 398.364f, 417.21f, 436.056f, 454.902f, 405.708f, 424.878f, 444.048f, 463.218f, 188.868f, 198.696f, 208.524f, 218.352f, 420.396f, 440.214f, 460.032f, 479.85f, 427.74f, 447.882f, 468.024f, 488.166f, 157.196f, 163.91f, 170.624f, 177.338f, 343.912f, 357.448f, 370.984f, 384.52f, 349.672f, 363.424f, 377.176f, 390.928f}); - auto expGradW = NDArrayFactory::create( {kD, kH, kW, iC, oC},{120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, + auto expGradW = NDArrayFactory::create({kD, kH, kW, iC, oC},{120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 120.96f, 122.04f, 123.12f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 79.56f, 80.28f, 81.f, 154.8f, 156.24f, 157.68f, 154.8f, 156.24f, 157.68f, 154.8f, 156.24f, 157.68f, 154.8f, 156.24f, 157.68f, 101.76f, 102.72f, 103.68f, 101.76f, 102.72f, 103.68f, 101.76f, 102.72f, 103.68f, 101.76f, 102.72f, 103.68f, 111.24f, 112.32f, 113.4f, 111.24f, 112.32f, 113.4f, 111.24f, 112.32f, 113.4f, 111.24f, 112.32f, 113.4f, 73.08f, 73.8f, 74.52f, 73.08f, 73.8f, 74.52f, 73.08f, 73.8f, 74.52f, 73.08f, 73.8f, 74.52f, 67.68f, 68.4f, 69.12f, 67.68f, 68.4f, 69.12f, 67.68f, 68.4f, 69.12f, 67.68f, 68.4f, 69.12f, 44.4f, 44.88f, 45.36f, 44.4f, 44.88f, 45.36f, 44.4f, 44.88f, 45.36f, 44.4f, 44.88f, 45.36f, @@ -1557,12 +1557,12 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test2) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create( {bS, oD, oH, oW, oC}); + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create({oC}, {1,2,3}); + auto gradO = NDArrayFactory::create({bS, oD, oH, oW, oC}); - auto expGradI = NDArrayFactory::create( {bS, iD, iH, iW, iC},{ 0.014f, 0.032f, 0.05f, 0.068f, 0.118f, 0.181f, 0.244f, 0.307f, 0.212f, 0.257f, 0.302f, 0.347f, 0.208f, 0.298f, 0.388f, 0.478f, 1.028f, 1.262f, 1.496f, 1.73f, 1.036f, 1.18f, 1.324f, 1.468f, 0.928f, 1.018f, 1.108f, 1.198f, 2.9f, 3.134f, 3.368f, 3.602f, 2.188f, 2.332f, 2.476f, 2.62f, + auto expGradI = NDArrayFactory::create({bS, iD, iH, iW, iC},{ 0.014f, 0.032f, 0.05f, 0.068f, 0.118f, 0.181f, 0.244f, 0.307f, 0.212f, 0.257f, 0.302f, 0.347f, 0.208f, 0.298f, 0.388f, 0.478f, 1.028f, 1.262f, 1.496f, 1.73f, 1.036f, 1.18f, 1.324f, 1.468f, 0.928f, 1.018f, 1.108f, 1.198f, 2.9f, 3.134f, 3.368f, 3.602f, 2.188f, 2.332f, 2.476f, 2.62f, 1.202f, 1.274f, 1.346f, 1.418f, 3.142f, 3.313f, 3.484f, 3.655f, 2.048f, 2.147f, 2.246f, 2.345f, 0.532f, 0.676f, 0.82f, 0.964f, 2.324f, 2.666f, 3.008f, 3.35f, 2.008f, 2.206f, 2.404f, 2.602f, 3.584f, 3.98f, 4.376f, 4.772f, 10.552f, 11.452f, 12.352f, 13.252f, 7.4f, 7.904f, 8.408f, 8.912f, 6.752f, 7.148f, 7.544f, 7.94f, 17.752f, 18.652f, 19.552f, 20.452f, 11.432f, 11.936f, 12.44f, 12.944f, 5.932f, 6.184f, 6.436f, 6.688f, 14.42f, 14.978f, 15.536f, 16.094f, 8.704f, 9.01f, 9.316f, 9.622f, 3.11f, 3.236f, 3.362f, 3.488f, 7.39f, 7.669f, 7.948f, 8.227f, 4.388f, 4.541f, 4.694f, 4.847f, 8.56f, 8.866f, 9.172f, 9.478f, 19.892f, 20.558f, 21.224f, 21.89f, 11.548f, 11.908f, 12.268f, 12.628f, 11.008f, 11.314f, 11.62f, 11.926f, 25.22f, 25.886f, 26.552f, 27.218f, 14.428f, 14.788f, 15.148f, 15.508f, 7.322f, 7.502f, 7.682f, 7.862f, 16.462f, 16.849f, 17.236f, 17.623f, 9.248f, 9.455f, 9.662f, 9.869f, @@ -1571,7 +1571,7 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test2) { 28.064f, 29.324f, 30.584f, 31.844f, 63.832f, 66.46f, 69.088f, 71.716f, 36.2f, 37.568f, 38.936f, 40.304f, 18.316f, 19.f, 19.684f, 20.368f, 40.916f, 42.338f, 43.76f, 45.182f, 22.816f, 23.554f, 24.292f, 25.03f, 8.438f, 8.78f, 9.122f, 9.464f, 18.91f, 19.621f, 20.332f, 21.043f, 10.58f, 10.949f, 11.318f, 11.687f, 20.944f, 21.682f, 22.42f, 23.158f, 46.388f, 47.918f, 49.448f, 50.978f, 25.66f, 26.452f, 27.244f, 28.036f, 26.848f, 27.586f, 28.324f, 29.062f, 58.628f, 60.158f, 61.688f, 63.218f, 31.996f, 32.788f, 33.58f, 34.372f, 16.106f, 16.502f, 16.898f, 17.294f, 34.894f, 35.713f, 36.532f, 37.351f, 18.896f, 19.319f, 19.742f, 20.165f}); - auto expGradW = NDArrayFactory::create( {kD, kH, kW, iC, oC},{7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, + auto expGradW = NDArrayFactory::create({kD, kH, kW, iC, oC},{7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f, 7.52f, 7.84f, 8.16f}); @@ -1604,12 +1604,12 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create( {oC, iC, kD, kH, kW}); - auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto gradO = NDArrayFactory::create( {bS, oC, oD, oH, oW}); + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create({oC, iC, kD, kH, kW}); + auto bias = NDArrayFactory::create({oC}, {1,2,3}); + auto gradO = NDArrayFactory::create({bS, oC, oD, oH, oW}); - auto expGradI = NDArrayFactory::create( {bS, iC, iD, iH, iW},{2.091f, 4.356f, 2.268f, 4.53f, 9.42f, 4.896f, 4.65f, 9.672f, 5.028f, 2.517f, 5.226f, 2.712f, 4.932f, 10.242f, 5.316f, 10.62f, 22.02f, 11.412f, 10.908f, 22.62f, 11.724f, 5.868f, 12.15f, 6.288f, 2.913f, 6.03f, 3.12f, 6.234f, 12.888f, 6.66f, 6.402f, 13.236f, 6.84f, 3.423f, 7.068f, 3.648f, + auto expGradI = NDArrayFactory::create({bS, iC, iD, iH, iW},{2.091f, 4.356f, 2.268f, 4.53f, 9.42f, 4.896f, 4.65f, 9.672f, 5.028f, 2.517f, 5.226f, 2.712f, 4.932f, 10.242f, 5.316f, 10.62f, 22.02f, 11.412f, 10.908f, 22.62f, 11.724f, 5.868f, 12.15f, 6.288f, 2.913f, 6.03f, 3.12f, 6.234f, 12.888f, 6.66f, 6.402f, 13.236f, 6.84f, 3.423f, 7.068f, 3.648f, 2.415f, 5.04f, 2.628f, 5.25f, 10.932f, 5.688f, 5.37f, 11.184f, 5.82f, 2.913f, 6.054f, 3.144f, 5.724f, 11.898f, 6.18f, 12.348f, 25.62f, 13.284f, 12.636f, 26.22f, 13.596f, 6.804f, 14.094f, 7.296f, 3.381f, 7.002f, 3.624f, 7.242f, 14.976f, 7.74f, 7.41f, 15.324f, 7.92f, 3.963f, 8.184f, 4.224f, 2.739f, 5.724f, 2.988f, 5.97f, 12.444f, 6.48f, 6.09f, 12.696f, 6.612f, 3.309f, 6.882f, 3.576f, 6.516f, 13.554f, 7.044f, 14.076f, 29.22f, 15.156f, 14.364f, 29.82f, 15.468f, 7.74f, 16.038f, 8.304f, 3.849f, 7.974f, 4.128f, 8.25f, 17.064f, 8.82f, 8.418f, 17.412f, 9.f, 4.503f, 9.3f, 4.8f, 3.063f, 6.408f, 3.348f, 6.69f, 13.956f, 7.272f, 6.81f, 14.208f, 7.404f, 3.705f, 7.71f, 4.008f, 7.308f, 15.21f, 7.908f, 15.804f, 32.82f, 17.028f, 16.092f, 33.42f, 17.34f, 8.676f, 17.982f, 9.312f, 4.317f, 8.946f, 4.632f, 9.258f, 19.152f, 9.9f, 9.426f, 19.5f, 10.08f, 5.043f, 10.416f, 5.376f, @@ -1618,14 +1618,14 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test3) { 7.995f, 16.308f, 8.316f, 16.626f, 33.9f, 17.28f, 17.034f, 34.728f, 17.7f, 8.853f, 18.042f, 9.192f, 17.46f, 35.586f, 18.132f, 36.252f, 73.86f, 37.62f, 37.116f, 75.612f, 38.508f, 19.26f, 39.222f, 19.968f, 9.537f, 19.422f, 9.888f, 19.77f, 40.248f, 20.484f, 20.226f, 41.172f, 20.952f, 10.479f, 21.324f, 10.848f, 9.183f, 18.72f, 9.54f, 19.074f, 38.868f, 19.8f, 19.482f, 39.696f, 20.22f, 10.113f, 20.598f, 10.488f, 19.98f, 40.698f, 20.724f, 41.436f, 84.372f, 42.948f, 42.3f, 86.124f, 43.836f, 21.924f, 44.622f, 22.704f, 10.869f, 22.122f, 11.256f, 22.506f, 45.792f, 23.292f, 22.962f, 46.716f, 23.76f, 11.883f, 24.168f, 12.288f}); - auto expGradW = NDArrayFactory::create( {oC, iC, kD, kH, kW},{5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, + auto expGradW = NDArrayFactory::create({oC, iC, kD, kH, kW},{5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 5.28f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 7.84f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f, 10.4f}); - auto expGradB = NDArrayFactory::create( {oC},{2.64f, 3.92f, 5.2f}); + auto expGradB = NDArrayFactory::create({oC},{2.64f, 3.92f, 5.2f}); input = 2.; weights.linspace(0.1, 0.1); @@ -1649,8 +1649,6 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test3) { ASSERT_TRUE(expGradB.isSameShape(gradB)); ASSERT_TRUE(expGradB.equalsTo(gradB)); - - } ////////////////////////////////////////////////////////////////////// @@ -1662,29 +1660,29 @@ TEST_F(ConvolutionTests1, conv3d_bp_test4) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kD, kH, kW, iC, oC], 1-[oC, iC, kD, kH, kW], 2-[oC, kD, kH, kW, iC] - NDArray input( {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); - NDArray weights( {oC, iC, kD, kH, kW}, {7., 5.8, 4.6, 3.4, 2.2, 1., -0.2, -1.4, -2.6, -3.8, -5., -6.2, 6.7, 5.5, 4.3, 3.1, 1.9, 0.7, -0.5, -1.7, -2.9, -4.1, + NDArray input('c', {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); + NDArray weights('c', {oC, iC, kD, kH, kW}, {7., 5.8, 4.6, 3.4, 2.2, 1., -0.2, -1.4, -2.6, -3.8, -5., -6.2, 6.7, 5.5, 4.3, 3.1, 1.9, 0.7, -0.5, -1.7, -2.9, -4.1, -5.3, -6.5, 6.4, 5.2, 4., 2.8, 1.6, 0.4, -0.8, -2., -3.2, -4.4, -5.6, -6.8, 6.1, 4.9, 3.7, 2.5, 1.3, 0.1, -1.1, -2.3, -3.5, -4.7, -5.9, -7.1, 6.9, 5.7, 4.5, 3.3, 2.1, 0.9, -0.3, -1.5, -2.7, -3.9, -5.1, -6.3, 6.6, 5.4, 4.2, 3., 1.8, 0.6, -0.6, -1.8, -3., -4.2, -5.4, -6.6, 6.3, 5.1, 3.9, 2.7, 1.5, 0.3, -0.9, -2.1, -3.3, -4.5, -5.7, -6.9, 6., 4.8, 3.6, 2.4, 1.2, 0., -1.2, -2.4, -3.6, -4.8, -6., -7.2, 6.8, 5.6, 4.4, 3.2, 2., 0.8, -0.4, -1.6, -2.8, -4., -5.2, -6.4, 6.5, 5.3, 4.1, 2.9, 1.7, 0.5, -0.7, -1.9, -3.1, -4.3, -5.5, -6.7, 6.2, 5., 3.8, 2.6, 1.4, 0.2, -1., -2.2, -3.4, -4.6, -5.8, -7., 5.9, 4.7, 3.5, 2.3, 1.1, -0.1, -1.3, -2.5, -3.7, -4.9, -6.1, -7.3}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); - NDArray gradO( {bS, oC, oD, oH, oW}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, oC, oD, oH, oW}, sd::DataType::FLOAT32); - NDArray expGradI( {bS, iC, iD, iH, iW},{1.847, 3.577, 1.694, 3.460, 6.542, 3.010, 1.469, 2.677, 1.172, 3.226, 5.929999, 2.632, 5.408, 9.483999, 3.932, 1.894, + NDArray expGradI('c', {bS, iC, iD, iH, iW},{1.847, 3.577, 1.694, 3.460, 6.542, 3.010, 1.469, 2.677, 1.172, 3.226, 5.929999, 2.632, 5.408, 9.483999, 3.932, 1.894, 2.978, 1.012, 0.058, -0.694, -0.824, -1.504, -4.916, -3.556, -1.850, -4.798, -3.020, -1.069, -2.687, -1.654, -3.236, -7.714, -4.550, -2.311, -5.315, -3.040, 1.766, 3.406, 1.604, 3.280, 6.164, 2.812, 1.370, 2.470, 1.064, 3.028, 5.516, 2.416, 4.976, 8.584001, 3.464, 1.660, 2.492, 0.760, -0.140, -1.108, -1.040, -1.936, -5.816, -4.024, -2.084, -5.284, -3.272, -1.186, -2.930, -1.780, -3.488, -8.236, -4.820, -2.446, -5.594, -3.184, 1.685, 3.235, 1.514, 3.100, 5.786, 2.614, 1.271, 2.263, 0.956, 2.830, 5.102, 2.200, 4.544001, 7.683999, 2.996, 1.426, 2.006, 0.508, -0.338, -1.522, -1.256, -2.368, -6.716, -4.492, -2.318, -5.770, -3.524, -1.303, -3.173, -1.906, -3.740, -8.757999, -5.090, -2.581, -5.873, -3.328, 1.604, 3.064, 1.424, 2.920, 5.408, 2.416, 1.172, 2.056, 0.848, 2.632, 4.688, 1.984, 4.112, 6.784, 2.528, 1.192, 1.520, 0.256, -0.536, -1.936, -1.472, -2.800, -7.616, -4.960, -2.552, -6.256, -3.776, -1.420, -3.416, -2.032, -3.992, -9.280001, -5.360, -2.716, -6.152, -3.472, 6.815001, 12.649, 5.798, 11.668, 21.230, 9.490, 4.709, 8.292999, 3.548, 9.706, 17.162001, 7.384, 14.912001, 25.036001, 9.980001, 4.918, 7.298, 2.308, -0.374, -3.286, -2.984, -5.824, -17.012001, -11.332001, -5.738, -14.302, -8.636, -3.013, -7.439, -4.462, -8.852, -20.674, -11.894, -5.983, -13.523, -7.576, 6.518, 12.046, 5.492, 11.056, 19.988001, 8.860001, 4.394, 7.654, 3.224, 9.075999, 15.883999, 6.736001, 13.616, 22.407999, 8.648, 4.252, 5.947999, 1.624, -1.004, -4.564, -3.632, -7.120, -19.639999, -12.664001, -6.404, -15.652, -9.320, -3.346, -8.114, -4.804, -9.536, -22.059999, -12.596, -6.334, -14.233999, -7.936, 6.221, 11.443, 5.186, 10.444, 18.746, 8.230, 4.079, 7.015, 2.900, 8.446, 14.606001, 6.088, 12.320, 19.779999, 7.316, 3.586, 4.598001, 0.940, -1.634, -5.842, -4.280, -8.416, -22.268002, -13.996, -7.070001, -17.001999, -10.004001, -3.679, -8.789, -5.146, -10.220, -23.445999, -13.298, -6.684999, -14.945, -8.296, 5.924, 10.840, 4.880, 9.832001, 17.504, 7.600, 3.764, 6.376, 2.576, 7.816, 13.328, 5.440001, 11.024, 17.152, 5.983999, 2.920, 3.247999, 0.256, -2.264, -7.120, -4.928, -9.712, -24.896, -15.328, -7.736, -18.352001, -10.688, -4.012, -9.464, -5.488, -10.903999, -24.832001, -14.000, -7.035999, -15.656, -8.655999}, sd::DataType::FLOAT32); - NDArray expGradW( {oC, iC, kD, kH, kW},{-24.399998, -23.080000, -20.440001, -19.119999, -12.519999, -11.199998, -8.560001, -7.240002, -0.639999, 0.679999, + NDArray expGradW('c', {oC, iC, kD, kH, kW},{-24.399998, -23.080000, -20.440001, -19.119999, -12.519999, -11.199998, -8.560001, -7.240002, -0.639999, 0.679999, 3.320001, 4.640001, 23.119999, 24.439999, 27.080002, 28.400002, 35.000000, 36.320000, 38.959999, 40.279999, 46.879997, 48.200005, 50.839996, 52.160004, 70.639999, 71.959999, 74.599998, 75.919998, 82.520004, 83.840004, 86.479996, 87.800003, 94.399994, 95.719994, 98.360001, 99.680008, 118.160004, 119.479996, 122.120003, 123.440010, 130.040009, 131.360001, 134.000000, 135.319992, 141.919998, 143.239990, 145.879990, 147.200012, -70.159996, -68.200005, -64.279999, -62.319996, -52.519993, -50.559994, -46.640003, -44.680000, -34.880001, -32.919998, -29.000002, -27.040005, 0.400004, 2.359996, 6.279998, 8.240004, 18.040001, 20.000000, 23.920002, 25.879999, 35.680000, 37.639996, 41.560001, 43.520000, 70.959999, 72.919998, 76.840004, 78.799995, 88.599998, 90.560005, 94.479996, 96.440002, 106.240005, 108.199997, 112.120003, 114.080002, 141.519989, 143.479996, 147.400009, 149.360001, 159.159988, 161.119995, 165.040009, 167.000000, 176.800003, 178.760010, 182.679993, 184.639999, -115.920006, -113.320000, -108.120003, -105.520012, -92.520004, -89.919991, -84.720001, -82.119995, -69.120010, -66.520004, -61.320000, -58.719994, -22.320000, -19.719999, -14.520001, -11.920001, 1.079997, 3.679997, 8.879997, 11.480003, 24.480001, 27.079998, 32.280003, 34.880001, 71.279999, 73.880005, 79.080002, 81.680000, 94.679993, 97.280006, 102.479996, 105.080002, 118.080002, 120.679993, 125.879997, 128.479996, 164.880005, 167.479996, 172.679993, 175.279999, 188.279984, 190.880005, 196.080002, 198.679993, 211.680008, 214.280014, 219.479996, 222.079987}, sd::DataType::FLOAT32); - NDArray expGradB( {oC}, {2.64, 3.92, 5.2}, sd::DataType::FLOAT32); + NDArray expGradB('c', {oC}, {2.64, 3.92, 5.2}, sd::DataType::FLOAT32); input.linspace(-75, 0.5); gradO.linspace(0.01, 0.01); @@ -1716,29 +1714,29 @@ TEST_F(ConvolutionTests1, conv3d_bp_test5) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kD, kH, kW, iC, oC], 1-[oC, iC, kD, kH, kW], 2-[oC, kD, kH, kW, iC] - NDArray input( {bS, iD, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights( {oC, kD, kH, kW, iC}, {15., 14.7, 14.4, 14.1, 13.8, 13.5, 13.2, 12.9, 12.6, 12.3, 12., 11.7, 11.4, 11.1, 10.8, 10.5, 10.2, 9.9, 9.6, 9.3, 9., + NDArray input('c', {bS, iD, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights('c', {oC, kD, kH, kW, iC}, {15., 14.7, 14.4, 14.1, 13.8, 13.5, 13.2, 12.9, 12.6, 12.3, 12., 11.7, 11.4, 11.1, 10.8, 10.5, 10.2, 9.9, 9.6, 9.3, 9., 8.7, 8.4, 8.1, 7.8, 7.5, 7.2, 6.9, 6.6, 6.3, 6., 5.7, 5.4, 5.1, 4.8, 4.5, 4.2, 3.9, 3.6, 3.3, 3., 2.7, 2.4, 2.1, 1.8, 1.5, 1.2, 0.9, 14.9, 14.6, 14.3, 14., 13.7, 13.4, 13.1, 12.8, 12.5, 12.2, 11.9, 11.6, 11.3, 11., 10.7, 10.4, 10.1, 9.8, 9.5, 9.2, 8.9, 8.6, 8.3, 8., 7.7, 7.4, 7.1, 6.8, 6.5, 6.2, 5.9, 5.6, 5.3, 5., 4.7, 4.4, 4.1, 3.8, 3.5, 3.2, 2.9, 2.6, 2.3, 2., 1.7, 1.4, 1.1, 0.8, 14.8, 14.5, 14.2, 13.9, 13.6, 13.3, 13., 12.7, 12.4, 12.1, 11.8, 11.5, 11.2, 10.9, 10.6, 10.3, 10., 9.7, 9.4, 9.1, 8.8, 8.5, 8.2, 7.9, 7.6, 7.3, 7., 6.7, 6.4, 6.1, 5.8, 5.5, 5.2, 4.9, 4.6, 4.3, 4., 3.7, 3.4, 3.1, 2.8, 2.5, 2.2, 1.9, 1.6, 1.3, 1., 0.7}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); - NDArray gradO( {bS, oD, oH, oW, oC}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {1,-0.5, 0.1}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, oD, oH, oW, oC}, sd::DataType::FLOAT32); - NDArray expGradI( {bS, iD, iH, iW, iC}, {13.565001, 13.286001, 13.007000, 12.728001, 28.264000, 27.652000, 27.040001, 26.427999, 32.547997, 31.827999, 31.108002, + NDArray expGradI('c', {bS, iD, iH, iW, iC}, {13.565001, 13.286001, 13.007000, 12.728001, 28.264000, 27.652000, 27.040001, 26.427999, 32.547997, 31.827999, 31.108002, 30.388000, 31.647999, 30.927998, 30.208000, 29.487999, 64.484001, 62.935997, 61.387997, 59.839996, 72.188004, 70.424004, 68.660004, 66.896004, 43.852001, 42.807999, 41.764000, 40.719997, 87.596001, 85.400002, 83.204002, 81.007996, 95.299988, 92.887993, 90.475998, 88.063995, 34.130997, 33.348000, 32.564999, 31.782001, 67.856995, 66.210007, 64.563004, 62.916000, 72.987000, 71.178001, 69.369003, 67.559998, 70.179001, 68.369995, 66.561005, 64.751999, 137.927994, 134.147995, 130.367996, 126.587997, 146.891998, 142.787994, 138.683990, 134.580017, 84.597000, 82.302002, 80.007004, 77.711998, 164.820007, 160.067993, 155.316010, 150.563995, 173.783997, 168.707993, 163.631989, 158.556000, 58.674000, 57.162003, 55.649994, 54.138000, 114.027008, 110.921997, 107.816994, 104.711990, 119.156998, 115.889999, 112.623001, 109.355995, 113.433006, 110.166000, 106.899002, 103.632004, 218.603989, 211.908020, 205.211975, 198.515991, 227.568008, 220.547974, 213.528015, 206.507996, 127.850998, 124.098000, 120.345001, 116.591995, 245.496002, 237.828018, 230.159988, 222.492004, 254.459991, 246.468002, 238.475998, 230.483994, 34.049000, 32.797997, 31.547001, 30.295998, 64.479996, 61.924000, 59.368004, 56.812000, 67.035995, 64.372002, 61.707996, 59.044003, 62.248001, 59.584003, 56.919998, 54.256001, 116.180000, 110.744003, 105.307999, 99.872002, 120.428001, 114.776001, 109.124001, 103.472000, 69.268005, 66.279999, 63.292000, 60.304001, 128.923996, 122.839996, 116.755997, 110.671997, 133.171997, 126.872002, 120.571991, 114.271996, 94.565002, 92.342010, 90.118996, 87.896004, 182.488007, 177.988007, 173.488007, 168.988007, 186.772003, 182.164001, 177.556000, 172.947998, 178.095993, 173.488007, 168.880005, 164.272003, 341.828003, 332.504028, 323.180023, 313.856018, 349.532013, 339.992004, 330.451996, 320.911987, 190.299988, 185.368011, 180.436005, 175.503998, 364.940002, 354.967987, 344.996002, 335.024017, 372.644012, 362.455994, 352.268005, 342.080017, 132.303009, 128.604004, 124.904999, 121.206001, 252.536987, 245.057999, 237.578979, 230.100006, 257.666992, 250.026001, 242.385010, 234.744019, 243.195007, 235.554001, 227.912994, 220.272003, 460.631958, 445.188019, 429.744019, 414.299988, 469.595947, 453.827972, 438.059998, 422.291992, 257.613007, 249.486008, 241.358994, 233.232010, 487.523987, 471.108032, 454.691986, 438.276001, 496.488037, 479.748016, 463.007996, 446.268005, 156.846008, 152.417999, 147.989990, 143.561996, 298.707001, 289.769989, 280.833008, 271.895996, 303.837006, 294.737976, 285.638977, 276.540009, 286.449005, 277.350006, 268.250977, 259.151978, 541.307983, 522.947998, 504.587982, 486.227997, 550.271973, 531.588013, 512.903992, 494.220032, 300.867004, 291.281982, 281.696991, 272.112000, 568.200012, 548.868042, 529.535950, 510.204010, 577.164062, 557.507935, 537.851990, 518.196045, 83.944992, 80.750000, 77.555000, 74.360001, 156.496002, 150.052002, 143.608002, 137.164001, 159.052002, 152.500000, 145.947998, 139.395996, 146.488007, 139.936005, 133.384003, 126.832001, 269.107971, 255.895996, 242.684006, 229.471985, 273.356018, 259.927979, 246.500000, 233.071991, 153.507996, 146.632004, 139.755997, 132.880005, 281.851990, 267.992004, 254.132004, 240.272003, 286.100006, 272.023987, 257.947998, 243.872009}, sd::DataType::FLOAT32); - NDArray expGradW( {oC, kD, kH, kW, iC}, {396.899872, 429.570007, 462.240234, 494.910156, 313.739960, 335.250000, 356.760071, 378.270020, 403.379944, 424.350006, + NDArray expGradW('c', {oC, kD, kH, kW, iC}, {396.899872, 429.570007, 462.240234, 494.910156, 313.739960, 335.250000, 356.760071, 378.270020, 403.379944, 424.350006, 445.320007, 466.289978, 299.520020, 313.319977, 327.119995, 340.920013, 1556.280029, 1594.979980, 1633.679932, 1672.379883, 1090.080078, 1115.520020, 1140.959961, 1166.400024, 1183.679932, 1208.400024, 1233.119995, 1257.840088, 821.279907, 837.519897, 853.760010, 870.000000, 1500.119873, 1525.500122, 1550.880005, 1576.260010, 1029.780029, 1046.429932, 1063.080078, 1079.729980, 1080.539917, 1096.650024, 1112.760010, 1128.869995, 738.000000, 748.560059, 759.119995, 769.679993, 389.880005, 422.819946, 455.759979, 488.699951, 309.420013, 331.109985, 352.799988, 374.490051, 399.780029, 420.930023, 442.080017, 463.230011, 297.359985, 311.280029, 325.200012, 339.120056, 1553.400146, 1592.459961, 1631.520020, 1670.579956, 1088.640015, 1114.320068, 1140.000000, 1165.679932, 1183.199951, 1208.160034, 1233.119995, 1258.079956, 821.280029, 837.680054, 854.079956, 870.479980, 1502.819946, 1528.469971, 1554.119995, 1579.770020, 1031.939941, 1048.770020, 1065.599976, 1082.429932, 1083.420044, 1099.709961, 1116.000000, 1132.290039, 740.159973, 750.840027, 761.519958, 772.199951, 382.859924, 416.070099, 449.279968, 482.489990, 305.099976, 326.970062, 348.840027, 370.709991, 396.179962, 417.510010, 438.839966, 460.169952, 295.200012, 309.239990, 323.279968, 337.320007, 1550.519775, 1589.939941, 1629.359985, 1668.779907, 1087.200073, 1113.119995, 1139.039917, 1164.959961, 1182.719971, 1207.920044, 1233.119995, 1258.320190, 821.279968, 837.840027, 854.400024, 870.959961, 1505.520142, 1531.439819, 1557.359985, 1583.279907, 1034.100098, 1051.110107, 1068.120117, 1085.130005, 1086.299927, 1102.770020, 1119.239990, 1135.710083, 742.319946, 753.119995, 763.919983, 774.720032}, sd::DataType::FLOAT32); - NDArray expGradB( {oC}, {77.400002, 78.119995, 78.840004}, sd::DataType::FLOAT32); + NDArray expGradB('c', {oC}, {77.400002, 78.119995, 78.840004}, sd::DataType::FLOAT32); input.linspace(-75, 0.5); gradO.linspace(0.01, 0.01); @@ -1768,9 +1766,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); - auto expected = NDArrayFactory::create( {2, 3, 4, 3, 3}, {534.4f, 540.8f, 547.2f, 534.4f, 540.8f, 547.2f, 248.f, 251.2f, 254.4f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto expected = NDArrayFactory::create({2, 3, 4, 3, 3}, {534.4f, 540.8f, 547.2f, 534.4f, 540.8f, 547.2f, 248.f, 251.2f, 254.4f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 380.8f, 387.2f, 393.6f, 380.8f, 387.2f, 393.6f, 171.2f, 174.4f, 177.6f, 534.4f, 540.8f, 547.2f, 534.4f, 540.8f, 547.2f, 248.f, 251.2f, 254.4f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 314.4f, 319.2f, 324.f, 380.8f, 387.2f, 393.6f, 380.8f, 387.2f, 393.6f, 171.2f, 174.4f, 177.6f, 152.f, 155.2f, 158.4f, 152.f, 155.2f, 158.4f, 66.4f, 68.f, 69.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, 170.4f, 175.2f, 180.f, 170.4f, 175.2f, 180.f, 70.8f, 73.2f, 75.6f, 75.2f, 78.4f, 81.6f, 75.2f, 78.4f, 81.6f, 28.f, 29.6f, 31.2f, @@ -1798,9 +1796,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test2) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); - auto expected = NDArrayFactory::create( {2, 2, 2, 2, 3}, {686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto expected = NDArrayFactory::create({2, 2, 2, 2, 3}, {686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f, 686.4f, 696.f, 705.6f}); @@ -1825,9 +1823,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); - auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2}); + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto expected = NDArrayFactory::create({2, 3, 2, 2, 2}); input = 2.; weights = 0.5; expected = 48.; @@ -1849,10 +1847,10 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test4) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create( {oC}); - auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2}); + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create({oC}); + auto expected = NDArrayFactory::create({2, 3, 2, 2, 2}); input = 2.; weights = 0.5; @@ -1878,10 +1876,10 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test5) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create( {oC},{1.f, 2.f, 3.f}); - auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2},{49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create({oC},{1.f, 2.f, 3.f}); + auto expected = NDArrayFactory::create({2, 3, 2, 2, 2},{49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 49.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 50.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f, 51.f}); input = 2.; @@ -1906,10 +1904,10 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test6) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create( {oC, iC, kD, kH, kW}); - auto bias = NDArrayFactory::create( {oC},{1.f, 2.f, 3.f}); - auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2},{236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 698.f, 698.f, 698.f, 698.f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create({oC, iC, kD, kH, kW}); + auto bias = NDArrayFactory::create({oC},{1.f, 2.f, 3.f}); + auto expected = NDArrayFactory::create({2, 3, 2, 2, 2},{236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 236.2f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 698.f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f, 1159.8f}); @@ -1937,9 +1935,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test7) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create( {oC, iC, kD, kH, kW}); - auto expected = NDArrayFactory::create( {2, 3, 2, 2, 2},{235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create({oC, iC, kD, kH, kW}); + auto expected = NDArrayFactory::create({2, 3, 2, 2, 2},{235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 235.2f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 696.f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f, 1156.8f}); input = 2.; @@ -1959,9 +1957,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test7) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests1, conv3d_test8) { - auto x = NDArrayFactory::create( {4, 2, 28, 28, 3}); - auto y = NDArrayFactory::create( {2, 5, 5, 3, 4}); - auto e = NDArrayFactory::create( {4, 1, 7, 10, 4}); + auto x = NDArrayFactory::create({4, 2, 28, 28, 3}); + auto y = NDArrayFactory::create({2, 5, 5, 3, 4}); + auto e = NDArrayFactory::create({4, 1, 7, 10, 4}); sd::ops::conv3dnew op; auto result = op.evaluate({&x, &y}, {}, {2,5,5, 5,4,3, 0,0,0, 1,1,1, 1,1}); @@ -1973,9 +1971,9 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test8) { } TYPED_TEST(TypedConvolutionTests1, conv3d_test9) { - auto x = NDArrayFactory::create( {4, 2, 28, 28, 3}); - auto w = NDArrayFactory::create( {2, 5, 5, 3, 4}); - auto exp = NDArrayFactory::create( {4, 1, 7, 10, 4}); + auto x = NDArrayFactory::create({4, 2, 28, 28, 3}); + auto w = NDArrayFactory::create({2, 5, 5, 3, 4}); + auto exp = NDArrayFactory::create({4, 1, 7, 10, 4}); sd::ops::conv3dnew op; auto result = op.evaluate({&x, &w}, {}, {2,5,5, 5,4,3, 0,0,0, 1,1,1, 1,1}); @@ -2024,8 +2022,8 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test10) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create( {bS, iC, iD, iH, iW}); - auto weights = NDArrayFactory::create( {kD, kH, kW, iC, oC}); + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); input = 2.; weights = 1.; @@ -2071,14 +2069,14 @@ TEST_F(ConvolutionTests1, conv3d_test12) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kD, kH, kW, iC, oC], 1-[oC, iC, kD, kH, kW], 2-[oC, kD, kH, kW, iC] - NDArray input( {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); - NDArray weights( {oC, iC, kD, kH, kW}, {-14.4, -13.2, -12.0, -10.8, -9.6, -8.4, -7.2, -6.0, -4.8, -3.6, -2.4, -1.2, -14.1, -12.9, -11.7, -10.5, -9.3, -8.1, + NDArray input('c', {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); + NDArray weights('c', {oC, iC, kD, kH, kW}, {-14.4, -13.2, -12.0, -10.8, -9.6, -8.4, -7.2, -6.0, -4.8, -3.6, -2.4, -1.2, -14.1, -12.9, -11.7, -10.5, -9.3, -8.1, -6.9, -5.7, -4.5, -3.3, -2.1, -0.9, -13.8, -12.6, -11.4, -10.2, -9.0, -7.8, -6.6, -5.4, -4.2, -3.0, -1.8, -0.6, -13.5, -12.3, -11.1, -9.9, -8.7, -7.5, -6.3, -5.1, -3.9, -2.7, -1.5, -0.3, -14.3, -13.1, -11.9, -10.7, -9.5, -8.3, -7.1, -5.9, -4.7, -3.5, -2.3, -1.1, -14.0, -12.8, -11.6, -10.4, -9.2, -8.0, -6.8, -5.6, -4.4, -3.2, -2.0, -0.8, -13.7, -12.5, -11.3, -10.1, -8.9, -7.7, -6.5, -5.3, -4.1, -2.9, -1.7, -0.5, -13.4, -12.2, -11.0, -9.8, -8.6, -7.4, -6.2, -5.0, -3.8, -2.6, -1.4, -0.2, -14.2, -13.0, -11.8, -10.6, -9.4, -8.2, -7.0, -5.8, -4.6, -3.4, -2.2, -1.0, -13.9, -12.7, -11.5, -10.3, -9.1, -7.9, -6.7, -5.5, -4.3, -3.1, -1.9, -0.7, -13.6, -12.4, -11.2, -10.0, -8.8, -7.6, -6.4, -5.2, -4.0, -2.8, -1.6, -0.4, -13.3, -12.1, -10.9, -9.7, -8.5, -7.3, -6.1, -4.9, -3.7, -2.5, -1.3, -0.1}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); - NDArray expOutput( {bS, oC, oD, oH, oW}, {-42520.597656, -42344.199219, -41991.402344, -41814.996094, -40932.992188, -40756.597656, -40403.800781, -40227.406250, + NDArray expOutput('c', {bS, oC, oD, oH, oW}, {-42520.597656, -42344.199219, -41991.402344, -41814.996094, -40932.992188, -40756.597656, -40403.800781, -40227.406250, -41953.601562, -41779.601562, -41431.597656, -41257.601562, -40387.601562, -40213.597656, -39865.601562, -39691.597656, -41391.105469, -41219.492188, -40876.300781, -40704.699219, -39846.707031, -39675.097656, -39331.898438, -39160.300781, -17119.001953, -16942.599609, -16589.798828, -16413.400391, -15531.399414, -15355.000000, -15002.199219, -14825.800781, -16897.597656, -16723.597656, -16375.599609, -16201.599609, -15331.599609, -15157.600586, @@ -2105,15 +2103,15 @@ TEST_F(ConvolutionTests1, conv3d_test13) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kD, kH, kW, iC, oC], 1-[oC, iC, kD, kH, kW], 2-[oC, kD, kH, kW, iC] - NDArray input( {bS, iD, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights( {oC, kD, kH, kW, iC}, {-7., -6.7, -6.4, -6.1, -5.8, -5.5, -5.2, -4.9, -4.6, -4.3, -4., -3.7, -3.4, -3.1, -2.8, -2.5, -2.2, -1.9, -1.6, -1.3, + NDArray input('c', {bS, iD, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights('c', {oC, kD, kH, kW, iC}, {-7., -6.7, -6.4, -6.1, -5.8, -5.5, -5.2, -4.9, -4.6, -4.3, -4., -3.7, -3.4, -3.1, -2.8, -2.5, -2.2, -1.9, -1.6, -1.3, -1., -0.7, -0.4, -0.1, 0.2, 0.5, 0.8, 1.1, 1.4, 1.7, 2., 2.3, 2.6, 2.9, 3.2, 3.5, 3.8, 4.1, 4.4, 4.7, 5., 5.3, 5.6, 5.9, 6.2, 6.5, 6.8, 7.1, -6.9, -6.6, -6.3, -6., -5.7, -5.4, -5.1, -4.8, -4.5, -4.2, -3.9, -3.6, -3.3, -3., -2.7, -2.4, -2.1, -1.8, -1.5, -1.2, -0.9, -0.6, -0.3, 0., 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3., 3.3, 3.6, 3.9, 4.2, 4.5, 4.8, 5.1, 5.4, 5.7, 6., 6.3, 6.6, 6.9, 7.2, -6.8, -6.5, -6.2, -5.9, -5.6, -5.3, -5., -4.7, -4.4, -4.1, -3.8, -3.5, -3.2, -2.9, -2.6, -2.3, -2., -1.7, -1.4, -1.1, -0.8, -0.5, -0.2, 0.1, 0.4, 0.7, 1., 1.3, 1.6, 1.9, 2.2, 2.5, 2.8, 3.1, 3.4, 3.7, 4., 4.3, 4.6, 4.9, 5.2, 5.5, 5.8, 6.1, 6.4, 6.7, 7., 7.3}, sd::DataType::FLOAT32); - NDArray bias( {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias('c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); - NDArray expOutput( {bS, oD, oH, oW, oC}, {3969.399658, 4168.399902, 4362.899414, 3812.600586, 4005.200195, 4193.299805, 1317.000000, 1413.199829, 1504.899902, + NDArray expOutput('c', {bS, oD, oH, oW, oC}, {3969.399658, 4168.399902, 4362.899414, 3812.600586, 4005.200195, 4193.299805, 1317.000000, 1413.199829, 1504.899902, 3498.999756, 3678.800049, 3854.100098, 3342.200195, 3515.599854, 3684.500244, 1139.400024, 1226.000000, 1308.099976, 685.799927, 772.400024, 854.500000, 645.800049, 729.200073, 808.099976, 80.799995, 123.200012, 161.100006, -2851.000732, -2597.199707, -2347.899414, -2855.799805, -2611.600098, -2371.900879, -2124.399414, -2003.199951, -1886.500244, -2865.399902, -2640.400146, -2419.899902, -2870.199951, -2654.800049, -2443.899902, -2045.200073, -1938.399902, @@ -2168,13 +2166,13 @@ TEST_F(ConvolutionTests1, vol2col_test1) { int bS=2, iD=2,iH=3,iW=2, iC=3,oC=2, kD=2,kH=3,kW=2, sD=1,sH=1,sW=1, pD=0,pH=0,pW=0, dD=1,dH=1,dW=1; int oD=2,oH=3,oW=2; - NDArray volume( {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); - NDArray columns( {bS, iC, kD, kH, kW, oD, oH, oW}, sd::DataType::FLOAT32); + NDArray volume('c', {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); + NDArray columns('c', {bS, iC, kD, kH, kW, oD, oH, oW}, sd::DataType::FLOAT32); columns = -1.; volume.linspace(1); - NDArray columnsExpected( {bS, iC, kD, kH, kW, oD, oH, oW}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 2., 0., 4., 0., 6.,0., 8., 0., 10., 0., 12., 0., 3., 4., 5., 6., 0., 0., 9., 10., 11., 12., 0., 0., 4., 0., 6., 0., 0., 0., 10., 0., 12., 0., 0., 0., 5., 6., + NDArray columnsExpected('c', {bS, iC, kD, kH, kW, oD, oH, oW}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 2., 0., 4., 0., 6.,0., 8., 0., 10., 0., 12., 0., 3., 4., 5., 6., 0., 0., 9., 10., 11., 12., 0., 0., 4., 0., 6., 0., 0., 0., 10., 0., 12., 0., 0., 0., 5., 6., 0., 0., 0., 0., 11., 12., 0., 0., 0., 0., 6., 0., 0., 0., 0., 0., 12., 0., 0., 0., 0., 0., 7., 8., 9., 10., 11., 12., 0., 0., 0., 0., 0., 0., 8., 0., 10., 0., 12., 0., 0., 0., 0., 0., 0., 0., 9., 10., 11., 12., 0., 0., 0., 0., 0., 0., 0., 0., 10., 0., 12., 0., 0., 0., 0., 0., 0., 0., 0., 0., 11., 12., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 12., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 13., 14., 15., 16., 17.,18., 19., 20., 21., 22., 23., 24., 14., 0., 16., 0., 18., 0., 20., 0., 22., 0., 24., 0., 15., 16., 17., 18., 0., 0., 21., 22., 23., 24., 0., 0., 16., 0., 18., 0., 0., 0., 22., 0., 24., 0., 0., 0., 17., 18., 0., 0., 0., 0., 23., 24., 0., 0., 0., 0., 18., 0., 0., 0., 0., 0., 24., 0., 0., 0., 0., 0., 19., 20., 21., 22., 23., 24., 0., 0., 0., 0., 0., 0., 20., 0., 22., 0., 24., 0., 0., 0., 0., 0., 0., 0., 21., 22., 23., @@ -2439,8 +2437,8 @@ TEST_F(ConvolutionTests1, upsampling3d_bp_test3) { const int factorD=2, factorH=2, factorW=2; const int isNCDHW = 1; // data format, default is NCHW - NDArray input( {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); - NDArray gradO( {bS, iC, iD*factorD, iH*factorH, iW*factorW}, {0.6793504, 0.35508695, 0.84278935, 0.20031333, 0.7014987, 0.31069338, + NDArray input('c', {bS, iC, iD, iH, iW}, sd::DataType::FLOAT32); + NDArray gradO('c', {bS, iC, iD*factorD, iH*factorH, iW*factorW}, {0.6793504, 0.35508695, 0.84278935, 0.20031333, 0.7014987, 0.31069338, 0.44793984, 0.93800974, 0.32667395, 0.15187258, 0.38331753, 0.78212297, 0.1988072, 0.7985636, 0.1632634, 0.14696825, 0.26089668, 0.13505761, 0.7562093, 0.27545404, 0.36908787, 0.09282647, 0.83649176, 0.26841334, 0.09506222, 0.31279507, 0.13591796, 0.5175439, 0.32870287, 0.061735712, 0.39643127, 0.248016, 0.5489592, 0.115046196, 0.8143622, 0.7215636, 0.40449402, 0.29908907, 0.4038839, @@ -2478,7 +2476,7 @@ TEST_F(ConvolutionTests1, upsampling3d_bp_test3) { 0.71167386, 0.5134439, 0.57761437, 0.58598644, 0.39387667, 0.6966405, 0.46841687, 0.85788506, 0.9957087, 0.051309288, 0.24846801, 0.55938333, 0.10230542, 0.9370694, 0.57527155, 0.54656035, 0.28896323, 0.51303476, 0.8865, 0.38641605, 0.9836358}, sd::DataType::FLOAT32); - NDArray expGradI( {bS, iC, iD, iH, iW}, {3.510932, 3.4310975, 3.538762, 4.148549, 2.8380678, 2.5431657, 3.3928843, 3.228055, 3.1467278, + NDArray expGradI('c', {bS, iC, iD, iH, iW}, {3.510932, 3.4310975, 3.538762, 4.148549, 2.8380678, 2.5431657, 3.3928843, 3.228055, 3.1467278, 3.2603023, 5.611751, 4.334653, 3.3697734, 4.603307, 4.4357986, 4.32991, 3.0532732, 3.1370173, 4.181534, 2.9965065, 2.8553872, 5.2719016, 4.5671935, 3.7027276, 3.3517184, 5.2544537, 3.5107024, 4.1496124, 3.9333878, 3.1798909, 3.1446428, 3.0932689, 3.9730802, 3.0466917, 4.9675374, 4.769673, 3.766952, 3.6375027, 3.6492167, 4.9440994, 3.8379507, 3.467589, 4.719474, 3.1295977, 4.5177174, 4.2760015, 2.8443856, @@ -2591,9 +2589,9 @@ TEST_F(ConvolutionTests1, deconv2d_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests1, deconv2d_test4) { - NDArray input( {2, 3, 4, 4}, sd::DataType::FLOAT32); - NDArray weights( {3, 3, 5, 5}, sd::DataType::FLOAT32); - NDArray exp( {2,3,8,8}, {6276.0,12831.0,19668.0,26790.0,27012.0,20703.0,14100.0,7200.0,13719.0,28023.0,42918.0,58410.0,58902.0,45105.0,30693.0,15660.0,22389.0,45696.0,69930.0,95100.0,95910.0,73386.0,49899.0,25440.0,32346.0,65970.0, + NDArray input('c', {2, 3, 4, 4}, sd::DataType::FLOAT32); + NDArray weights('c', {3, 3, 5, 5}, sd::DataType::FLOAT32); + NDArray exp('c', {2,3,8,8}, {6276.0,12831.0,19668.0,26790.0,27012.0,20703.0,14100.0,7200.0,13719.0,28023.0,42918.0,58410.0,58902.0,45105.0,30693.0,15660.0,22389.0,45696.0,69930.0,95100.0,95910.0,73386.0,49899.0,25440.0,32346.0,65970.0, 100884.0,137100.0,138276.0,105726.0,71838.0,36600.0,33726.0,68790.0,105204.0,142980.0,144156.0,110226.0,74898.0,38160.0,27555.0,56154.0,85806.0,116520.0,117474.0,89748.0,60933.0,31020.0,19917.0,40557.0,61926.0, 84030.0,84714.0,64671.0,43875.0,22320.0,10752.0,21879.0,33384.0,45270.0,45636.0,34815.0,23604.0,12000.0,7551.0,15456.0,23718.0,32340.0,32562.0,24978.0,17025.0,8700.0,16569.0,33873.0,51918.0,70710.0,71202.0, 54555.0,37143.0,18960.0,27114.0,55371.0,84780.0,115350.0,116160.0,88911.0,60474.0,30840.0,39246.0,80070.0,122484.0,166500.0,167676.0,128226.0,87138.0,44400.0,40626.0,82890.0,126804.0,172380.0,173556.0,132726.0, @@ -2682,7 +2680,7 @@ TYPED_TEST(TypedConvolutionTests1, deconv2d_test6) { TEST_F(ConvolutionTests1, deconv2d_test7) { - NDArray exp( {3, 2, 4, 4}, {218., 227., 236., 245., 254., 263., 272., 281., 290., 299., 308., 317., 326., 335., 344., 353., 270., 282., 294., 306., 318., 330., 342., 354., 366., 378., 390., 402., 414., 426., 438., 450., 650., 659., 668., 677., 686., 695., 704., 713., 722., 731., 740., 749., 758., 767., 776., 785., 846., 858., 870., 882., 894., 906., 918., 930., 942., 954., 966., 978., 990., 1002., 1014., 1026., 1082., 1091., 1100., 1109., 1118., 1127., 1136., 1145., 1154., 1163., 1172., 1181., 1190., 1199., 1208., 1217., 1422., 1434., 1446., 1458., 1470., 1482., 1494., 1506., 1518., 1530., 1542., 1554., 1566., 1578., 1590., 1602.}); + NDArray exp('c', {3, 2, 4, 4}, {218., 227., 236., 245., 254., 263., 272., 281., 290., 299., 308., 317., 326., 335., 344., 353., 270., 282., 294., 306., 318., 330., 342., 354., 366., 378., 390., 402., 414., 426., 438., 450., 650., 659., 668., 677., 686., 695., 704., 713., 722., 731., 740., 749., 758., 767., 776., 785., 846., 858., 870., 882., 894., 906., 918., 930., 942., 954., 966., 978., 990., 1002., 1014., 1026., 1082., 1091., 1100., 1109., 1118., 1127., 1136., 1145., 1154., 1163., 1172., 1181., 1190., 1199., 1208., 1217., 1422., 1434., 1446., 1458., 1470., 1482., 1494., 1506., 1518., 1530., 1542., 1554., 1566., 1578., 1590., 1602.}); auto input = NDArrayFactory::create( {3, 3, 4, 4}); auto weights = NDArrayFactory::create({1, 1, 2, 3}, {1,3,5,2,4,6}); @@ -2711,7 +2709,7 @@ TEST_F(ConvolutionTests1, deconv2d_test8) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - NDArray input( {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, + NDArray input('c', {bS, iC, iH, iW}, {0.679350, 0.355087, 0.842789, 0.200313, 0.701499, 0.310693, 0.447940, 0.938010, 0.326674, 0.151873, 0.383318, 0.782123, 0.198807, 0.798564, 0.163263, 0.146968, 0.260897, 0.135058, 0.756209, 0.275454, 0.369088, 0.092826, 0.836492, 0.268413, 0.095062, 0.312795, 0.135918, 0.517544, 0.328703, 0.061736, 0.396431, 0.248016, 0.548959, 0.115046, 0.814362, 0.721564, 0.404494, 0.299089, 0.403884, 0.988311, 0.022296, 0.927782, 0.318416, 0.068546, 0.284533, 0.232720, 0.352142, 0.058909, 0.711221, 0.674457, 0.196946, 0.699497, 0.074322, 0.420425, 0.584263, 0.149574, 0.446406, 0.723072, 0.064481, 0.483078, 0.875996, @@ -2722,10 +2720,10 @@ TEST_F(ConvolutionTests1, deconv2d_test8) { 0.842513, 0.466098, 0.381395, 0.523185, 0.990183, 0.925768, 0.643459, 0.016828, 0.918756, 0.228979, 0.006314, 0.665975, 0.190361, 0.595521, 0.698881, 0.221469, 0.912434, 0.870822, 0.727369, 0.523972, 0.662884, 0.218841}); - NDArray weights( {kH, kW, oC, iC}, {0.4195024073123932, 0.22738978266716003, 0.10093523561954498, 0.25008103251457214, 0.3183899223804474, 0.5976081490516663}); - NDArray bias( {1, oC}, {0.3596062958240509, 0.6866418123245239}); + NDArray weights('c', {kH, kW, oC, iC}, {0.4195024073123932, 0.22738978266716003, 0.10093523561954498, 0.25008103251457214, 0.3183899223804474, 0.5976081490516663}); + NDArray bias('c', {1, oC}, {0.3596062958240509, 0.6866418123245239}); - NDArray exp( {bS, oC, oH, oW}, {0.848190, 0.560603, 0.880509, 0.464103, 0.823376, 0.660138, 0.666382, 0.882257, 0.704650, 0.451427, 0.649734, 0.911822, 0.611581, + NDArray exp('c', {bS, oC, oH, oW}, {0.848190, 0.560603, 0.880509, 0.464103, 0.823376, 0.660138, 0.666382, 0.882257, 0.704650, 0.451427, 0.649734, 0.911822, 0.611581, 0.847623, 0.568191, 0.439341, 0.710854, 0.473843, 0.927273, 0.605861, 0.724540, 0.530591, 0.804268, 0.478136, 0.602198, 0.639553, 0.669082, 0.855013, 0.678572, 0.617800, 0.667545, 0.765899, 0.835564, 0.631733, 0.921562, 0.790830, 0.588187, 0.597934, 0.725855, 0.822259, 0.455384, 0.998167, 0.683336, 0.591897, 0.705213, 0.748148, 0.648922, 0.484723, 0.873482, 1.368675, 0.881096, 1.169214, 0.781504, 1.433406, 1.171439, 1.348675, 1.227033, 1.256600, 0.824772, 1.051633, 1.308692, @@ -2754,15 +2752,15 @@ TEST_F(ConvolutionTests1, deconv2d_test9) { int dataFormat = 1; // 1-NHWC, 0-NCHW int wFormat = 1; // 0-[kH, kW, oC, iC], [iC, oC, kH, kW], [iC, kH, kW, oC] - NDArray input( {bS, iH, iW, iC}, sd::DataType::FLOAT32); - NDArray weights( {iC, oC, kH, kW}, {100.000000, 75.000000, 50.000000, 25.000000, 95.000000, 70.000000, 45.000000, 20.000000, 90.000000, 65.000000, 40.000000, + NDArray input('c', {bS, iH, iW, iC}, sd::DataType::FLOAT32); + NDArray weights('c', {iC, oC, kH, kW}, {100.000000, 75.000000, 50.000000, 25.000000, 95.000000, 70.000000, 45.000000, 20.000000, 90.000000, 65.000000, 40.000000, 15.000000, 85.000000, 60.000000, 35.000000, 10.000000, 80.000000, 55.000000, 30.000000, 5.000000, 99.500000, 74.500000, 49.500000, 24.500000, 94.500000, 69.500000, 44.500000, 19.500000, 89.500000, 64.500000, 39.500000, 14.500000, 84.500000, 59.500000, 34.500000, 9.500000, 79.500000, 54.500000, 29.500000, 4.500000, 99.000000, 74.000000, 49.000000, 24.000000, 94.000000, 69.000000, 44.000000, 19.000000, 89.000000, 64.000000, 39.000000, 14.000000, 84.000000, 59.000000, 34.000000, 9.000000, 79.000000, 54.000000, 29.000000, 4.000000, 98.500000, 73.500000, 48.500000, 23.500000, 93.500000, 68.500000, 43.500000, 18.500000, 88.500000, 63.500000, 38.500000, 13.500000, 83.500000, 58.500000, 33.500000, 8.500000, 78.500000, 53.500000, 28.500000, 3.500000, 98.000000, 73.000000, 48.000000, 23.000000, 93.000000, 68.000000, 43.000000, 18.000000, 88.000000, 63.000000, 38.000000, 13.000000, 83.000000, 58.000000, 33.000000, 8.000000, 78.000000, 53.000000, 28.000000, 3.000000, 97.500000, 72.500000, 47.500000, 22.500000, 92.500000, 67.500000, 42.500000, 17.500000, 87.500000, 62.500000, 37.500000, 12.500000, 82.500000, 57.500000, 32.500000, 7.500000, 77.500000, 52.500000, 27.500000, 2.500000, 97.000000, 72.000000, 47.000000, 22.000000, 92.000000, 67.000000, 42.000000, 17.000000, 87.000000, 62.000000, 37.000000, 12.000000, 82.000000, 57.000000, 32.000000, 7.000000, 77.000000, 52.000000, 27.000000, 2.000000, 96.500000, 71.500000, 46.500000, 21.500000, 91.500000, 66.500000, 41.500000, 16.500000, 86.500000, 61.500000, 36.500000, 11.500000, 81.500000, 56.500000, 31.500000, 6.500000, 76.500000, 51.500000, 26.500000, 1.500000, 96.000000, 71.000000, 46.000000, 21.000000, 91.000000, 66.000000, 41.000000, 16.000000, 86.000000, 61.000000, 36.000000, 11.000000, 81.000000, 56.000000, 31.000000, 6.000000, 76.000000, 51.000000, 26.000000, 1.000000, 95.500000, 70.500000, 45.500000, 20.500000, 90.500000, 65.500000, 40.500000, 15.500000, 85.500000, 60.500000, 35.500000, 10.500000, 80.500000, 55.500000, 30.500000, 5.500000, 75.500000, 50.500000, 25.500000, 0.500000}, sd::DataType::FLOAT32); - NDArray expOutput( {bS, oH, oW, oC}, {-30844.250000, -29266.750000, -27689.250000, -26111.750000, -24534.250000, -52823.500000, -49718.500000, -46613.500000, -43508.500000, -40403.500000, -51118.500000, + NDArray expOutput('c', {bS, oH, oW, oC}, {-30844.250000, -29266.750000, -27689.250000, -26111.750000, -24534.250000, -52823.500000, -49718.500000, -46613.500000, -43508.500000, -40403.500000, -51118.500000, -48113.500000, -45108.500000, -42103.500000, -39098.500000, -21501.750000, -20024.250000, -18546.750000, -17069.250000, -15591.750000, -42981.000000, -39976.000000, -36971.000000, -33966.000000, -30961.000000, -69482.000000, -63572.000000, -57662.000000, -51752.000000, -45842.000000, -67072.000000, -61362.000000, -55652.000000, -49942.000000, -44232.000000, -26046.000000, -23241.000000, -20436.000000, -17631.000000, -14826.000000, -38616.000000, -35911.000000, -33206.000000, -30501.000000, -27796.000000, -62252.000000, -56942.000000, -51632.000000, -46322.000000, -41012.000000, -59842.000000, -54732.000000, -49622.000000, @@ -2793,15 +2791,15 @@ TEST_F(ConvolutionTests1, deconv2d_test10) { int dataFormat = 0; // 1-NHWC, 0-NCHW int wFormat = 2; // 0-[kH, kW, oC, iC], [iC, oC, kH, kW], [iC, kH, kW, oC] - NDArray input( {bS, iC, iH, iW}, sd::DataType::FLOAT32); - NDArray weights( {iC, kH, kW, oC}, {100., 95., 90., 85., 80., 75., 70., 65., 60., 55., 50., 45., 40., 35., 30., 25., 20., 15., 10., 5., 0., -5., -10., -15., + NDArray input('c', {bS, iC, iH, iW}, sd::DataType::FLOAT32); + NDArray weights('c', {iC, kH, kW, oC}, {100., 95., 90., 85., 80., 75., 70., 65., 60., 55., 50., 45., 40., 35., 30., 25., 20., 15., 10., 5., 0., -5., -10., -15., -20., -25., -30., -35., -40., -45., -50., -55., -60., -65., -70., -75., -80., -85., -90., -95., 99., 94., 89., 84., 79., 74., 69., 64., 59., 54., 49., 44., 39., 34., 29., 24., 19., 14., 9., 4., -1., -6., -11., -16., -21., -26., -31., -36., -41., -46., -51., -56., -61., -66., -71., -76., -81., -86., -91., -96., 98., 93., 88., 83., 78., 73., 68., 63., 58., 53., 48., 43., 38., 33., 28., 23., 18., 13., 8., 3., -2., -7., -12., -17., -22., -27., -32., -37., -42., -47., -52., -57., -62., -67., -72., -77., -82., -87., -92., -97., 97., 92., 87., 82., 77., 72., 67., 62., 57., 52., 47., 42., 37., 32., 27., 22., 17., 12., 7., 2., -3., -8., -13., -18., -23., -28., -33., -38., -43., -48., -53., -58., -63., -68., -73., -78., -83., -88., -93., -98., 96., 91., 86., 81., 76., 71., 66., 61., 56., 51., 46., 41., 36., 31., 26., 21., 16., 11., 6., 1., -4., -9., -14., -19., -24., -29., -34., -39., -44., -49., -54., -59., -64., -69., -74., -79., -84., -89., -94., -99.}, sd::DataType::FLOAT32); - NDArray expOutput( {bS, oC, oH, oW}, {-14128., -21007., -20934., -20861., -13660., -12972., -12926.000977, -12880., -13468., -12788., -12742., -12696.000977, + NDArray expOutput('c', {bS, oC, oH, oW}, {-14128., -21007., -20934., -20861., -13660., -12972., -12926.000977, -12880., -13468., -12788., -12742., -12696.000977, -13276., -12604., -12558., -12512., -13408., -19569.5, -19501.5, -19433.5, -12230., -10117., -10081.000977, -10045., -12058., -9973., -9937., -9901.000977, -11886., -9829., -9793., -9757., -12688., -18132., -18069., -18006., -10800., -7262., -7236., -7210., -10648., -7157.999512, -7132., -7106., -10496., -7054., -7027.999512, -7002., -11968., -16694.5, -16636.5, -16578.5, -9370., -4406.999023, -4391., -4375., -9238., -4343., -4326.999023, -4311., -9106., -4279., -4263., diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp index 16cbf25fa89b..4636d69d3672 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp @@ -106,10 +106,10 @@ TYPED_TEST(TypedConvolutionTests2, deconv2d_tf_test2) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, oH, oW, oC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, oC}); - auto outShape = NDArrayFactory::create('c', {4}, {static_cast(bS), static_cast(iH), static_cast(iW), static_cast(iC)}); - auto exp = NDArrayFactory::create('c', {bS, iH, iW, iC}, {2.75f, 7.75f, 12.75f, 17.75f, 22.75f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, + auto input = NDArrayFactory::create({bS, oH, oW, oC}); + auto weights = NDArrayFactory::create({kH, kW, iC, oC}); + auto outShape = NDArrayFactory::create({4}, {static_cast(bS), static_cast(iH), static_cast(iW), static_cast(iC)}); + auto exp = NDArrayFactory::create({bS, iH, iW, iC}, {2.75f, 7.75f, 12.75f, 17.75f, 22.75f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 30.5f, 40.5f, 50.5f, 60.5f, 70.5f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 55.5f, 65.5f, 75.5f, 85.5f, 95.5f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, 161.f, 181.f, 201.f, 221.f, 241.f, @@ -132,10 +132,10 @@ TYPED_TEST(TypedConvolutionTests2, deconv2d_tf_test2) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests2, Test_DeConv2D_TF_1) { - auto input0 = NDArrayFactory::create('c', {4}, {12.f, 5.f, 5.f, 32.f}); - auto input1 = NDArrayFactory::create('c', {2, 2, 32, 16}); - auto input2 = NDArrayFactory::create('c', {12, 4, 4, 16}); - auto exp = NDArrayFactory::create('c', {12, 5, 5, 32}); + auto input0 = NDArrayFactory::create({4}, {12.f, 5.f, 5.f, 32.f}); + auto input1 = NDArrayFactory::create({2, 2, 32, 16}); + auto input2 = NDArrayFactory::create({12, 4, 4, 16}); + auto exp = NDArrayFactory::create({12, 5, 5, 32}); sd::ops::deconv2d_tf op; auto result = op.evaluate({&input0, &input1, &input2}, {}, {2, 2, 1, 1, 0, 0, 1, 1, 0, 1}); @@ -147,9 +147,9 @@ TYPED_TEST(TypedConvolutionTests2, Test_DeConv2D_TF_1) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests2, Test_DeConv2D_TF_2) { - auto input0 = NDArrayFactory::create('c', {4}, {3.f, 8.f, 8.f, 16.f}); + auto input0 = NDArrayFactory::create({4}, {3.f, 8.f, 8.f, 16.f}); - auto input1 = NDArrayFactory::create('c', {7, 7, 16, 5}, {1.05293429f, -0.89349967f, 0.31027254f, 1.22991478f, -0.62926656f, 0.56918693f, + auto input1 = NDArrayFactory::create({7, 7, 16, 5}, {1.05293429f, -0.89349967f, 0.31027254f, 1.22991478f, -0.62926656f, 0.56918693f, -1.60992694f, 1.10167944f, -0.80843484f, 0.07521993f, -1.15994942f, 0.76016301f, -0.40056285f, -1.16872537f, -0.91384381f, -0.36700436f, 1.82389200f, -1.18200207f, 0.51612782f, -0.92479187f, -0.09307563f, -0.55122334f, 1.23532486f, -1.11124146f, -0.05812126f, 0.68159896f, 0.69125599f, -0.77127314f, -0.10874277f, 0.86469102f, -1.31614351f, 0.33354419f, -1.71750402f, 0.17197680f, -1.03965557f, 1.10570908f, -1.19115615f, 1.05115080f, 0.18277600f, 1.08820546f, -0.72191417f, -0.10999311f, 1.56521320f, -0.35433730f, -1.11799145f, 0.34499285f, 0.64998639f, -1.64371550f, 0.92592359f, -0.47659501f, 0.49101439f, -0.15613313f, 1.47486567f, 0.43576995f, 2.19538260f, -0.83567709f, -1.21846950f, 0.80400819f, 1.14637423f, -1.01503456f, -0.61992753f, -0.47378838f, 0.86503726f, 0.27147385f, 0.37073180f, -0.19951358f, 0.79167330f, -0.33982825f, 0.18631981f, -1.54715073f, 0.39967480f, 0.95067030f, 1.12508667f, -0.86676019f, -1.10341156f, 2.33141375f, 1.10972047f, 0.71407092f, @@ -163,8 +163,8 @@ TYPED_TEST(TypedConvolutionTests2, Test_DeConv2D_TF_2) { -1.09233856f, 1.12430644f, 0.52273953f, -0.68507338f, -0.69913578f, 0.88440478f, -0.76959240f, 1.07093310f, -0.34802195f, 0.35683727f, -0.76079178f, -1.92807376f, 0.84499562f, 1.39131641f, 0.44825050f, 0.34567752f, 0.44607711f, -1.00986362f, -0.50038189f, -0.09060892f, -2.55645394f, 0.56416476f, -0.83058155f, -0.65931624f, -0.73649710f, 0.59814465f, -0.86736494f, -0.32200798f, -1.28087902f, -0.76818323f, 0.86848933f, -0.98678392f, -1.30813944f, -0.20255326f, 0.26557815f, -0.31090519f, -1.46331608f, -0.62782109f, 0.59034890f, 1.63147473f, -0.17727259f, -0.37636510f, 1.27368402f, 0.19096918f, -0.29936951f, -1.99038267f, 0.54831523f, 0.48849005f, -2.55680346f, -0.63126534f, 1.21715927f, 1.22841084f, -0.67416084f, 0.02927168f, -0.36693662f, 0.63204330f, 0.13721083f, 0.28742912f, 0.19470036f, 0.74873924f, -1.47602463f, 0.86264688f, -0.23730527f, -0.99978864f, -1.17048764f, -0.34996086f, 1.43019187f, 0.26224539f, 0.60689932f, -0.75002515f, -0.79823422f, -1.37300086f, -0.19951135f, -0.12150808f, -0.75272322f, 0.23755015f, 0.31270382f, 1.66539109f, -1.04104745f, 0.79540199f, -0.54042423f, -0.54150617f, 0.43871084f, 0.24163951f, -0.24517761f, -0.66178995f, -1.13064528f, -0.84426326f, 0.56437236f, 0.09088907f, -0.82823074f, 0.81753862f, -1.74096012f, -1.80599844f, -0.60943592f, 1.36094582f, -1.47762752f, 0.15931177f, 1.05569172f, 0.36751524f, 0.06497604f, 0.13536447f, -1.57156146f, 0.22783801f, -0.96910107f, -1.24294984f, -1.47147155f, -1.04790676f, 0.64629447f, -0.32266054f, -0.55675793f, -0.95612079f, -0.23005411f, -0.75229394f, 0.03050950f, -1.72484553f, -2.06055546f, 0.19892083f, -0.13597751f, 0.65180075f, 0.27096850f, 0.08977254f, 0.57564765f, -0.43227410f, 0.09541437f, -0.00358280f, 0.65680492f, 0.04006556f, 0.57160908f, 0.43821687f, 1.96118212f, 0.42602235f, -0.36731303f, 0.67200917f, -0.56667900f, 0.44014785f, 0.06970236f, -1.34415269f, -1.13301528f, -0.08848868f, 0.35615012f, -0.06426942f, -0.81406075f, 0.94097465f, -0.54560357f, -0.65877116f, -1.29646838f, -1.13109028f, -1.64186084f, -2.12723470f, 1.86027610f, 1.22621441f, 0.26098135f, -0.05608099f, 0.21143445f, -0.87244326f, 0.79408187f, 1.24279130f, 0.14458629f, 0.25532281f, -1.24023473f, 2.42278886f, 0.00405578f, -1.00119174f, 1.19856644f, -1.37395728f, -0.16656208f, 0.46858498f, -0.00678801f, -0.34960639f, 0.16614936f, 2.41560221f, -0.53880709f, 0.91618651f, -1.77009308f, 0.32911557f, 0.30216452f, 0.02881077f, 0.77705866f, 0.27061903f, -0.07440855f, -1.14010465f, 1.25383139f, -1.58615100f, 1.04185510f, 0.15140508f, -0.88059032f, -0.33872122f, -0.42526904f, 2.17365575f, 0.29308075f, -2.24234557f, -1.03164542f, -0.09263755f, 0.08050421f, -0.74946511f, -0.64589006f, -1.13416314f, -0.64989561f, 0.16502371f, -0.33831969f, 0.22832428f, -0.08389475f, -0.28009200f, 1.34536922f, -0.19075738f, 0.36238208f, 0.83690089f, 0.26144615f, 0.04457319f, -2.55585861f, -0.01807522f, 1.68334866f, -0.05795629f, -0.21315987f, -1.84039557f, 0.06512877f, -1.77318645f, -0.27637982f, 0.20439345f, 0.67558700f, -0.77179354f, -0.17902173f, 0.70381826f, -0.40395790f, -0.96492916f, 0.84138173f, 2.43879008f, -0.32297835f, -1.74370265f, -0.10330839f, -1.07465363f, 1.85030377f, -0.59153467f, 0.99667048f, -0.56753993f, 0.57383025f, -1.90630126f, 1.24299097f, 0.22797665f, 0.30468231f, -0.07360230f, 1.64654350f, 0.57195550f, 0.03227921f, 1.11005175f, 0.00088721f, 1.19266295f, 0.61323351f, 0.13754399f, 0.59900171f, -0.75831634f, 1.11500823f, 0.99747783f, -1.36923385f, 1.26563418f, 0.01253266f, 0.35483193f, 1.95143735f, -2.02703261f, -1.38265920f, -0.02404256f, 2.02788448f, -0.75144875f, -0.58445263f, 0.26129767f, 0.60691077f, -1.84661067f, 0.65872228f, -0.58298993f, 0.33067298f, -0.09431327f, 0.43333948f, -1.52616286f, -0.25961858f, -1.65459549f, -0.72950101f, -0.89906919f, -0.80081612f, -1.32189929f, -1.36574399f, -0.35809481f, 0.36385000f, 0.31480747f, -0.35797358f, -1.04066050f, 0.07971872f, -0.21176252f, -0.76559299f, -0.10352154f, 0.29248312f, -1.75030553f, 0.68219930f, 0.56189102f, -1.11212170f, 0.06501702f, -0.07131009f, 1.23410738f, 0.29311740f, -1.02052307f, 1.40220940f, -1.00995779f, 0.57955760f, 0.22640309f, 0.74853230f, -0.02586563f, -0.33427954f, 1.70311153f, -0.53405988f, 0.90975094f, -0.46450076f, 0.19904344f, 0.28559047f, 0.23167793f, -0.69065529f, -0.17176504f, -0.29301846f, -0.85477978f, -0.00267053f, -0.28529504f, -0.64201307f, 1.03479636f, 1.03805065f, 0.83270210f, -0.09405448f, 2.50615931f, 0.62019676f, 0.31354564f, -1.51599669f, 0.42848015f, 0.66263914f, 0.74651009f, -1.13042867f, -0.58933645f, -0.35146511f, 0.06223279f, 0.28065836f, 0.66506970f, 0.16942430f, -0.23316263f, -0.87481076f, 1.21992230f, 1.48536301f, -0.79667616f, -0.75519305f, 1.40999961f, -0.42802793f, -0.20252463f, 0.30573779f, -0.23319976f, 1.77525878f, -1.80704832f, 2.71519923f, -0.67500192f, 0.12268137f, -0.13014549f, -0.07479453f, -1.51065743f, 1.04198146f, 0.96205556f, -2.00525570f, -0.37911776f, 0.89329720f, -0.39495832f, -0.03683375f, -0.90928614f, -1.56263304f, 0.45038295f, -2.62184358f, -0.45686841f, -0.52536523f, 1.05351484f, 0.89982438f, -0.63724512f, 3.21004057f, -0.08608918f, 1.55209303f, 0.62688643f, -0.59702635f, 1.85774517f, 0.38172096f, -1.25640929f, -2.59278178f, 0.85050315f, -1.10080361f, -1.26422560f, -1.80045366f, -0.34494889f, 0.68448657f, 1.25671864f, -1.26594126f, 0.32244179f, -0.51956522f, -0.56212711f, -0.95574015f, 0.71973872f, 0.46736258f, -0.11772985f, -1.52736545f, 0.19571695f, 0.73147154f, 0.87724912f, -0.26265728f, -2.60267401f, 0.19263546f, 0.18320183f, 0.11485019f, -0.82999659f, 0.13582672f, -0.08040185f, 0.28152901f, -0.51421624f, -2.32467175f, 0.19923948f, 0.64616692f, 0.29718629f, 0.32785949f, -0.62266952f, -0.98174316f, 1.23276305f, 0.58563638f, 1.28528512f, -2.13718534f, 0.28842899f, 0.12676710f, -1.72105229f, 0.15053287f, 2.19496536f, 1.28683448f, -0.96318281f, 0.17043279f, -0.05245409f, -0.38710704f, -0.30441490f, -0.08249986f, 0.28423953f, 0.72963721f, -1.49658203f, 0.99077344f, -0.78913772f, -1.12661564f, -1.26294816f, 0.16517465f, 0.10124251f, -0.77198768f, -0.16342169f, 0.08615876f, 0.49711797f, -0.66083062f, 0.76648003f, 1.04756033f, 1.46122825f, -0.42798752f, -2.29203916f, 0.30444992f, 0.58697921f, 1.22166932f, 0.09022947f, -0.03920181f, 0.10444995f, 0.10361757f, 1.18224072f, -0.76641631f, 0.90802073f, 1.41639423f, 1.55682337f, 1.28101575f, -0.35396016f, 1.11443567f, 1.18218529f, -0.06048089f, 0.85024464f, -1.01789165f, -0.69154263f, 0.06663221f, 0.68429029f, 0.12560424f, 0.37915874f, -0.66829866f, -0.64524972f, -0.05568011f, 0.12230454f, -0.35041061f, 0.62027830f, -0.16739209f, -0.72145337f, 0.46263054f, -1.67837834f, 0.69413221f, -0.57243419f, 0.37638462f, -0.21446526f, -0.89821470f, 0.60078722f, -1.06706369f, -1.26132309f, 0.35714921f, 2.39221811f, -0.09376130f, 0.30760849f, 0.59180892f, 0.55815399f, -0.32628775f, 1.28890121f, -2.53237987f, -0.98241091f, 1.10520673f, -1.74751687f, -0.90837651f, -0.25220659f, -0.56625104f, -0.30691949f, 0.16058689f, 0.44309673f, -1.09874964f, -0.76747823f, -0.33679363f, -0.02535496f, 0.00990100f, 1.35318136f, -0.70140815f, 0.50937581f, 0.55386209f, -1.21721983f, 0.71376961f, -0.18079315f, -0.11077732f, 0.09292522f, -0.57235324f, 0.62748206f, 0.42587611f, 0.64860481f, -1.10635614f, 1.66414368f, 0.47505483f, 1.48602211f, -0.59611166f, -0.41932896f, -0.96542233f, -0.41756630f, -1.02963889f, -0.70070386f, 1.65803933f, 0.20138647f, 0.05895034f, -1.46152759f, -0.37278318f, 1.05535650f, 0.34437978f, -1.13257408f, 0.17635690f, 0.09386671f, 0.37079874f, 1.47695887f, -1.58420062f, -0.26100200f, 0.44847637f, 0.88847303f, -0.13877590f, -0.64620668f, -0.38019657f, 1.01608157f, 0.13357787f, 0.05137976f, 0.93498152f, -0.62226880f, 0.80461699f, -0.71682596f, -0.88756353f, 0.40933055f, -1.52167451f, 0.79756850f, -0.17307425f, 0.62368619f, -0.22466940f, -1.72802913f, 0.59047443f, -0.58020931f, 0.09096476f, -0.07317388f, 0.44522321f, -0.64880705f, 0.15684015f, 0.08708375f, -0.41556796f, 1.11579072f, -0.81733495f, 0.11643656f, -0.73995101f, 0.93685871f, 1.57971406f, 0.67606360f, 0.70509088f, -0.25283816f, -0.00010609f, -0.61884147f, -0.86409342f, 0.95383751f, -0.05895388f, -1.45261180f, 0.45166013f, -1.01434863f, 0.18496066f, 1.06517637f, 1.81127059f, 0.89470667f, -0.13232610f, 0.46958798f, 0.13884509f, 0.57117194f, 0.29575035f, -0.97884250f, 0.83291447f, -0.59255791f, -0.04354135f, -0.19431923f, 0.30071029f, -0.95421529f, 0.76359886f, -0.47799742f, 0.68254346f, 1.19368529f, -0.48935115f, 0.30357337f, -0.50225669f, -0.23370270f, 1.96702433f, 1.46558523f, 2.68482018f, 0.41622332f, 0.73697484f, 1.43430734f, 0.15387188f, 0.20875402f, -2.49335337f, -1.39674246f, -0.22125854f, -0.00424605f, 0.91416460f, 0.33384630f, 0.44703746f, 0.25610185f, 0.38966551f, -0.01784045f, 1.66148460f, 0.36005461f, 0.95716912f, -0.18246566f, -0.15480693f, 0.38775176f, -0.56969136f, -0.29644895f, -1.04565966f, -1.00455630f, 0.30897698f, -1.46885884f, 0.03657720f, -0.49302089f, 1.34134722f, 0.01673754f, 1.22725964f, 0.55256772f, 0.63803208f, -0.29041430f, 1.11455286f, 0.76329172f, 0.27073982f, 0.77173829f, -1.79884446f, -0.11889492f, -1.92040312f, -0.46382675f, 0.20078070f, -0.98889589f, 1.46711135f, -1.68280172f, -0.52852470f, 0.66245162f, 0.29575166f, 1.34826505f, -0.22362417f, -0.14345661f, -2.34815073f, 1.26572001f, 0.66505629f, 1.01141500f, 1.08030057f, 0.17036134f, 0.00168786f, -0.37282917f, 0.69206375f, 1.07367527f, -0.49708191f, 1.49504781f, 0.58224988f, 0.96593714f, -1.07661915f, 0.25202179f, 0.25531644f, 0.42357162f, -0.31236249f, 0.48383278f, -0.06361829f, 0.24131298f, -0.95695931f, -0.12589653f, 0.36134180f, 3.20266032f, -0.40879184f, -0.66985190f, 1.51674330f, 0.34072638f, 1.15076303f, -0.40199137f, 0.46223637f, -0.48608047f, 0.99119538f, -0.22506073f, 0.30968750f, 0.64210880f, 0.54640514f, 0.18607031f, 1.26293361f, -0.77960914f, 0.79572529f, 1.01936150f, 2.27160740f, -1.48034489f, 0.74466604f, 0.14863680f, 0.31102443f, -1.15673816f, -0.38609681f, -2.65026069f, -0.45524642f, -0.74022961f, 2.74991131f, 0.00103815f, -3.03303242f, -0.41556966f, -0.87103498f, 0.78306234f, -0.88195556f, -0.77297026f, 1.21203196f, -1.09754920f, -0.03556008f, -0.31546223f, 0.72954375f, 0.25251788f, 0.11378583f, 0.50921023f, 0.30301905f, -1.60631680f, 0.27152416f, 1.17342317f, -0.70891970f, -0.08392961f, 0.92137378f, -0.10568139f, -0.31653777f, -0.28878728f, 1.22166574f, 1.12693942f, -0.21325994f, 0.94010323f, 1.21796405f, -0.68866694f, 2.30724216f, 0.28141466f, 0.83481526f, -0.04885862f, 0.01675143f, 1.04355800f, -0.81050140f, 1.51300573f, 0.53429186f, -0.56439877f, 0.38572624f, -0.05620475f, 0.67644542f, 0.72528905f, 0.05937041f, -1.06315899f, -0.51393986f, 0.46937627f, -0.34699562f, -0.64765716f, -1.45512629f, 0.47739139f, -0.88228017f, -2.00791359f, 1.29929042f, 0.05482405f, -0.66725296f, -0.54735124f, 0.09972951f, 0.76675093f, 0.98748523f, 0.08900899f, -0.78854066f, 1.47970486f, -0.61667502f, 0.45625573f, -0.21766303f, -0.46250847f, -0.07130960f, 0.64414692f, 0.12784545f, 0.26393634f, 1.07720757f, -1.23938286f, 0.62483376f, -0.55001754f, -0.05358591f, 0.07322436f, 1.12003291f, -1.00830650f, -0.20486419f, 0.76664752f, 0.28850746f, -0.04464776f, -0.40146068f, 0.73262817f, -1.12827921f, -0.19989438f, -1.15999687f, 1.37973154f, 0.78881019f, -0.34762639f, 1.22088552f, -1.64088547f, 0.63218033f, 0.45736769f, 0.05502866f, 2.22683382f, -1.78935897f, -1.49635041f, 0.83450896f, 1.67770112f, 1.33909333f, 1.51158953f, 0.28595078f, -0.08593627f, 0.45812801f, -0.15193029f, 1.14770603f, -0.88920450f, -1.96352005f, -1.49894583f, 0.49629962f, 1.59872091f, 0.00903497f, 2.15563583f, 2.25149560f, -2.01200557f, 2.56229877f, -1.38850498f, 0.73552012f, -0.39378855f, 0.52616280f, -0.03685786f, 0.87403935f, 0.12163408f, 0.74297994f, -0.30697080f, 0.38139752f, 0.49113834f, -0.95485127f, -0.99908817f, 0.71716321f, 0.04000283f, -2.09645271f, 1.38789880f, 1.37198520f, 0.82493287f, 0.17114936f, 0.53696346f, -0.19516060f, -0.50377476f, -0.91730285f, -0.70113552f, -0.02406530f, 0.84943396f, -0.17428185f, -1.09140801f, -0.68156958f, 1.70756388f, -1.00399911f, 0.03023832f, -0.39023280f, -1.89737976f, 1.14469039f, -0.58337289f, -0.60037899f, -1.17490256f, -1.56342828f, 0.48714057f, 0.62266618f, -0.15967095f, 1.32789338f, -1.25700688f, -0.55633998f, -0.83128709f, -0.49346271f, 1.59561753f, -0.24675299f, 0.38012561f, 0.91796309f, -0.38522810f, -0.65509188f, 0.94100451f, -0.57324487f, 2.19070768f, 1.24058700f, -0.75978851f, -0.40460554f, 0.79189235f, 0.70192885f, 1.93569362f, -0.03070199f, 0.77010989f, 0.58794290f, 0.51087004f, 0.22892070f, 0.35007235f, 1.56023848f, -0.67453802f, -0.18485607f, 0.64349502f, -0.31489357f, -1.95834625f, 0.06560058f, 2.30394220f, 1.18194163f, -0.88034087f, -1.05000436f, -1.05471325f, -0.98481798f, 0.49904808f, 0.16438948f, -1.10297823f, -1.39736509f, 0.01306054f, -1.85160267f, -0.87292641f, -0.15418227f, 0.43412164f, 1.16518164f, 0.06273691f, 0.24659210f, -0.08267246f, 1.28885782f, 0.73575675f, -0.01019809f, -0.08753663f, -0.61827368f, -0.40863234f, 2.12599611f, -0.53620332f, 0.53789747f, -0.66386080f, -1.70461988f, 0.86608189f, -1.11151052f, 0.14120635f, 1.18858743f, -0.31760478f, -0.73533046f, 0.20978074f, -0.84074509f, 0.16523147f, -1.03362834f, 0.59721231f, 0.21318658f, 0.23671274f, 1.75115061f, 0.25363782f, -1.32541454f, 1.13056135f, 0.24652456f, 0.60381413f, 0.21478581f, 0.75044096f, -0.63125616f, -1.69889998f, -0.02116571f, 1.46165359f, 1.03068244f, 0.63693464f, 0.67795700f, 1.20033514f, -1.39205134f, -0.61743122f, 0.56549704f, 0.65182322f, -0.74250507f, -1.61939359f, 1.14054918f, -0.45725963f, 1.74519682f, -0.66251940f, -0.94811529f, -1.60865819f, -0.59968346f, 0.86309159f, -1.91936195f, -1.02646923f, -1.50352538f, 0.58292735f, 0.05320299f, 1.53582895f, 0.01069612f, 0.15226212f, -0.71840125f, -1.36896348f, 2.14600968f, 0.96626586f, -0.52014917f, 0.41001406f, 0.59478027f, 0.15282436f, 0.27790198f, 0.76614654f, -0.38971323f, -0.01839927f, -1.57882118f, 0.61391610f, -0.62133092f, -0.03968323f, -0.88467252f, -1.24041140f, 2.07306671f, -0.41776338f, 0.14537935f, -0.91069067f, 1.67362070f, 4.72630215f, -0.07395106f, 0.46280116f, -0.40843824f, 0.70683080f, -0.27510864f, -0.63465804f, -0.83630908f, -0.44419941f, 0.60405648f, -0.65039170f, -1.02413189f, 1.05983019f, 1.73366308f, 0.73343736f, -0.00895882f, -1.00826013f, 0.17323074f, 0.73995626f, 0.24128854f, 0.94510227f, 0.25557515f, 0.02244723f, -0.95197725f, -0.16297856f, -0.38497585f, 1.17993331f, 1.20282137f, -1.31491220f, 0.44229278f, -0.24349044f, -0.01230415f, 1.37944865f, 0.48554277f, -0.54510897f, -0.10793537f, 0.41121426f, -0.12889031f, 0.26434359f, 1.27966082f, 0.64518744f, -0.15577169f, -0.99864733f, -0.61746484f, 2.01614976f, 1.56254935f, 1.86473298f, -0.54662132f, -0.22047071f, -0.06118120f, 0.84799510f, 0.17009684f, -1.30523121f, 0.64000309f, 0.36299205f, -0.59620583f, 1.36372304f, -0.05389515f, -0.93849313f, 0.98043185f, -0.39373067f, -0.84898937f, 1.32077873f, 1.05988657f, -1.35339200f, 0.23259017f, 0.63816410f, -0.80297333f, 0.60017115f, 1.25715804f, 1.18894124f, -0.62473553f, 1.05611980f, 0.02335166f, 1.07509828f, 0.25873449f, -1.68341100f, 0.54547334f, 0.79288185f, -0.93678916f, 0.19202201f, -1.48575914f, 1.08649087f, 0.50851744f, -0.45758674f, -0.39734635f, 0.35637981f, -1.63079453f, -0.75910008f, 0.92640859f, -0.55599529f, -0.40276715f, 0.31307653f, 0.39907026f, -1.18830419f, 0.71051043f, 0.14157933f, -0.39581308f, -1.64361024f, -0.06161860f, -0.25312796f, 1.10018682f, 0.56500763f, 0.80385065f, 0.35395023f, 0.81813669f, 0.27644628f, 0.65563256f, 1.73197234f, 0.68178749f, 0.76769936f, 0.44597456f, 0.67761195f, 0.67635447f, -0.32315412f, 0.19330767f, -0.25557944f, 1.91693723f, 0.38335562f, 0.07107610f, -0.57384586f, 0.79184365f, 1.87835479f, 0.60902315f, -0.94220877f, 0.79479855f, -0.25656971f, 0.08739131f, 0.53384244f, 1.22159266f, -0.39152125f, -1.46373534f, -0.02458516f, 1.62825716f, -1.26112676f, 0.19967082f, -0.71114451f, 0.27929229f, 0.65001321f, -0.11868202f, -0.55587751f, 0.78069001f, 0.57969242f, -0.60274386f, 0.31650013f, 0.90339553f, 0.09453616f, -0.37119162f, -1.00320566f, 0.33299938f, -0.48636708f, 0.26342997f, -0.91914523f, 0.28682709f, -1.24780893f, -1.59254742f, 0.97176319f, 0.14744301f, -0.53056234f, -1.73221612f, -0.67645556f, 0.98705006f, 0.79895812f, -2.04333115f, -0.60132772f, -0.91653955f, -0.28094748f, 0.47943443f, 0.38157779f, -0.67648011f, 1.09093642f, 1.66012859f, -0.29358891f, -1.26773024f, 0.36747769f, -1.10141146f, 0.82383633f, -0.89772314f, -0.47145563f, 0.63939518f, -0.64430422f, -0.48889321f, -0.37680882f, -1.06962025f, -1.28689516f, 1.28365147f, 0.61859220f, -0.84676331f, 1.38404000f, 1.21053445f, -0.14871351f, 1.06349385f, 1.45878971f, -0.47362664f, 1.40707004f, 1.25224137f, 0.87364739f, 0.92858213f, 0.00157326f, 1.45661485f, -0.27318576f, 0.15482858f, -1.07058907f, -0.06903186f, -0.74147576f, -1.64111829f, -0.67226541f, -1.13458407f, 1.28511488f, -0.41041154f, 2.09085560f, 0.45243183f, -0.67437285f, 0.84960121f, -1.49300814f, -0.42961186f, -2.35021853f, 0.57255560f, -0.73903763f, 1.37607956f, -2.44575167f, 1.25105727f, 1.38575912f, -1.16299784f, -0.13719854f, -1.11507034f, 0.35796806f, -0.64511567f, -0.87903833f, 0.32833642f, -0.87696886f, 0.02714214f, 0.30224666f, -0.69118696f, -1.23500824f, 0.76678628f, -3.20508122f, -0.24704689f, 0.49019828f, -1.20862615f, -0.03778638f, -0.07273687f, -0.11517122f, -1.75857520f, -1.64188445f, 1.21574795f, 0.57325113f, 1.14370298f, -1.07824504f, 1.70653832f, -0.03700557f, -0.47645858f, 0.11065386f, -1.03143036f, -2.18094873f, -0.94403434f, -0.09335683f, -0.44817665f, 1.39707148f, -1.21947956f, 0.56575936f, -0.69612634f, -1.12361753f, -0.17105591f, 1.15422392f, 0.02840637f, 0.09469353f, -0.52859986f, -2.08487725f, 1.28789508f, -0.03740775f, 0.61196613f, 1.23405397f, 1.56595814f, -0.65800631f, 2.02985072f, -0.69446486f, -0.88443804f, -0.23448054f, -0.43628734f, -0.45888957f, -0.21943338f, 1.78258693f, 1.75214970f, 0.71804136f, 0.49782532f, 0.37886053f, -1.59176385f, -1.74758542f, -0.02820176f, 0.75398153f, 1.00119829f, 0.80881971f, -0.53365272f, -0.22720885f, 0.37476870f, 0.01005529f, -1.23421800f, -0.13431595f, -1.01843679f, 1.87386346f, -1.68539488f, -1.04942071f, -0.77322137f, 0.53964764f, 0.29278332f, -0.58299130f, -1.56022692f, -0.79441273f, 0.49289709f, 0.44112054f, 1.07305002f, 0.54899335f, 1.13781393f, 0.77809113f, 0.81795985f, 0.16576190f, 0.32552773f, -0.20250474f, 1.46543837f, 0.12731771f, 0.21013761f, -1.34241438f, 0.44267517f, 0.93246883f, 0.08808212f, 0.92653406f, -1.21083558f, 0.17247954f, -0.70557106f, 0.04630012f, 0.48834828f, 0.89634645f, 0.46683592f, -0.29553145f, 0.46363977f, -0.48971879f, -0.88603491f, -0.12333342f, 0.37073737f, 0.92061806f, 0.54675460f, -0.14716248f, 0.75578392f, -0.98173791f, -1.15983224f, -0.58713156f, 0.07950903f, -0.59016788f, 0.41622928f, -0.32474482f, 0.42086437f, 0.23061797f, 0.62596649f, -0.22615278f, -2.14721417f, 1.01685894f, -0.25976995f, 0.00739352f, -1.31597066f, 0.39005190f, -1.09549701f, 1.68375242f, 0.43331525f, -0.37124026f, 0.22255214f, 0.59654880f, -0.73840386f, -1.20048976f, 0.12226126f, 0.12997478f, 1.04826224f, 0.03894836f, -0.36289826f, 1.14466560f, -1.18198848f, -0.03713558f, 0.67677927f, -0.42329931f, -0.89409167f, -0.77874780f, 0.58438253f, -0.35176343f, -1.53329861f, -0.02995299f, -0.40145162f, -1.51052392f, 0.09194464f, -1.13275242f, -0.61983156f, -0.40004560f, -0.19893464f, 0.22134103f, -0.03903082f, 1.14894116f, -0.03476744f, 0.22520730f, -0.55851930f, 0.76650429f, -0.57863152f, -1.34161711f, -0.31498179f, -1.19411755f, 1.70044947f, -0.17428267f, -0.35983825f, -0.42613637f, 0.58165723f, -0.77866900f, -1.59727287f, -0.61723864f, 1.51078022f, 0.32971445f, -0.86441469f, 0.60552609f, 0.00208178f, -0.47096625f, -1.10479307f, -1.21652532f, -0.08211990f, -1.43739200f, -1.31684434f, 0.43312529f, -0.76822090f, 1.88128507f, -0.02179282f, 1.04971325f, -1.55004108f, 1.25337446f, 0.11203052f, -1.16048300f, 1.59467411f, -1.29469275f, 1.14019871f, 1.20021439f, 1.84098923f, 0.05004879f, 0.73529941f, 2.05272865f, -0.13080600f, -0.08436690f, -1.17919350f, -0.66256678f, -0.36727047f, 0.73840511f, 1.22293818f, -0.00206342f, -0.29839504f, -0.00618613f, 1.04213119f, 1.21176076f, -0.62886089f, -0.02589060f, 0.96009409f, -0.64478731f, -1.16516542f, 0.57528079f, 1.04294407f, -0.09774588f, 0.45935291f, 1.03263175f, 1.00633478f, -1.82209253f, -0.18035053f, -0.28302726f, -0.83813244f, 0.57593471f, -0.03807700f, 1.60498738f, 0.16530658f, -1.43083501f, 2.10824299f, 0.30279446f, -0.03961089f, -0.38900724f, 1.31272805f, -0.56575215f, 0.57970244f, -0.48305038f, 1.34114623f, 0.21859215f, 0.66399640f, -1.52087069f, -1.30717897f, 0.14394683f, 0.97648209f, -0.71372712f, -1.22574198f, -0.27702177f, 0.04041927f, 0.02442212f, 2.19617033f, -0.48566443f, 0.81463927f, 0.20383844f, 1.17562282f, -0.33829874f, -0.42141283f, -0.96415234f, -2.39141965f, -1.04285860f, -0.23004992f, 0.41186509f, 0.03811268f, 0.36818987f, -0.71099734f, -0.56749570f, 0.18486284f, -0.44530040f, 2.14008284f, -0.27467576f, 1.70690107f, -1.40462613f, 0.24697532f, -1.31629777f, -2.20674944f, -0.67868507f, -1.15767133f, -0.64391804f, -1.79037917f, 0.58749497f, -1.58303332f, -0.69021022f, 1.64376318f, -0.95393223f, 1.98415601f, -0.10991055f, 0.02474386f, 0.23683345f, -0.63420391f, -0.57991928f, 0.83028817f, -0.40033704f, 0.19212338f, 0.74640590f, 1.10264432f, -1.65286255f, 0.92683482f, -1.42252541f, -0.74605089f, 2.14535880f, 0.12971123f, -0.47971717f, 1.67546797f, 0.42268261f, 0.22648531f, -0.42369929f, 0.77403021f, -1.31818616f, -0.67143595f, -0.04311426f, 1.64128351f, 0.34776631f, -0.39353722f, -0.42765084f, 0.16170517f, -0.54488391f, -0.38428506f, 0.42097485f, -0.55982012f, -1.74543798f, 1.53704774f, 0.43562424f, -0.30395737f, 0.31846946f, 0.39205357f, 0.57386035f, -1.11912560f, -1.39164317f, -1.04337609f, 0.31629622f, 1.51927638f, 0.88745505f, -0.40445471f, 0.25783861f, 1.88646257f, 0.36509129f, -1.13266826f, -0.45394278f, -0.48400903f, -1.22332740f, 0.38626808f, -1.10049105f, 0.84138852f, 1.27863181f, 0.53942156f, -0.67743856f, -0.03896645f, 1.70393491f, 0.60997570f, 0.43368068f, -0.13338457f, -0.18920666f, -0.29583672f, -1.40738738f, 1.03876019f, 1.71253765f, 2.12821221f, -0.96092403f, 0.93841934f, -0.79030478f, 1.36427641f, -1.39196694f, 0.08514920f, 0.16223004f, 0.71259701f, 0.20150672f, 0.25068361f, -0.99952722f, 1.80129099f, -1.28586197f, -0.64957166f, -0.94813949f, -0.40161121f, 0.31977695f, 0.54932386f, -0.67757767f, 1.88086259f, 0.92337233f, -1.64887333f, 0.44333732f, -0.19468001f, 0.12977587f, 0.21171951f, 0.27679422f, 0.49134475f, -1.44429457f, 1.25617445f, 0.39978400f, 0.99869555f, -1.61617446f, 1.61177349f, 0.70243025f, -0.95748568f, -0.61795151f, -0.77302909f, 0.72967088f, 0.81964350f, -0.71813750f, 0.90140164f, -1.45950246f, -0.79972702f, 0.40875742f, 0.00152073f, -1.74491429f, 1.53776145f, 0.75769204f, -0.22075878f, -0.58385569f, 2.18884754f, 0.33597681f, -1.66265559f, 1.03805876f, -1.55245185f, -0.03582226f, -1.94542754f, -0.76081425f, -0.50471377f, 1.35763168f, -0.39631784f, -0.17134467f, -0.82220149f, -0.41021580f, -0.00940776f, -0.80176353f, -0.19816744f, 1.22061026f, -0.14486519f, -0.71727395f, -0.65721530f, 0.47020102f, -0.70403302f, -0.94795334f, 1.79884899f, 0.07779162f, -1.50615680f, 0.04140327f, -0.22001404f, 0.63735324f, 0.79237640f, -2.25412822f, -0.52519119f, -0.87280381f, -0.07100742f, -0.94734806f, -0.12286110f, -0.13623615f, -0.42595413f, 0.17547913f, -0.81707209f, 0.36855817f, -1.68186557f, 0.19312963f, -0.66249490f, -0.98283452f, -0.33314428f, 0.40918943f, 0.88268638f, -0.05390308f, -0.22440539f, -0.15879378f, -0.34859571f, -0.01013108f, -0.30005428f, -1.19408464f, 0.21789688f, -1.07769871f, 0.81475031f, -0.69555300f, 2.35201311f, -0.40362412f, 0.93497628f, 1.13343573f, 0.92343372f, 0.26987928f, 0.46123627f, 0.22577702f, 1.26289701f, -0.45956740f, 0.55994868f, -0.58410591f, 0.13304594f, -0.25806463f, 0.49044946f, -0.82065403f, -3.06672239f, -0.27774641f, 0.68504512f, -0.21386372f, 1.11427057f, -0.73201770f, 0.51655543f, 1.77261138f, 0.72081727f, 0.11116749f, 0.16637769f, -0.74987584f, 0.66579849f, -0.75808716f, 0.20678560f, -0.67698354f, -0.82141948f, 0.61008269f, 0.66520184f, 0.44894725f, 0.73015076f, -1.52517414f, 0.11714164f, 1.90452611f, -1.30355322f, 0.12144456f, 1.18547559f, -0.07349755f, -2.28061509f, 0.83522540f, 0.78438890f, 2.19334102f, 0.90305614f, -0.59345531f, 0.77925014f, 1.32338643f, 0.14068902f, 1.19032264f, 0.20666829f, -0.76595837f, 0.74967057f, 2.86965609f, 0.55690205f, -1.72530472f, -0.83317834f, -0.85842621f, -0.29678273f, 1.80955839f, -0.70496303f, 1.19106734f, -0.92985237f, -1.00617313f, -0.56049556f, -0.29382578f, -2.04022193f, -1.95356870f, -0.42553005f, -0.33369407f, 1.02115977f, -1.45769477f, -0.67720300f, 0.53819913f, 1.57643425f, -0.47015440f, -1.47861958f, -0.00545934f, -0.97836047f, 0.42680529f, 1.56110144f, -1.49487829f, -0.65198445f, 0.22720462f, 1.83036661f, -0.47099793f, -0.09915133f, 0.14923312f, -1.16313052f, 0.67798084f, -1.63665557f, -0.38220280f, 0.01719763f, 0.30041245f, 0.43148938f, -0.44021657f, -1.25734651f, 0.02465564f, -1.00845659f, -0.28574651f, 0.01367745f, 0.77253437f, -0.99399441f, 0.61445391f, 0.18343423f, -0.50997210f, 0.41359940f, 0.77279282f, 0.83511519f, 0.27929801f, 0.70800692f, -0.20278299f, 1.57884383f, 0.22650529f, 0.43347472f, 0.74003208f, -0.71401161f, -0.69829476f, -1.56766701f, -0.99254119f, 1.27301061f, 2.73726511f, 0.66089469f, -1.95778012f, -1.24642098f, -0.63579029f, -1.63168180f, -0.66980726f, 0.81933254f, 0.61866677f, 1.40594471f, 0.05158535f, 0.00196500f, -0.24592508f, -0.50780547f, -0.83905292f, -0.10748957f, 0.04490763f, 0.27769178f, -0.23227681f, 0.82108080f, 0.03562285f, 0.95483875f, -1.49897683f, 0.67809856f, 0.35497451f, -0.44021592f, -1.67361462f, -0.88895375f, 1.44293678f, -0.85046643f, -0.46437624f, -1.87252641f, 0.26775804f, -0.24535774f, 0.73365933f, 0.52253938f, 0.27947086f, -0.58796054f, 0.59045380f, 1.93476331f, -0.46775359f, 0.25238225f, -1.26601815f, -0.13324316f, -0.71454948f, -0.21610366f, -1.49586582f, 1.04903507f, 0.22208478f, 0.25512528f, -0.46157327f, -0.41319233f, -0.63846964f, -0.25100923f, 0.81277549f, -0.26959971f, 0.88737756f, 1.24578953f, -0.91121447f, -1.05756927f, 0.44390878f, 0.16672316f, -1.22941923f, 0.89547867f, -1.50212002f, -1.69620168f, 0.53339505f, -0.23656729f, -1.69879091f, 0.01510374f, 0.08315694f, -0.73196459f, -1.60263407f, -1.07601058f, -0.76389569f, -1.65307498f, -0.61484390f, -0.43546933f, 0.71318507f, -0.16273083f, 0.64122051f, -0.15406294f, 1.17673671f, -0.91240519f, 0.71091145f, 2.40497613f, 1.26343656f, 0.71469337f, 0.20705548f, 0.81776261f, 0.36253929f, -1.92106628f, -0.09300470f, -0.36648872f, 1.27732766f, -0.39180157f, -0.61186749f, -1.03455031f, -0.25079829f, -0.61479062f, -1.07094336f, 0.82218504f, 0.89934880f, 0.41308978f, -0.59968555f, 0.37682834f, -1.77388155f, 0.00294951f, -0.66145372f, -0.50789726f, -0.85123241f, -0.89909405f, -1.89454281f, -0.56692821f, 1.52272677f, -0.11961794f, 0.27843913f, -0.60582250f, 1.01871169f, -0.36098275f, -0.12242325f, -0.67375034f, -0.11204147f, -2.62773919f, -0.95901299f, 0.14040214f, 1.32364666f, -1.35099924f, -0.11077739f, -0.79319423f, 0.75949597f, -0.25485823f, -0.90959758f, -0.42373934f, -1.29850340f, 0.85699379f, -1.11882365f, 0.63470817f, 0.49696380f, -0.07983235f, -0.23903450f, -0.22618714f, -0.12117998f, -0.09442677f, 1.55589819f, -0.11996678f, -1.72700179f, 0.54683149f, -0.40804827f, -0.50099218f, 0.34596699f, -1.81841791f, 0.06385052f, 0.84428120f, 0.69901514f, 1.94559097f, 0.43251973f, 0.16794942f, 1.82829034f, 1.70959795f, 0.36130908f, -0.94608402f, -0.53498030f, 0.47781768f, -0.24203247f, 1.25065851f, 0.51788396f, -2.09381890f, 0.72973937f, 0.03281829f, 0.58632666f, 1.85737121f, -0.49569523f, 0.45921183f, 1.87173629f, 0.22803484f, 1.66433418f, -1.05872321f, -1.13663685f, 0.12397861f, -0.65112090f, 0.98152941f, 0.83739656f, -0.18783289f, 1.84249437f, -0.90706986f, -0.80824369f, -1.23854923f, -0.86488134f, -1.02627063f, 0.10976455f, -0.61403006f, 1.27554715f, 0.14653525f, -0.03953953f, -0.08512071f, -1.30043304f, -0.02566035f, 0.12054887f, 0.00282162f, 0.48921332f, -1.74398839f, 1.44554436f, -1.35854721f, 0.69256759f, 0.34101671f, 2.50045252f, 0.49121150f, -0.27115449f, 0.93974596f, 0.26258010f, 0.27151433f, -0.87214381f, -0.92580765f, -1.03269923f, 0.20615758f, -0.37822601f, 0.58983004f, 0.16426525f, 0.68218285f, 1.98158526f, 0.47492698f, 0.54224718f, 1.28722692f, -1.76915324f, -1.11240053f, 0.77428484f, 0.27184650f, 2.22473478f, -0.05574624f, 0.39976570f, -0.43911108f, 0.52805597f, 0.17340177f, 1.36057591f, -0.35004014f, 1.72787797f, 0.68357420f, 1.25532615f, -0.56752264f, 0.51840127f, -0.21237844f, -0.58821255f, -0.85278064f, 1.90179110f, -0.67447448f, -0.36831430f, -0.22930753f, 0.98231596f, -0.07011599f, -0.08560387f, 0.05998110f, -0.02481356f, -0.57335132f, -0.44288307f, -0.24468307f, 0.53321087f, 1.19609559f, 0.10664973f, 0.24379487f, 0.93687552f, 0.93615580f, 1.74319768f, -0.68310338f, 1.32163060f, 0.61918712f, -0.76501870f, -0.54549301f, 1.74077415f, -0.69977754f, -0.66880983f, -1.15981388f, 0.81571609f, 0.53788543f, 0.47898352f, -0.02484704f, -1.64646924f, -0.69822907f, 0.27020717f, 0.05027051f, 1.75149667f, 0.01548872f, 0.32615909f, 2.55151844f, -1.29172051f, -0.36133784f, 0.98637396f, 0.14009331f, -0.50038946f, -0.92230296f, 0.17307127f, 1.05361068f, -1.46784890f, 2.38960409f, 1.19413340f, -1.33349669f, 1.59141159f, -0.71811068f, 1.22429430f, 1.26947939f, 1.08177102f, -1.18138707f, -0.72775704f, 0.17282635f, -0.40554270f, -0.40341887f, 0.46564049f, -1.02069795f, -0.07653128f, -0.13979210f, -0.31195050f, -1.72042310f, 1.37131393f, 0.63849634f, 0.75561279f, 1.81152904f, 0.26686314f, 1.32796574f, 0.56100166f, 0.70058894f, -0.88962644f, -0.04360984f, -0.88249093f, 0.24311203f, 0.50410056f, -2.22567797f, 0.94520348f, -2.12467694f, 0.47282359f, -0.71379906f, -0.09857135f, 0.62374717f, 1.37182784f, 0.73380554f, 0.59745449f, 2.80427694f, 0.67253572f, 1.65335357f, 1.69891667f, 1.34585941f, -0.79989213f, 1.44980943f, -0.52013642f, -0.46971673f, -1.50070012f, -0.25687039f, -0.56916732f, 0.71065760f, -1.31996286f, 0.96031237f, 0.13929774f, 1.49679291f, -0.05966444f, -0.58674580f, -0.08278833f, -0.93390942f, 0.42415768f, -1.77889526f, 0.75336021f, -0.72699982f, -0.82880586f, 0.63955617f, 0.42771208f, -0.42366457f, -0.91581815f, 0.94750947f, 0.43123913f, -0.99053741f, 0.70470595f, -1.16662264f, 1.14847183f, -0.83885664f, 0.46714026f, -2.27748466f, -1.23656678f, 0.14695056f, -0.33159894f, -0.52553117f, -0.04391259f, -0.29630372f, 0.25949728f, 0.96991086f, -0.37714824f, -0.28251833f, 0.16106486f, 1.38844633f, -0.18713553f, -1.30708838f, 0.48490265f, 0.29553881f, -0.45505449f, 0.83341682f, 0.87346369f, -0.63516861f, 0.66063565f, 0.93892503f, -2.73996735f, -0.81515318f, -0.91458052f, 0.00978268f, 0.43472794f, -0.08090764f, 1.37249672f, 0.76722521f, -1.19154143f, 0.22046764f, 0.34916410f, 0.51383299f, -0.56379753f, -2.49949312f, -0.74207872f, -0.68400806f, -0.09663232f, -0.07199454f, -1.05562651f, -0.75028551f, -0.87253797f, 0.69039482f, 0.45923674f, -1.27515161f, -0.04555376f, -1.41501272f, -0.83773375f, -0.74807298f, 1.36646152f, 0.06317432f, -1.32559633f, 1.89092779f, 1.24883330f, -1.03608561f, 1.08677161f, -0.99629849f, -0.69947034f, -0.85716367f, -0.07947286f, -0.25485426f, -0.19732477f, 1.64581251f, 1.04618108f, 1.87186897f, -0.18198362f, -0.83807969f, 0.70462501f, -3.18930101f, 0.74610996f, -0.60935193f, -0.49383929f, -2.88986492f, 0.51707613f, 1.04620326f, 1.09837818f, -1.19840038f, -0.10391295f, -0.20789115f, -1.51052022f, -0.31087330f, 0.22411564f, -1.30506921f, -1.52000105f, -1.51593041f, 1.04321992f, 0.97611690f, 0.90424490f, 1.83324766f, -0.08682299f, 0.47035542f, 1.70865905f, -0.31108001f, 0.04115159f, -1.36352801f, -0.90797836f, 0.32128647f, 0.66191489f, 0.08681208f, 0.14993365f, 0.47110486f, -0.31522670f, -0.38906571f, -0.08876022f, -0.13106902f, 2.25685239f, -0.62211353f, -1.68553007f, -0.23707703f, 0.69236159f, -0.46686995f, -0.27520603f, 0.26619941f, 1.48525345f, 1.61278927f, 0.49452963f, 1.20846486f, -1.11853909f, -0.30010033f, -0.75471467f, -1.69959772f, -0.52042168f, -0.43881389f, -1.45240712f, 1.02122891f, 1.73639011f, -0.03813924f, -0.22239220f, 0.15797073f, -0.64418089f, -0.60228932f, -0.83248150f, -0.02042520f, 0.38137484f, 0.86056453f, 0.06410559f, -0.62785137f, -0.49916875f, -2.53796315f, -0.79168582f, -0.69197005f, -0.77175534f, -0.28669405f, -0.79764080f, 0.97218460f, -0.10351621f, -0.52759898f, 1.02840185f, 1.16363287f, 0.08351815f, -0.61088538f, 0.59944046f, 1.54409397f, -1.39842033f, 0.27917057f, -0.27146137f, 1.46310735f, 0.03626106f, 0.15038440f, -0.07894899f, -1.42527366f, 1.69641745f, 1.48384345f, -0.43328866f, -0.54252565f, -0.94416499f, 1.54436302f, -0.81367069f, -1.67925239f, -0.17525831f, 0.27891046f, -0.69066733f, 0.89911050f, 0.11606655f, 0.67450327f, 0.41538724f, 0.90886223f, 1.19786549f, 0.85810721f, 1.32862210f, -0.83469814f, -1.09682298f, 0.88092703f, -0.97478902f, -0.11664717f, -0.07929394f, -0.69581884f, -0.16928329f, -0.70731819f, -0.40485084f, -0.28954300f, 0.52882415f, 0.38769314f, -1.38704026f, 1.15099049f, -0.43566978f, 0.34459323f, 0.49520254f, 1.11130333f, 0.28783718f, -0.53783375f, -1.63577271f, 1.02222812f, 0.86302060f, 0.48346213f, 0.46627176f, -1.30133855f, -1.48477137f, 0.31219670f, -1.21498191f, 0.89838904f, 0.87186617f, -0.39968935f, 0.34930915f, -0.32909471f, -1.39364409f, 2.13006306f, 0.33270469f, 0.00215986f, 0.97776711f, 0.24908836f, 1.56164885f, 0.45157790f, -1.55970144f, 0.27677536f, 0.07662498f, -0.08262251f, -0.17658773f, 0.65820259f, 2.01052690f, -1.71946216f, 0.84686053f, -1.23594892f, 1.40792072f, -1.47772563f, -0.36132276f, -0.50405115f, 0.09009213f, 0.81659186f, 1.85574234f, -0.64974433f, 0.63352364f, 1.01766217f, -1.54804432f, -0.42570522f, -0.24763709f, 0.72822112f, -0.93733686f, 0.68087620f, -1.40644944f, 0.48672482f, 0.09725539f, -0.64416331f, -0.95747960f, 0.36771363f, 0.39155054f, -0.71790671f, -2.17222738f, -0.08655047f, -0.97842115f, -0.22991380f, 0.52029115f, -1.42072022f, 0.29576331f, 0.32391560f, -1.00823236f, 1.67909145f, 1.16841447f, -0.32307062f, 0.15756166f, -0.97590631f, -0.39429301f, -0.03583352f, 0.17554663f, 0.57961231f, -0.46873134f, -0.23343173f, -0.85060924f, 1.71745574f, -0.04658702f, 0.63088381f, -0.67581934f, -1.53171062f, -1.58800113f, -1.17987096f, -1.16737640f, -0.87544650f, -1.17138922f, 0.38979119f, -2.39369726f, -1.34747124f, 0.58450359f, 0.87791806f, -0.04459394f, 0.97995293f, -0.10354915f, 0.65324986f, -0.17833626f, -0.85849386f, -0.42063358f, 0.19708554f, 0.10255250f, -0.59539181f, 0.86194044f, 1.68610668f, 0.55275291f, -0.43127069f, -0.04218780f, -0.08466262f, 0.31236625f, -0.92824298f, -0.09879152f, 0.32358822f, 1.04045570f, 0.35617545f, 0.09059231f, 1.19069445f, 1.96978688f, 0.63561743f, 0.15030998f, -0.29879019f, 0.22774190f, -1.01608860f, 1.03605175f, 0.47804731f, -0.30450734f, -0.61382371f, 0.45390254f, -1.93547988f, 2.01267338f, 0.52447683f, 0.18379784f, 1.11913633f, -1.24273467f, 0.15803322f, 1.72184098f, -0.79349059f, 0.10258614f, -1.53445125f, 0.02630571f, 0.81649125f, 0.91089755f, -1.12968338f, 1.04016411f, 0.28999722f, 0.74863863f, -0.61388236f, 0.01665530f, 1.43592548f, 0.68138391f, 0.11963340f, -1.26123953f, 1.36340797f, 0.25696915f, -0.58877039f, 1.42209792f, 0.55563360f, -1.33329606f, 1.84695840f, 0.88433737f, 1.04359078f, 0.18906727f, -0.03448994f, 1.17944050f, 0.86783957f, 0.44934425f, -0.77892244f, -1.76232874f, -1.01689589f, 0.78943914f, 0.92141974f, -1.00187087f, -0.13809921f, -0.90222073f, 1.10094714f, -0.13657950f, -0.44349849f, -1.61441302f, 1.05724919f, 1.50337231f, -0.05785890f, -0.76958144f, -0.51498759f, 0.69227600f, -0.37975949f, 1.31949317f, 0.82049531f, 0.32868597f, -0.31557772f, -0.75534385f, 1.27303052f, 0.43453619f, 0.11296938f, 1.18182182f, 2.23387384f, -0.86412978f, -0.01599468f, -0.70869064f, -0.09221385f, -1.23729551f, 0.79490280f, 0.03522846f, -0.95069039f, -1.73461652f, 0.72329187f, 1.40385795f, -0.11585230f, -0.78033113f, 0.07491048f, -1.12873089f, 0.18476245f, 0.57568848f, -0.28792691f, 1.35411644f, -0.76956165f, 0.29571572f, 1.03178787f, -0.38780826f, 0.31680650f, 0.69368076f, -1.23856580f, -0.49848995f, 0.14766994f, 1.02625990f, 3.03858209f, -0.51030380f, 0.96796870f, 1.35078156f, -1.07729447f, 0.84322494f, 0.54886484f, 1.31453705f, -0.45792100f, 0.31196272f, -0.15701357f, 0.83586836f, -0.74952888f, -1.17432022f, -0.31002575f, -1.02149463f, -0.36117774f, -1.22079086f, 0.03532525f, 0.00555908f, -0.45891216f, 0.29636297f, -0.68272704f, 0.41257843f, 0.37988129f, 0.01747893f, 0.82739186f, 1.52292180f, -0.79456621f, 2.20275712f, 2.13212132f, -0.81393015f, -1.15712392f, 0.22488308f, 0.62776327f, -0.85444915f, 0.44017896f, 0.05863331f, -0.83198178f, 0.93063420f, -0.16121253f, 0.12382501f, -0.37826315f, 0.93118382f, 0.19507533f, -0.58595538f, 1.46994352f, 0.13170272f, -0.70031989f, -0.12820166f, 0.30487457f, 0.84148771f, -0.68807501f, 0.21187615f, -0.67030680f, -1.79136002f, 0.70810199f, -1.20959783f, -0.08468831f, -0.06317700f, 1.35527098f, -0.47018668f, -0.91693246f, 0.14818805f, -0.05405350f, 1.16875637f, -0.17363262f, -1.61833882f, -0.32934523f, -0.38346377f, -0.62702698f, 0.34135151f, 0.48015586f, -0.65263331f, -0.04689486f, 0.01156854f, 0.37580970f, -0.16174591f, 0.59627324f, 0.24351901f, -0.87983090f, 1.57049024f, 1.25836349f, -0.41464049f, -0.62279183f, 0.09693756f, -0.23850618f, -0.49007827f, 0.22298151f, 0.10914832f, -0.35192192f, -1.27221346f, 1.10203624f, -0.86399704f, -0.47319838f, -0.77105570f, -1.68624854f, 0.81198281f, 0.82534081f, 0.75654501f, 1.47631240f, -0.61000234f, -0.58933264f, 0.54822850f, -1.22829592f, 0.11107657f, 0.56449169f, 1.50693524f, -0.59280968f, -0.64286685f, -0.20120731f, 0.27184448f, 1.55500400f, -0.48919386f, 1.04044867f, -0.87048137f, -0.40569979f, 0.21908638f, -0.51829034f, -1.48748124f, 0.02990401f, 1.83462536f, 0.29885170f, 1.32370698f, -1.30129600f, 2.43271399f, 0.22967771f, -1.13014007f, 0.95529765f, -0.83325785f, 0.43633386f, 0.85774118f, 0.78160155f, 0.58583075f, 1.18906367f, -1.54354560f, -0.68320692f, 0.01900371f, -0.79777133f, 0.12851712f, 1.10176420f, 0.79418170f, -1.41154039f, 0.36929929f, 1.12176800f, 1.23849642f, -0.89377707f, 1.01390159f, -0.50889206f, -1.12554002f, 0.17932732f, 0.48949540f, -0.54235244f, -0.28146735f, -1.39125514f, 0.13309635f, -1.12864995f, -1.29901242f, -0.04266220f, -1.98028529f, -1.34869373f, 0.00038156f, -0.92473024f, 1.48010647f, -0.02754467f, -0.26030368f, 0.93083733f, 0.27946711f, 0.64052200f, -0.04220961f, 1.25002527f, -1.07923257f, 0.19048618f, 0.08900311f, -0.40813437f, -0.73068553f, 0.52122378f, 0.68990833f, -0.38749605f, -1.09269309f, -1.63480806f, 1.01789618f, -0.61596102f, 0.81049860f, 1.30838764f, -1.49213874f, -0.77916288f, -0.72660202f, -0.92013240f, -1.61726642f, -0.11527207f, 0.35143322f, -1.11646879f, -1.45525432f, -0.82892823f, 0.15512508f, 1.01891017f, 1.40162635f, 1.02494884f, 0.33882582f, -0.78747398f, -0.26009330f, -0.38519114f, 0.79247451f, 0.02065756f, -0.48030257f, 1.01167107f, -1.74057114f, -0.84549171f, -0.15337363f, -1.92544484f, 1.01270044f, 0.00762185f, -0.16405612f, 1.61778915f, 0.93316060f, -0.68960994f, -1.13214970f, -0.94695878f, -0.28418848f, 0.17102109f, -0.08787476f, -1.83799696f, -0.13761258f, -0.18652774f, 1.46456254f, 0.34169790f, -0.40697145f, 1.49663997f, -0.99555492f, -0.67775637f, -0.51951116f, 1.35157657f, -0.27099034f, -0.46987835f, 2.28101230f, 0.59104478f, 0.75010139f, 1.01472175f, 0.25741309f, -0.56074983f, 1.12267506f, 0.35336846f, 0.61733276f, -1.63976014f, -0.17700450f, -0.25093642f, -0.75599891f, 2.10956192f, 0.95155340f, 0.72049862f, 0.50492924f, 0.62067389f, 2.08688402f, -0.73604703f, 0.63383341f, -0.53528428f, -2.11538506f, -0.98173052f, 0.59560484f, -0.26205051f, -0.91948050f, 0.00593397f, -0.11734286f, -1.41261208f, -0.83611172f, -0.27682739f, -0.20619918f, -0.36557615f, 0.77194935f, 1.67695415f, -1.39265156f, 0.04892010f, -0.37773246f, 0.16124558f, -0.18348448f, -1.38248885f, 0.58459854f, 0.65064198f, 1.11349559f, 0.36708066f, -0.15471332f, 0.14208725f, -2.06860566f, 0.29629150f, 0.93084633f, -0.47215626f, 0.60208917f, 0.95415461f, 1.03390312f, -0.03639749f, -0.23988228f, 1.27037442f, 0.95133096f, 0.33187470f, -0.34527761f, 0.22134073f, 1.01799667f, -0.81475645f, -1.18869019f, 0.23314142f, 0.25180560f, -1.23762786f, 1.25283313f, 0.16980635f, 0.40740708f, 0.59256923f, 0.16274920f, -0.69713289f, -0.16444311f, -2.41602516f, 0.37952334f, -0.05604568f, -0.23772651f, 0.20581599f, -0.54303211f, 1.71877348f, 0.83602583f, -0.32586128f, 0.73609394f, -1.73640239f, 0.07249248f, 0.31248692f, 1.77627432f, 0.97660398f, -0.42095289f, -0.18750280f, -0.84246057f, 0.29762223f, 1.87054563f, -1.46980762f, -0.45306337f, 1.52366042f, 1.39061129f, -0.04980387f, -0.55382830f, -0.96987218f, -0.06910808f, -0.41276473f, -0.83891344f, -0.92597574f, 0.60252470f, 0.21938549f, -0.04451685f, -1.00330937f, -0.36955237f, -1.52876902f, 0.27296364f, -1.96721256f, 0.05291027f, -0.91540521f, 0.48990685f, -1.99560380f, -0.68551093f, -0.14532298f, -1.56881595f, -0.08319287f, 0.31003201f, -1.42829597f, -0.61810297f, -0.03581250f, 0.77747720f, 1.25297558f, -1.36239243f, -1.13274276f, -0.35045877f, -2.34157228f, 0.04515179f, -0.83044821f, 1.81353962f, -1.36855912f, 0.39704823f, 0.16665934f, -0.16654585f, 1.17806077f, 1.00086153f, -1.25474250f, -1.46876431f, 1.18021631f, -0.32257929f, 2.12062597f, 0.86819613f, -1.18048275f, -1.69747460f, -0.74092305f, 0.05086798f, 1.15339577f, 1.32972670f, 0.27247882f, 0.98499072f, 2.35597157f, 0.30179837f, -0.66633248f, 0.13794266f, -0.22753908f, -0.22868259f, -1.81792033f, 0.50151759f, -0.79408127f, -1.05343878f, 0.45727381f, 0.84800923f, -1.73605800f, -0.02032863f, 1.82778001f, 1.41025102f, -0.81715560f, 0.25888795f, -0.25075480f, 0.66256499f, 0.11993053f, 1.81336939f, -0.06345166f, -1.49658346f, 0.07531686f, 0.96972889f, 0.87405980f, 0.75830793f, -0.13497087f, -2.45855975f, -0.65984958f, 0.93919373f, -0.97305542f, 0.73477978f, 1.04337513f, -1.22712576f, -0.46385625f, -1.20876372f, -0.82760453f, 0.01455977f, -1.05089867f, -0.02801843f, 0.60899758f, -0.82052249f, -1.48932517f, -0.98073828f, -0.19311285f, -0.25602359f, 0.50351876f, -1.24557400f, -0.82138073f, -1.45966852f, 0.44991320f, -0.75550151f, -0.98550314f, -1.21418869f, -1.15771639f, -1.72192061f, -0.39616469f, -0.55566746f, -1.31880891f, -0.08843257f, 1.00422776f, 0.35846478f, 0.46060917f, 0.77326930f, 1.60129988f, -1.85124147f, -0.30582917f, 1.30227256f, 1.81890345f, -0.44084981f, 0.25315762f, 0.70259613f, -0.94882858f, 1.97040296f, 0.71473581f, -0.68193883f, -0.36290962f, 1.16348684f, 0.15418798f, 1.07806778f, 0.40554729f, 0.10280909f, -1.06474805f, 0.64398485f, -0.63568884f, -0.06108581f, -1.03290677f, 1.02834034f, 1.15284693f, 0.14046004f, 1.86630619f, 0.46804786f, -0.68397558f, 1.60733378f, -1.64890087f, -1.03819239f, -1.19212389f, -0.78382361f, 0.03925850f, 1.52259934f, 0.09540676f, -0.21220762f, 0.55955195f, -0.39845437f, -2.14541650f, 0.49337825f, -0.68574250f, 0.74040270f, 0.50783634f, -1.60461199f, -1.26806450f, -0.12652303f, -0.83992827f, -0.15524681f, 0.40098447f, 0.23392735f, -0.23262636f, 0.06525709f, -0.35994548f, -1.08432877f, -0.21395946f, -0.78357452f, -0.57157278f, 0.71407390f, 0.86596155f, -1.13723528f, 0.13460183f, -1.20881450f, 0.71018457f, 0.68943661f, -0.70428050f, 0.64600736f, 0.01990297f, -0.10575775f, -0.80263519f, 0.10618331f, 0.08865548f, 1.51651669f, 0.60851854f, 1.15161908f, 1.04919207f, 1.18359745f, -0.04352076f, -0.83643389f, -0.07922365f, 0.10597949f, -1.34984851f, -1.91319740f, 0.71585363f, -2.10845160f, 0.64385056f, -0.54551518f, -1.02039802f, -1.62510490f, 1.65401149f, -0.42711899f, 0.07970079f, -0.21404363f, 0.30498922f, 1.07942021f, 0.63995659f, -1.82114816f, 0.56396323f, 1.07084870f, -2.00350380f, 0.53339815f, 0.18500003f, 1.15034151f, -0.21436051f, -0.99986565f, -0.58812016f, -0.07247020f, 0.78910017f, 0.48839527f, 0.98795873f, 0.10357288f, -0.05604928f, 0.38977858f, 0.73745090f, 1.40838420f, 0.25967824f, 0.23588051f, -0.03451392f, 1.04897523f, -1.77121758f, 2.35625434f, -0.67086869f, -0.84005541f, -0.85940343f, -1.04449213f, -0.65917015f, -0.78713167f, -0.95910054f, 0.38597879f, -0.31879017f, -0.86260867f, -1.08593106f, 0.02802678f, 0.99484950f, -0.55113328f, 2.60936737f, -0.03388772f, -0.47583574f, -0.14021793f, 0.99019170f, -1.22431207f, 0.78734446f, -1.77037835f, 0.15018673f, 0.36423206f, 1.36447549f, -1.61007094f, 0.51875496f, -1.60788095f, -1.73557448f, -0.41414359f, -0.93710536f, 0.38715765f, 0.04243837f, -1.59682858f, -1.10728157f, 1.88292623f, -1.01428258f, 0.01074958f, -1.88169158f, -0.31616244f, 0.45334938f, 1.12449574f, -1.16699445f, -1.59505820f, 0.04126552f, -0.89016622f, 0.45838884f, 0.71463561f, 0.14563711f, 0.30694655f, 0.67193079f, 0.61429602f, 1.00201404f, -0.49295208f, 0.05997690f, 0.99491668f, -0.73801446f, -1.17185295f, 0.94778723f, 0.36106884f, -0.43561545f, 0.04102699f, 0.52626407f, 0.08442099f, -1.57626402f, 1.56855237f, -1.65396678f, 1.74014664f, -0.38219589f, 0.39305371f, -0.31705827f, -1.15742850f, 0.11669596f, 0.54043210f, -0.52270615f, -0.13375773f, 0.68094701f, -1.84134769f, -1.49383473f, 0.14632171f, -0.54607725f, -1.20867658f, -1.28439069f, -1.81734920f, 1.54257309f, 0.78347659f, -0.24049839f, 1.69973648f, 0.99825776f, 0.99971974f, -0.26055810f, 0.34143049f, -0.44862366f, 0.11253342f, -0.60932243f, 0.70383030f, -1.87318194f, 0.21953633f, 0.82791799f, 1.64545465f, -0.42693698f, -0.64897031f, -0.97996652f, -1.06616282f, 0.52939081f, -0.12541170f, -0.57480675f, 0.73600835f, 0.35711968f, -0.03528263f, 0.79997194f, 0.55742902f, -0.28909785f, 0.64331138f, -1.79893720f, 1.01572442f, 0.27111965f, -0.51778597f, 0.12906317f, 0.76148927f, 1.51315522f, 0.41101140f, 0.38008851f, 0.66759896f, -0.13804778f, 0.64854795f, 1.73474562f, 0.75999504f, -0.73411214f, -0.05406699f, 1.35664344f, -0.25298578f, -0.12696666f, -0.42628938f, 0.61129904f, 1.55259824f, -0.05820796f, -0.38598019f, -0.87325627f, -0.55066222f, -1.24557889f, -0.26509118f, -0.32103062f, 1.14031804f, -0.75985742f, 0.70659167f, -1.15016067f, 1.24906838f, 0.90396994f, -0.16241251f, 0.43682271f, -1.42695689f, 0.47134697f, -1.66143429f, 0.08698819f, -1.00775325f, -2.24129725f, -1.04226267f, -0.98537570f, -0.89938259f, -1.80710697f, -1.22866321f, 0.78125423f, 1.55150509f, 0.46235040f, 0.18444096f, 0.19313288f, -2.20686269f, -0.40341458f, 0.50321484f, 0.47339424f, -0.81383848f, -0.21972439f, 0.66612029f, 0.60239881f, 1.20443010f, 0.70015103f, 0.30632916f, 0.01489905f, 0.68129027f, -0.89645082f, -2.68969011f, -0.96684915f, 1.66421318f, 0.74333072f, -0.78321886f, 1.60063362f, -1.27524030f, -1.95856726f, 0.47504124f, 0.15398432f, -0.20796098f, -0.13449343f, 0.93458968f, 1.60390890f, 0.21798505f, -0.27035928f, -1.23248971f, -1.25361061f, 1.34666133f, 1.07233441f, 0.88799530f, -1.23687923f, -0.40781614f, -0.11916534f, -0.88050151f, -0.66422415f, -2.61471510f, 0.78276747f, 2.42323995f, -1.70715427f, 0.71550035f, -0.60298312f, 0.70491880f, 0.46175584f, 0.80827898f, -0.45108104f, -0.98219043f, -1.72823501f, 1.73190725f, 0.53906441f, -1.50445580f, -0.59250867f, -0.07239901f, 0.44743437f, -0.13740127f, 1.69935930f, -1.00480616f, -0.58191377f, 0.39853972f, -0.60960841f, -0.45473522f, -0.76396072f, -0.31872150f, 1.74509728f, -0.59950751f, 0.89810580f, -0.81400329f, 1.14280319f, 1.11165059f, -1.31295311f, -1.60784578f, -0.87506992f, -1.13461006f, -2.09486437f, -0.16449419f, -0.37728927f, 0.47595578f, -0.55342919f, -0.17574213f, 2.21499181f, 1.14331865f, -0.14938518f, 0.18935619f, -0.33802557f, 0.52538890f, 0.82673949f, 1.16562462f, 1.24713838f, 0.98890215f, -0.64991701f, 1.49886703f, 1.97769642f, 0.08059916f, -1.60925281f, -1.23822486f, -1.40829837f, 0.51331180f, -0.29928651f, -1.04348791f, -0.39911583f, 0.69380492f, 1.54516888f, 1.22791195f, 2.25008130f, 1.33348894f, -0.21775827f, -0.71937007f, 0.54982573f, 1.70691478f, 0.32459491f, -0.57187974f, -0.21614684f, 1.08274269f, 0.41384646f, 0.24497485f, -1.43703413f, 0.89616930f, 0.82032162f, -0.24598582f, 0.84271127f, -0.81894702f, -0.01828136f, 1.70397091f, 0.39505738f, -0.51221430f, -0.87979966f, 0.10795479f, 0.45194778f, -0.76008922f, 1.23394477f, -0.56798172f, 1.06459570f, -0.44333413f, -2.40399075f, -0.37267187f, 1.42946172f, 0.95734519f, 1.86127949f, -0.15217264f, 1.68742633f, 1.97638428f, -0.44211119f, -0.98393327f, -0.54173928f, -1.72017395f, 0.74697793f, -1.77827263f, -1.92299354f, -0.17189410f, -0.48633271f, -2.21230388f, -0.45906609f, -0.53493047f, 0.37253976f, -0.56951141f, 0.07728028f, 0.03530006f, -1.18123293f, 1.94158125f, -1.55930352f, 0.69334733f, -1.95163214f, -0.95800400f, -0.01804711f, -0.56747472f, -0.99099451f, -1.52853060f, -0.98279524f, -1.67307866f, 0.96121490f, 0.35654056f, 1.74034202f, -1.44633865f, -0.27781928f, 1.79457986f, -0.41029963f, -0.76871634f, 0.36555341f, -0.77664107f, 0.19535238f, -0.76185411f, -0.19828433f, -0.88820636f, 0.63885397f, 0.11346363f, -2.50265074f, 0.16319332f, -1.01288569f, 1.86605489f, 0.89761645f, 1.11795115f, -0.00714116f, -0.89034635f, -0.76447034f, -0.18822117f, -0.48340848f, -0.99788517f, 1.02172959f, -0.39395007f, 0.72566581f, -0.81438208f, -0.71715081f, 0.96243578f, -1.36424279f, -1.13870537f, 1.17602491f, 0.16320205f, 0.71959788f, 1.66669416f, 0.55690295f, -0.28912008f, -1.19219172f, 0.23308393f, -0.37963116f, 0.45347008f, -0.42606446f, 1.30938649f, 1.25128853f, 0.57649273f, 0.34440875f, -0.23893952f, -1.06604803f, 0.31336102f, 0.75727910f, 0.46772480f, -0.37650385f, -0.06036821f, 1.03686309f, 0.46158856f, -1.81028461f, 1.43393028f, 0.85494965f, -2.34685564f, -0.17571987f, -0.45592231f, -1.31190526f, 1.73194158f, -0.11856517f, 0.07041293f, 0.25689471f, -0.56000596f, 2.06649089f, 0.38954756f, 1.36627376f, 0.13905638f, 0.77370811f, 0.43944249f, -0.08798827f, 0.07245751f, -1.30234015f, 0.29710820f, 0.74389762f, 0.11971968f, -0.07381748f, 1.32652700f, 1.34079397f}); - auto input2 = NDArrayFactory::create('c', {3, 4, 4, 5}, {0.98114507f, 0.96400015f, 0.58669623f, 0.60073098f, 0.75425418f, 0.44258752f, 0.76373084f, 0.96593234f, 0.34067846f, 0.57962620f, 0.77517051f, 0.97472977f, 0.79237527f, 0.68690428f, 0.21719366f, 0.79959206f, 0.84814187f, 0.22496814f, 0.08646965f, 0.31110474f, 0.79813162f, 0.19661444f, 0.57760099f, 0.72138960f, 0.15244268f, 0.87687051f, 0.11130344f, 0.01087698f, 0.34817841f, 0.54992017f, 0.23443850f, 0.31725614f, 0.59755220f, 0.20364695f, 0.00531392f, 0.23403114f, 0.07442912f, 0.83707647f, 0.89291743f, 0.09044587f, 0.69041462f, 0.29904183f, 0.61904680f, 0.85306847f, 0.34467042f, 0.95839152f, 0.54517124f, 0.29640937f, 0.94855959f, 0.95970016f, 0.94045145f, 0.95510301f, 0.34666505f, 0.34717010f, 0.69245678f, 0.71669175f, 0.59043738f, 0.64924132f, 0.06033522f, 0.60185199f, 0.04690073f, 0.59241154f, 0.40229547f, 0.23002481f, 0.45161195f, 0.73743778f, 0.93209113f, 0.37294358f, 0.50177744f, 0.15072501f, 0.26146917f, 0.05252146f, 0.04758931f, 0.76448288f, 0.85149045f, 0.08840467f, 0.07692576f, 0.33180160f, 0.27241259f, 0.74834620f, 0.56453640f, 0.23057286f, 0.68429752f, 0.11961551f, 0.39045977f, 0.44356094f, 0.77018807f, 0.07984410f, 0.47926806f, 0.26165759f, 0.18606064f, 0.89972877f, 0.17962874f, 0.47273120f, 0.64641705f, 0.61890443f, 0.58730015f, 0.25937832f, 0.35231561f, 0.10243882f, 0.17459193f, 0.95906995f, 0.09227025f, 0.30003223f, 0.41601210f, 0.38269713f, 0.84799751f, 0.59295173f, 0.76277990f, 0.68910424f, 0.37672606f, 0.40675461f, 0.94346058f, 0.91438505f, 0.84728183f, 0.64367667f, 0.74899979f, 0.60570691f, 0.16417363f, 0.68852426f, 0.85486889f, 0.22585792f, 0.86953176f, 0.07465519f, 0.93096301f, 0.38008822f, 0.38752587f, 0.44004038f, 0.13170612f, 0.94541045f, 0.89349973f, 0.69245307f, 0.94978877f, 0.98776658f, 0.79445884f, 0.30607409f, 0.58264961f, 0.37980538f, 0.41810784f, 0.48903038f, 0.51615888f, 0.57682794f, 0.82481897f, 0.78341080f, 0.48446465f, 0.17447931f, 0.71125424f, 0.30263851f, 0.70675352f, 0.03215584f, 0.92381065f, 0.22343694f, 0.08851149f, 0.91402490f, 0.70074717f, 0.30912192f, 0.37723206f, 0.97579397f, 0.23554587f, 0.95939133f, 0.41565709f, 0.01741416f, 0.58362787f, 0.22106662f, 0.89065537f, 0.31900249f, 0.41280911f, 0.67947610f, 0.04545590f, 0.15352812f, 0.85412524f, 0.84933222f, 0.80000225f, 0.93147073f, 0.70094105f, 0.69269875f, 0.95282194f, 0.65913582f, 0.79186874f, 0.59855248f, 0.39707430f, 0.95126239f, 0.15618217f, 0.33446689f, 0.98123758f, 0.84770758f, 0.98081012f, 0.54427413f, 0.18728519f, 0.89792955f, 0.53360126f, 0.72812986f, 0.13307744f, 0.51217443f, 0.66708084f, 0.29416915f, 0.31298995f, 0.39155037f, 0.29288291f, 0.87063305f, 0.61759154f, 0.73723332f, 0.37167635f, 0.82122716f, 0.22937430f, 0.76570536f, 0.47911792f, 0.02826214f, 0.94277323f, 0.59945469f, 0.19042060f, 0.68173155f, 0.82771295f, 0.95649538f, 0.40833101f, 0.90838542f, 0.55245881f, 0.49011012f, 0.36773444f, 0.34513527f, 0.42050683f, 0.16113964f, 0.30969388f, 0.27174174f, 0.12117655f, 0.35270175f, 0.81967867f, 0.63723136f, 0.84309389f, 0.71822576f, 0.84883484f, 0.32306117f, 0.08176457f, 0.56175486f, 0.34892198f, 0.09306929f, 0.85437582f, 0.13925577f, 0.48629188f, 0.29923539f}); - auto exp = NDArrayFactory::create('c', {3, 8, 8, 16}, {5.98743296f, -2.83037376f, -0.87943113f, 1.41339970f, 1.32433391f, -1.20299149f, -0.02893090f, 2.05326009f, 1.19417048f, 5.58212376f, 3.28139353f, 1.19237995f, -1.09431255f, -2.55264497f, 3.11014652f, 6.81296825f, -2.09029293f, -4.32068443f, -0.52808392f, -1.97968531f, -0.18673831f, 0.84605980f, 4.55825520f, 2.71503139f, 0.15210046f, 0.85310984f, -3.82062817f, 2.76470995f, 3.69004202f, -1.45017099f, -2.59361267f, -1.35094655f, 7.24145126f, -5.25432396f, 0.19920218f, -4.30596399f, 1.35318923f, -3.88142037f, 3.67493343f, 2.25931478f, 2.87630725f, 1.66349852f, 6.21347952f, 0.94105923f, -1.61742055f, -2.35699606f, 0.12850338f, 1.79141688f, -2.09535933f, -6.35418081f, -0.06303531f, -4.38615131f, 0.48237842f, 0.26528549f, 3.38231516f, 3.76315165f, -0.40254810f, -0.23716694f, -6.13381910f, -0.41950428f, -0.89680839f, -1.46491277f, -1.98541689f, -0.99357355f, 5.58237648f, -2.38937521f, -0.00872564f, -2.37138414f, 4.91117287f, -4.51916361f, 0.97943687f, 2.91052818f, -2.50362611f, 1.70252812f, 5.04137802f, 3.57108784f, -1.87532270f, -3.66677809f, -2.38861251f, 5.55765152f, -7.27571774f, -1.68887305f, -0.72266489f, -4.42809057f, -0.92118186f, 1.02381468f, 4.44284725f, 5.17150497f, -0.42438728f, 2.02693963f, -1.36484981f, -1.47912180f, 0.26649538f, -0.02091765f, -2.86906910f, -3.03046989f, 1.35122132f, -3.21707630f, 2.21112418f, 0.24121630f, 3.96940088f, -7.66105747f, 2.76352382f, -0.99061489f, -2.16720009f, -1.63170409f, 1.12701774f, -1.02415371f, -0.90435314f, -1.51372027f, -0.76884907f, 0.39066136f, -0.89562428f, -2.03204703f, 1.28074932f, -2.14551091f, -2.36843777f, 0.46580017f, 0.75451565f, -0.00336730f, -1.06597757f, 3.27195978f, -0.41307712f, -0.10376054f, -1.34102952f, -2.22901654f, 2.31929803f, 1.40851438f, -2.23774385f, 0.20417206f, -1.12153268f, -0.13188094f, -3.96649432f, 2.10269976f, 0.49845099f, 6.18937683f, -0.51783508f, -0.48048639f, -1.92970264f, 3.16670656f, 1.13355756f, -0.07890664f, 1.31536257f, -0.43924797f, -0.04562932f, -0.87974954f, 0.75411212f, -2.39745235f, -3.97132111f, 0.37202546f, -2.40399146f, -1.50796390f, -3.08302689f, 0.23075986f, -0.94316757f, 1.34948587f, 0.58591264f, 2.18529797f, 7.97652435f, 2.32798409f, -4.09404373f, 0.89634895f, 0.77697754f, -0.65091681f, -7.05506849f, 5.86194515f, 2.51394033f, 4.69959354f, 0.20835471f, 3.18049693f, -1.29682434f, 3.70832396f, -0.48123091f, -1.67904007f, -1.35418940f, 1.58435583f, -1.13851106f, -1.19225955f, 0.59713769f, -5.80462933f, -7.45143986f, -1.08658695f, 1.03244078f, -1.75307107f, -7.07100582f, 3.85825157f, 1.62127817f, 2.32572675f, 0.56171900f, -0.80591971f, 3.98835945f, 0.15742642f, -2.97832179f, 0.13821673f, -0.72556758f, -0.84936106f, -7.28444147f, 3.94134307f, 0.80779338f, 7.47784615f, 8.23335075f, 4.80595016f, -4.89574575f, 4.03362942f, -6.67522192f, -4.55204487f, 2.12511182f, -2.70781207f, -1.57226098f, -3.08408356f, -0.30812448f, -5.32870674f, -5.13238287f, 0.49605465f, -0.55042171f, 0.46324944f, -3.83545256f, -0.12562510f, -0.20978995f, -0.13068712f, -1.92144060f, -1.68787408f, 5.45581436f, -0.79583496f, -2.38866687f, -3.90546346f, -0.47028148f, -0.14319679f, -3.37016582f, 2.00905991f, -1.21345615f, 1.81376505f, 7.73004007f, 0.74310112f, -4.64536428f, 3.78111577f, -9.05182457f, -0.10674095f, 1.53476238f, 0.63345337f, -0.40907967f, -1.44729769f, -1.87145400f, -2.46623540f, 1.07472968f, 0.77390999f, -3.93438888f, 4.49174690f, -0.96686655f, 1.92278123f, 0.30049133f, -0.02388665f, -1.99777114f, -3.23885751f, 5.87784004f, 2.13776040f, 3.56758308f, -3.37774134f, -3.67526293f, 1.63700044f, -1.69959962f, -0.99112594f, 6.03103638f, 1.67399430f, -1.28699589f, 7.16759014f, 12.63490295f, 3.62937450f, -4.75982571f, 2.17861104f, -2.03065681f, 4.30207729f, -0.46797156f, -2.96022511f, -6.02702332f, 3.09229851f, -1.39771092f, -0.03471333f, 3.22175527f, 5.63565636f, 1.78195477f, -0.63545251f, -3.99497652f, 1.46043062f, 4.60050488f, -2.96651959f, -2.03159475f, -1.52386189f, -0.15129802f, -3.90390921f, -0.63852370f, 0.79210538f, 2.35288715f, -5.55609035f, 5.36427498f, -0.60248077f, -0.26181316f, 5.04884720f, 8.53192806f, 5.05080223f, -6.56371737f, 1.52260923f, -7.13623667f, 6.49414349f, 2.33445597f, -4.11490965f, -6.44347477f, -0.47079402f, -0.63467920f, 2.60399365f, 1.05958164f, 3.66901422f, -1.05657935f, 1.88611507f, -6.37475634f, 2.01480770f, 3.36020517f, -5.11001921f, -0.46132171f, 2.16525555f, 4.21938848f, -2.08346295f, 2.86168146f, 1.26987600f, 6.76066971f, -7.84916353f, 4.11700916f, 0.47985530f, -4.60113716f, 7.42062473f, 6.37472820f, 4.37820530f, -7.12197018f, 0.01357239f, -7.90392113f, 8.32131577f, -0.87593079f, -0.16994858f, -5.86345863f, -0.20697471f, -1.37845206f, 1.63819647f, 1.59720242f, -0.74357712f, -1.88725603f, -1.98357940f, -8.57950306f, -4.10104513f, 3.57231879f, -2.89855957f, -0.11263305f, 2.78033924f, 1.53078973f, -2.93089223f, 0.73189604f, 3.20563078f, 3.92601013f, -5.21916151f, 0.89163935f, -0.42978728f, -6.70888853f, 4.56477976f, 1.20105875f, 3.83393812f, -6.27205181f, 4.05993128f, -7.35513067f, 1.60660768f, -1.21052051f, 1.58191252f, -1.37899971f, -1.20117283f, 2.93301678f, 1.06302834f, 1.38993621f, -1.66884089f, -3.34452581f, 1.04498529f, -4.10412455f, -4.03310585f, 1.61513603f, -1.09388447f, 2.11451387f, -0.94192362f, -0.23287666f, 5.88265705f, -0.83010495f, -2.15317154f, -0.60276151f, -1.49265075f, 3.93397975f, 5.45194483f, 1.45161700f, -2.57401872f, -5.59288931f, 4.29170895f, 1.87151814f, 0.08362055f, -0.28767288f, 1.17675185f, 0.85266006f, 1.30549634f, -5.60830832f, 0.19398519f, -0.83982587f, 1.75940764f, -5.46077394f, 1.64495635f, 0.17102760f, -0.54459631f, -2.21975255f, -0.37443402f, -2.08474159f, 1.85959935f, 11.19680309f, -0.18611598f, -2.59765387f, 3.06330776f, -1.52183700f, -4.88415241f, -0.75097847f, 2.58201051f, 7.40885210f, 3.58994508f, 1.62457407f, 3.12514591f, -4.36833286f, 1.39830995f, 3.61003447f, -0.63837433f, -3.62661815f, 3.78898096f, 2.92802262f, 5.87374496f, -4.38554621f, -2.53411579f, -2.87311554f, -1.31391978f, -4.26736879f, 3.45099425f, 1.58769250f, 1.73341393f, -1.08842182f, 2.27120280f, -1.78938174f, -2.29940319f, 7.07046986f, 0.51426595f, -6.22928905f, 5.28968811f, 2.31827855f, -4.20915890f, -1.27249205f, 5.92120600f, 3.19458675f, 7.09252501f, 3.96577907f, 6.41484213f, -4.66009521f, 10.00181389f, 0.51108456f, -4.62243366f, -5.18351841f, 2.12961674f, 5.10694027f, 7.29412317f, 0.15912467f, -3.38902974f, -4.01918602f, -2.17383957f, 0.13118666f, 0.27872476f, -0.92317247f, 3.51440644f, 1.84171486f, 1.03378081f, 1.30569839f, -2.09583759f, 9.03952980f, -0.55187917f, -2.04549074f, 1.08294606f, -2.65263700f, -2.93977118f, 1.88909876f, 0.96043622f, 1.76579499f, 3.14314699f, 5.86394691f, 7.36944389f, -7.04524136f, 6.68673229f, -5.52591467f, -2.19745898f, -4.32036924f, 0.52971321f, 2.26268244f, 6.91575766f, -0.94590527f, -3.98923349f, -0.12266219f, 0.24294075f, -1.07783222f, 1.87989080f, -3.57109427f, 1.61553633f, 0.42486978f, 0.75852054f, -6.19481468f, -3.80570698f, 2.39946675f, -1.93851781f, -5.42234039f, -6.34092760f, -2.52374983f, -1.85044456f, 3.92693520f, 0.40042299f, 4.69742584f, 5.40483189f, -1.02398944f, 8.89605045f, 0.64680403f, 0.89943957f, 0.76993859f, -1.88244629f, 1.90714884f, 3.10836840f, -0.17064989f, 0.84892416f, -6.94988108f, 1.92141032f, -1.36458397f, 6.39284658f, 0.45201308f, 2.58823442f, 6.33375788f, -4.76916075f, -8.45738983f, -0.48962492f, 2.40652561f, 4.56602001f, -3.34420681f, 1.86862195f, -7.01420689f, -6.94657421f, -2.47419310f, -4.61693668f, -0.18822384f, -0.36949772f, 2.01374269f, 4.11018658f, -5.11564064f, 8.04294395f, 2.88567662f, -2.87645102f, -1.23238611f, -5.91409397f, -0.62205851f, 1.38689423f, -0.01120412f, 5.25955677f, -1.98474956f, -3.72012186f, 3.00445986f, 4.99141550f, 2.97457719f, 2.70827627f, 6.04544449f, -0.20756161f, -10.87035751f, 0.80454814f, 0.33568168f, -2.48132324f, -2.84452009f, 2.63126230f, -3.99351716f, -7.39294338f, 3.62798953f, -8.65815926f, 2.65992808f, -6.98126554f, 3.09881067f, 0.67735767f, -1.15946686f, 5.63180256f, -0.17694545f, -8.59651184f, 3.75297594f, -2.35913754f, -0.20330384f, 5.49958467f, 1.00861740f, 1.42849684f, 0.00062013f, -0.11073381f, 2.15207863f, 4.07368469f, 1.14344299f, -1.27953362f, 6.64699316f, -0.73672432f, -8.55606937f, -0.19439441f, -4.14319754f, -4.69964647f, -5.86446047f, 2.87106085f, -3.42714882f, -5.00668287f, 6.22464132f, -7.72335291f, 4.05667686f, -5.72637177f, 6.35073948f, -1.29593158f, 0.00813985f, 3.63368607f, -1.05764008f, -7.88486052f, 3.73919106f, 1.41835213f, -1.04935634f, 0.65119827f, 0.03547254f, 1.88996327f, 1.58701086f, -0.56215239f, -0.80187100f, 4.55604362f, -0.67249978f, 1.41084409f, 7.86281586f, -2.38301182f, -8.50535774f, -3.82098866f, -2.40856767f, -5.33439016f, -3.34747362f, 2.69389009f, -1.64118791f, 4.52447939f, 0.04468334f, -1.48768258f, -0.69848812f, -0.71123981f, 3.66259432f, 6.10314512f, 1.37305343f, -0.62758982f, -2.99383426f, 4.20510864f, 1.48497128f, -0.08954811f, 2.43872309f, -0.59880185f, 0.37431365f, 2.45458341f, -3.28401661f, -1.94629693f, -1.93975246f, -0.26385683f, -0.45814323f, -0.18108580f, -3.74811840f, -0.29739976f, -2.24116230f, -0.28150487f, -2.24421668f, 3.46930790f, 8.35415077f, 0.05562943f, -2.81079793f, 1.10388446f, -2.82245207f, -2.98102283f, -1.08132946f, 1.19089699f, 8.00183105f, 6.35385323f, 3.72591257f, 4.59467506f, -5.74890900f, 4.42238331f, -3.36533451f, 0.18350232f, 3.05606651f, 1.18788099f, 2.87450886f, 0.27472210f, -2.80111074f, -0.66314960f, -1.96376896f, 0.75167024f, -4.72056293f, 1.10629988f, -5.00775242f, 1.48246133f, -3.91681528f, -1.86573625f, -6.17714882f, -0.67820001f, 5.69730282f, 1.04399037f, -4.93794823f, 3.09619617f, 2.18692017f, -5.54232264f, -3.10046840f, -0.68972743f, 2.81824327f, 3.04334164f, 6.13203907f, 4.14081764f, 1.02573645f, 5.71970081f, -6.01574707f, -2.07346702f, 0.99554527f, 1.69641590f, 0.66776669f, -0.80132431f, -2.03513098f, -3.42513680f, -0.06704485f, -1.87195873f, -5.42428589f, -0.20748445f, -1.52408111f, 0.97084987f, -0.48799962f, -0.45379883f, -0.26652339f, -1.20720732f, 3.94169855f, -3.18480229f, -1.87440264f, -1.18028760f, 0.52011997f, -2.13437462f, -4.52583313f, 1.69722807f, -0.89371562f, 3.37972403f, 6.38838720f, 6.98663378f, -4.05421400f, 6.89512825f, -5.09085655f, -2.16257906f, -3.33272719f, -3.01246452f, 0.37613097f, 1.80455804f, -0.36456174f, -5.32273912f, -1.29978943f, -0.53685790f, -2.12896323f, 2.55506587f, -2.57999182f, 3.40891910f, 1.36033249f, 0.83864629f, -2.88629293f, -7.36048365f, 5.61314154f, 1.32668555f, -2.58041072f, -3.71943092f, 1.60647738f, -2.74816346f, 2.47269106f, 0.85507953f, 8.39183426f, 3.42624784f, -0.01519036f, 5.68412066f, 2.51771593f, 1.03045523f, -2.08733034f, -2.44337177f, 0.81668580f, 1.30275154f, 2.99679208f, -2.91957355f, -1.71337795f, 3.34979844f, 1.51825011f, 5.20375061f, 2.27888370f, 1.38787699f, 4.23474550f, -4.05878592f, -4.85074377f, -0.22794735f, 4.64402294f, 1.24391258f, -2.04935098f, 1.26285601f, -7.51862240f, 0.62138438f, -1.95792389f, -0.96587181f, 0.85141110f, 0.79354531f, 7.93766356f, 6.07677746f, 2.05947518f, 6.55480623f, 1.44032848f, -0.70615625f, -0.07896036f, -5.08359432f, -0.01047915f, -1.89632201f, 2.57555676f, 3.83779287f, 0.42850614f, 1.80754125f, -0.06942326f, 6.35997963f, 6.06101418f, -0.97032297f, 5.71477222f, -6.06671238f, -3.46607208f, -4.98306370f, 2.84659123f, -2.11025190f, -0.04609144f, 5.26831341f, -9.56940651f, -3.67193556f, -1.71143103f, -1.35221267f, -4.26226807f, -6.89146233f, 8.21761799f, 5.69823503f, 2.28137946f, 1.88911343f, -1.44562483f, -1.60295713f, -0.52568185f, -3.31892347f, -2.81997776f, 0.35287106f, 2.98202395f, -1.39432132f, -2.70001364f, -4.14169264f, 3.50194883f, 4.12610435f, 5.52755260f, 2.65859175f, 3.61353087f, -0.83027136f, -5.10652542f, -4.48625374f, 2.06585884f, -2.76383352f, -0.64300913f, 8.19686604f, 0.96106279f, 2.45952058f, 2.47275925f, -1.03288829f, -0.64897656f, -3.77937531f, 4.27940083f, 2.58320260f, -0.57665241f, 1.87247813f, -3.81604433f, -0.24543774f, -1.62118483f, -0.73075479f, -0.48533297f, 2.05016756f, 0.45561486f, 0.03316188f, 0.77791005f, -1.56283605f, 2.36616826f, 5.58082104f, -1.30925488f, -1.06329608f, 2.17189479f, -3.43008828f, -4.71520567f, -2.56184673f, 0.17508316f, -3.25817418f, -0.41749167f, 0.18119079f, -0.73181152f, 3.99792433f, -3.08002281f, -0.99143314f, -1.83520067f, 1.18565679f, 2.98040128f, 5.67814350f, 2.35128760f, 1.41600966f, 4.02718067f, -0.08193968f, 0.64636409f, 1.35931289f, 2.37125754f, 1.75978124f, 3.90977740f, 1.50662971f, -2.84089065f, 1.29824126f, -3.38730979f, -1.61005294f, 0.58292413f, -0.03019404f, -1.57986510f, -0.56102908f, -3.03128719f, 0.51644313f, -2.01147819f, 0.98400700f, 3.00028515f, 0.74579155f, -3.37098312f, 0.93339360f, -1.29018497f, -2.14695001f, 1.30411184f, 0.71501279f, 7.47793055f, 4.06516457f, 3.50772929f, 3.52762985f, 0.55643129f, 0.32272506f, -4.30955982f, 2.49414706f, 2.07820845f, -0.34377906f, 4.39805031f, 2.77561307f, -3.91292810f, 2.43981409f, 0.18861845f, -2.76658440f, -4.97148752f, 3.25273705f, -0.08929539f, 0.19818619f, -5.83767605f, -0.97381884f, -5.68745661f, -5.42433214f, 3.98769903f, -0.40394354f, -1.83387578f, -0.80109525f, 1.47454357f, -3.14899540f, 0.80130816f, -2.26348829f, 4.06121159f, 6.13077354f, 5.31226397f, 2.94966197f, -3.65217376f, -1.08136678f, -7.14119816f, -0.85269439f, -0.70365787f, -0.81598872f, 3.62807679f, 3.08123684f, -7.82739496f, 4.07951784f, -0.14204243f, -0.66969109f, -5.07225513f, 2.88492823f, 0.47202343f, 0.72683257f, -6.84280777f, 0.41807127f, -5.09785986f, -3.74514675f, 2.03936672f, -1.06096244f, -1.52409148f, -0.97046643f, 2.27491093f, -1.55597985f, -1.29215479f, -0.79737484f, -0.01979581f, 7.65407991f, 5.54527044f, 4.04147148f, -2.64274883f, -1.89246953f, -3.89547634f, -1.06029689f, -2.85982800f, -1.41247237f, 1.55836034f, 3.38194537f, -2.97655582f, 0.87510300f, 1.26282072f, -1.77029657f, -3.57144690f, -4.19456863f, 0.53179169f, -1.42221975f, -3.09144497f, -0.84294832f, -5.02758694f, -2.68011904f, 0.89156240f, -0.34783912f, 4.64484835f, -2.34453487f, -1.28573155f, 0.09990287f, 0.01828218f, -1.79960847f, -1.06579173f, 1.08763921f, 0.43687880f, 3.24747229f, 3.83097172f, 1.07253766f, -1.33810723f, 0.76530832f, 1.58660865f, 5.60743904f, -3.54124737f, -0.89264417f, -3.83942485f, -1.03707337f, -1.61659896f, 1.65349591f, 1.72698796f, 4.96013832f, 0.78927267f, -0.35563886f, -3.48121166f, 3.79677629f, 2.59023166f, 2.74940348f, -2.17589283f, -5.91757107f, 2.43766379f, -4.15906048f, -1.74731481f, -2.49113035f, -0.57349741f, -4.04455185f, -1.46939647f, 2.21418452f, 0.09153593f, 2.23016739f, 7.91880608f, 4.04464149f, 0.07706618f, -2.41892862f, -2.19280314f, 7.61760712f, -5.89153862f, 0.33551922f, -1.70855618f, -0.30561331f, -0.14341974f, -2.48878574f, 1.31269515f, 3.45388412f, -0.02453184f, -0.12132037f, -4.27916241f, 1.25179088f, 4.09455204f, -1.83801770f, -1.86743176f, -4.02864933f, 3.44515228f, -4.39244986f, -0.56988084f, -1.69426417f, 2.18254852f, -4.78135824f, 1.73193693f, -2.27968478f, -1.49523509f, 2.51696730f, 4.03677559f, -2.03679037f, 1.32167840f, -2.22570705f, -2.74843621f, 6.29655170f, -3.67230225f, -1.86765468f, -0.14842367f, -1.21552539f, -0.92038238f, -0.51692355f, 1.08433771f, -0.01929832f, 0.15660909f, 2.31432915f, -3.86507082f, -0.69797570f, 0.13505173f, -1.50951028f, -0.69980979f, -1.51297045f, 3.63725281f, 0.13388813f, 2.73131752f, -0.96528149f, 4.92000961f, -5.92699385f, 1.69444644f, -1.17121375f, -2.33710480f, 1.35302818f, 1.39608085f, 1.68293881f, 0.94960749f, 1.89011908f, -4.08865070f, 0.13722643f, -1.62849212f, -0.19044125f, 1.37906075f, -3.92504406f, -1.45033538f, -0.42085981f, 3.38237071f, -3.06508875f, -1.39420545f, 1.13067436f, 0.92206454f, 0.49917889f, -2.74508023f, -2.19221997f, 1.77914095f, 0.10854459f, -2.62178278f, 2.35042715f, -0.15322030f, -0.67014873f, -1.75627899f, 2.64074945f, 2.76339936f, 2.67275214f, -0.62736398f, 0.58251178f, -4.64895678f, 5.50419283f, 2.53566456f, -2.44196153f, -0.07845879f, -2.80389643f, -0.64810950f, -0.05813205f, 1.67155504f, -2.69673729f, -1.72486305f, -0.53888649f, 1.86805439f, -1.37128329f, -5.37923479f, -2.08133769f, 0.58187997f, -1.39498150f, 0.21874082f, 4.33726025f, 6.29673958f, 0.72312093f, -3.32683516f, 1.73482585f, -0.00766110f, -2.63785434f, -0.13511759f, 4.07195950f, 0.94139838f, 3.15717316f, 1.53720927f, 1.87664819f, -2.33655119f, 6.18176556f, -2.73912525f, -2.45279956f, 2.20392370f, -0.56854641f, 0.98915887f, -2.64472580f, 2.40633702f, -4.93327999f, -1.28942823f, 0.98247659f, 1.31774998f, 0.07669818f, -5.91169453f, -0.43135011f, 1.27404964f, -0.59787154f, -0.22716975f, 0.74409103f, 10.27316475f, -2.29192710f, -2.19403267f, 3.78925133f, 3.19553399f, -4.42490482f, -0.80781460f, 2.16568565f, -2.54165983f, 2.54885101f, 4.18779039f, 1.73079813f, -1.48891807f, 11.60153770f, -0.98686743f, -2.88813901f, 2.32898521f, -0.36101711f, 2.34522438f, 0.29057693f, 1.39800644f, -4.31848240f, -3.21217132f, 0.11740226f, -1.21613467f, 0.57248503f, -4.44853830f, 1.54665899f, 3.14459944f, 1.76809108f, 0.26693153f, 0.86913753f, 9.47121620f, -2.07677889f, 2.08578467f, 1.30181742f, 1.58683562f, -3.52757788f, -1.32763624f, 0.79821301f, -2.19358301f, 1.17707348f, 6.01983643f, 4.11209440f, -2.04209709f, 7.00413418f, -1.84904683f, -1.32542288f, -0.01298118f, 0.70377320f, 0.27815005f, 2.07879829f, -0.71606725f, -4.94399881f, -2.11898828f, -0.39051518f, -2.21034360f, 3.05337906f, -1.56889665f, 1.97065282f, 2.61320901f, -0.34063196f, -0.57001418f, -2.13183641f, 3.48879004f, -0.12067288f, 0.48568326f, -1.81424558f, 2.28868723f, 1.44802380f, 1.25918829f, -1.76415455f, 5.35742331f, 3.50682044f, 4.71371317f, 5.89110756f, 8.51241302f, 4.07391453f, -0.05887252f, -0.18202400f, 2.27119660f, 6.78274727f, -2.87470293f, -5.14336634f, 0.76443815f, 2.04625130f, -0.43199503f, -1.01353514f, 2.42951298f, 2.35641170f, 0.32345510f, -4.04195738f, -4.77967072f, 0.26564783f, 6.11455107f, -2.53868008f, -3.11839914f, -1.04203856f, 5.17195654f, -4.15338612f, -3.84149241f, 0.48130888f, 3.09706950f, -4.18423653f, 5.26233864f, 3.55831861f, 3.75122595f, 8.14969349f, 6.80038738f, 4.68907356f, -1.40135396f, -3.19287133f, -3.15895939f, 8.77363205f, -4.48793411f, -3.80537176f, -2.40145254f, -2.74341679f, -2.02862644f, 5.33402443f, 9.25365734f, 2.50246119f, 0.32847846f, -1.50564361f, -4.26163197f, -1.40994716f, 2.50708485f, 0.44500345f, -0.62516934f, 4.09846306f, 5.29355669f, -4.02224922f, 0.73442125f, 0.46648952f, 0.67028689f, -6.30715466f, 6.56297970f, 3.80854273f, -5.19078207f, 4.98839283f, 7.59161472f, 0.46010983f, -2.10227895f, 0.29324162f, -2.67019558f, 4.57838106f, -3.02338457f, -3.08647728f, -2.00112700f, -3.81710315f, -0.08346784f, 1.69288683f, 5.68807268f, 3.29351830f, 0.54618967f, 1.83540761f, -5.38810253f, 0.51326782f, 4.40081882f, -4.03805828f, 0.49482727f, -1.36024392f, 2.91845679f, -2.00959015f, 2.47489738f, -1.43354976f, 1.92024410f, -6.55897284f, 1.79488957f, -0.89570928f, -6.13094234f, -0.45504010f, 2.35239482f, 1.29039919f, -4.78849840f, -1.52545333f, -6.50420475f, 2.99257326f, -0.55620033f, 0.26807702f, -2.52090979f, -4.59419632f, 0.57965040f, 2.19423151f, 2.04760551f, -0.57048106f, -2.20812702f, -0.04777686f, 1.38053393f, -2.71448946f, -1.06219673f, -3.62008905f, 1.85719645f, 1.28355026f, -2.76315832f, 1.65295160f, -4.01645803f, -3.10454416f, -0.65713316f, 1.22384977f, -0.70416176f, 4.45064926f, 1.31602776f, 2.06907344f, 2.48872757f, 4.25775290f, 3.50504255f, -0.68262041f, 1.29799378f, -1.01969171f, 2.98593879f, 0.12607655f, 0.37219539f, -0.84196299f, -3.80019331f, -1.82315290f, -0.38489276f, -1.45200360f, -4.00882292f, 0.61042011f, -0.16738498f, 1.33787775f, -2.26938057f, 1.03656030f, 8.89089870f, -1.60370600f, -5.38691807f, 5.72182989f, 2.72854710f, -6.18535757f, -3.13408709f, 2.79175353f, 5.18425512f, 9.46434212f, 2.40110517f, 1.11330092f, -3.57366538f, 4.80967665f, 0.40691876f, -3.65484858f, 0.92398167f, 2.53852940f, 3.17747331f, 2.14199781f, -1.69107199f, -1.91864693f, -3.18452644f, -2.42408276f, -2.14332366f, -1.35526609f, -4.50732136f, 0.58234072f, -1.81547785f, 0.57311213f, 1.10584176f, -0.97226644f, 11.73174381f, -2.00559855f, -1.81175601f, 2.33131361f, 0.49264961f, -0.42245382f, -1.37528467f, 1.55768061f, 0.21152198f, 13.08896351f, 10.33674145f, 5.77929306f, -6.19886398f, 5.67007637f, -6.61288071f, -2.58029866f, -4.05192375f, 1.77221894f, 0.29821560f, 5.23508501f, -5.09560966f, -0.97536200f, -5.17957878f, 1.02876794f, -4.52072096f, 2.22126532f, -4.81708670f, 0.44538212f, -2.30738068f, 3.15900373f, -4.99227905f, 0.82632786f, 9.65415478f, -0.63819492f, -3.25479436f, -0.13276935f, 0.21337092f, -2.22116399f, -3.04922724f, 0.65568435f, -0.10706246f, 4.58047390f, 7.80782652f, 5.49080181f, -3.97114491f, 6.43327618f, -6.54772758f, -2.10962629f, -0.79831678f, -0.08316499f, 2.48658133f, 4.14070511f, -0.59806836f, -4.58636141f, -0.31166920f, 0.31757897f, -3.92562199f, 0.65357721f, 0.55871534f, 1.71843934f, 1.62395024f, 0.00695819f, -4.56716251f, -3.76420808f, 4.24979544f, -0.86128616f, 0.23126510f, -6.32968998f, 1.83346081f, 3.81335950f, 2.98407745f, -1.80454743f, 6.61764765f, -1.39372075f, -0.86780751f, 7.24317265f, 2.24205112f, 1.05702817f, 0.55431479f, -1.54557061f, 3.36389136f, 4.70898724f, 1.11327887f, -3.78462076f, -3.63381767f, 2.86510396f, 0.74203897f, 0.81488025f, 3.54250598f, 3.24824381f, 3.19000244f, -0.58995843f, -7.05670738f, 3.18306041f, 3.95191574f, 0.81820154f, -1.91068232f, -2.05426741f, -1.05589008f, -3.18377590f, -1.86278260f, -8.80374908f, 0.93416154f, -4.60517359f, 8.38999462f, 5.26356745f, -8.89992714f, 8.95298958f, 4.22590351f, 1.00351548f, -6.90151119f, -8.07641125f, -4.82450199f, 8.02293015f, 4.11661243f, 0.95457208f, -7.07843113f, -4.30524826f, 5.02697992f, 5.21011686f, 0.80132771f, 3.23420191f, 3.82452774f, -2.13171721f, -7.88879967f, 1.31062031f, 1.90848613f, -3.51572514f, -3.75684500f, 3.62577081f, -5.76075602f, -2.79389215f, 0.32598805f, -4.28981733f, 4.21048594f, -3.84532523f, 3.19815183f, -0.40756655f, -2.19974327f, 6.25655174f, 3.42396951f, -1.88986623f, -1.92803884f, -2.97344875f, -0.09756154f, 5.24342251f, -0.72513700f, 1.06113195f, -1.30720282f, 4.69107103f, 0.58984971f, 2.33985567f, 1.46385121f, 3.16576266f, 6.77769995f, -5.92685127f, -12.61141014f, -2.83663774f, 4.90253258f, -6.32688522f, -3.00096869f, 2.38634992f, -7.21459866f, -5.89208746f, 2.84085894f, -1.21792030f, 6.70161343f, -4.00450230f, 5.29881001f, -1.45574808f, 0.77542424f, 1.38336325f, -0.21572059f, -3.38088870f, 2.33249640f, 0.68824625f, -3.68440270f, 0.33481622f, -0.39239681f, 0.14560902f, 1.61039007f, -3.11967754f, 2.49372435f, 2.68783092f, -1.17559779f, 0.95257235f, 4.35451412f, -0.56818569f, -7.32110357f, -7.58534050f, -2.10573673f, -3.34446383f, -0.32183546f, -0.78525496f, -1.76974547f, 5.19060802f, -2.11319876f, -3.41755080f, -0.36864156f, 1.32680905f, 0.45004874f, 6.17223930f, -1.60707474f, 0.46096295f, -3.88852644f, 1.84729624f, -0.03412050f, 0.99224162f, -2.05553341f, 3.47793245f, -0.06305170f, 0.51314175f, -2.91650558f, -1.78121483f, -2.85465693f, 0.24649808f, -2.70376635f, 0.42334458f, -1.13862336f, -0.98409218f, -0.96593523f, 2.22128963f, 0.53402066f, 3.33979344f, 8.57430458f, 2.34217858f, -2.40062976f, 5.81624222f, 1.13290989f, -5.06850052f, -4.72865725f, 1.82859278f, 6.78569555f, 8.56885242f, 2.76462936f, 0.33891773f, -2.81092787f, 0.79498398f, -2.27208567f, 1.55182552f, 2.17166376f, 6.12517643f, 3.56859684f, 0.27685475f, -1.38408327f, -1.03533340f, -3.46618199f, 0.79240030f, -3.89390516f, -0.55852515f, -1.16367757f, -0.07008934f, -2.20105195f, 3.81210446f, -0.66834474f, 0.43603873f, 10.92334938f, 2.48571420f, -6.34997845f, 4.23135757f, 0.45045292f, -4.13489866f, -3.92324209f, 1.88537407f, 2.57159734f, 9.90973091f, 4.37453461f, 7.34546280f, -2.51120615f, 11.12575245f, -3.23452854f, -2.49947500f, 1.39819741f, -3.78950691f, 2.40617585f, 5.10036278f, -3.55743456f, -6.42888737f, -2.51929998f, -1.90880990f, -1.81618094f, 1.60946512f, -4.09737110f, 1.96408439f, -1.90115595f, 2.44444203f, -2.31254292f, -4.01332951f, 8.65541840f, -0.58626485f, -4.02226830f, 0.43893200f, -3.78272748f, -5.46277428f, 0.01306701f, 0.61185312f, 0.24469066f, 1.30214953f, 5.87789631f, 8.75197792f, -5.31634712f, 3.43556309f, -5.90755081f, 0.54375106f, -2.48162293f, -3.51843548f, 2.55853295f, 5.06387186f, -2.09662485f, -3.00377345f, -3.21781397f, -0.14537808f, -4.65453672f, 1.92747557f, 0.41553855f, 4.09379959f, 0.83387995f, 1.50868511f, -6.54959488f, -8.38881016f, 5.50689125f, -2.88616610f, -1.21597648f, -0.23817590f, 1.50816703f, -2.26873541f, 2.29862142f, -1.61143053f, 5.97371244f, 4.71440220f, -0.20635787f, 8.85926723f, 0.56064367f, -1.04103339f, -4.47060108f, -2.63824081f, 3.06782055f, -2.07702565f, 3.38269401f, -1.59988797f, -3.80122590f, 2.35341501f, 2.69095278f, 3.87612104f, 1.89984226f, 0.95496917f, 3.14841127f, -5.84543085f, -7.24945450f, -2.65708590f, 2.87417006f, 0.97556210f, -3.75203967f, 1.55287778f, -7.43401051f, -1.29005826f, -3.40252638f, -4.01049423f, 2.82721639f, -1.21479535f, 8.54563904f, 7.39749908f, -0.61361837f, 7.60177565f, 1.65812778f, -0.83008504f, -3.60961151f, -7.69062138f, -1.26275063f, -4.17071676f, 5.28448200f, 4.04685593f, -1.18231702f, 1.15276611f, 1.58620787f, 6.75060844f, 3.29332161f, -0.67640316f, 5.78984785f, -3.14913464f, -6.41867924f, -2.58316016f, -2.04366302f, 2.01089478f, -3.81723452f, 3.63843751f, -5.13238430f, -3.79432917f, 4.86581373f, -1.06922054f, 3.95978498f, -0.78166616f, 8.35650539f, 5.35834265f, 0.35594034f, 9.41657066f, -0.84108615f, -6.54425859f, -3.44328952f, -6.55536795f, -0.08963367f, -1.53906262f, 0.17658240f, -0.13108420f, -0.44371247f, -0.78411150f, 2.64754868f, 9.66306782f, 1.70506203f, -0.31588936f, 4.31715870f, -6.16665173f, -10.43371868f, -3.72962189f, 4.35245228f, -1.75867891f, -4.20046234f, 8.62637043f, 1.45946813f, -3.30153608f, 0.85179043f, -2.66643381f, 3.01863337f, -2.52916121f, 8.35405540f, -0.37298933f, -0.89473486f, 6.88681793f, -4.46370125f, -7.50776386f, 3.80255938f, -3.55003357f, 1.43528831f, -2.20383263f, 2.34999895f, 2.03803205f, 1.94830751f, -1.85976326f, 0.97718471f, 5.53710842f, -0.80560827f, 0.23925614f, 5.98795223f, -2.03578377f, -7.77835321f, -2.79955530f, -1.88185954f, -2.49112058f, -0.76095992f, 2.71161270f, -0.55918610f, 0.83789903f, -1.42063200f, -0.61528748f, -4.18273115f, 1.76384258f, 4.21265936f, 5.50964785f, -0.93324339f, 3.83215356f, 1.52210593f, -0.91594946f, 1.31148386f, 3.20160103f, 1.24493563f, -0.72693497f, 1.84716725f, 3.09897518f, -1.34605026f, -1.17511916f, -1.05526352f, -1.08590937f, -1.41319299f, -3.75052118f, -2.67095542f, -0.76179552f, -3.32081509f, -1.04692316f, -1.30194843f, -1.98795474f, 5.01223469f, 0.21895903f, -1.85535169f, 3.12362719f, 0.16198632f, -3.86784005f, -2.03062248f, -0.15415624f, 8.22020721f, 4.83055592f, 4.50315666f, 4.19443417f, 0.42727345f, -4.67786789f, -5.18739986f, 2.53988838f, 3.19683266f, 1.80313504f, 1.94664574f, 0.59795094f, -4.21626759f, 0.50492239f, -0.41232634f, -0.99224532f, -3.94929314f, 1.74060190f, -0.92474866f, -1.00664830f, -6.17397356f, -1.33146775f, -3.78111315f, -4.91876888f, 2.50303864f, -0.34890354f, -1.25013232f, 0.38168997f, -1.84135628f, -4.46107960f, -4.05920792f, -2.61709857f, 0.71046209f, 9.80566883f, 6.34086990f, 2.73394704f, -2.03342366f, -2.21424174f, -5.56514263f, -4.74755144f, -2.20672894f, 0.09010231f, 1.70423889f, 3.19200158f, -6.99027634f, 1.14216340f, 0.05824995f, -0.76996505f, -6.51575899f, -0.41109252f, 0.78229940f, 1.36170781f, -5.65170193f, 1.12221193f, -4.60430050f, -4.40174437f, 4.01805925f, 0.10774946f, -2.77991009f, -0.18023163f, 0.02151692f, -1.77023101f, -1.86639869f, -0.69443607f, 4.92290831f, 6.83520412f, 4.27372265f, 6.54272366f, -7.59249687f, -1.40776849f, -3.52368808f, 1.01398587f, -3.58802676f, -0.35658866f, 1.14716864f, 3.75847244f, -2.30159235f, -0.72130895f, -0.24564353f, -1.77531350f, -3.08677864f, -0.73486501f, -1.20357263f, 0.60789430f, -3.46990204f, -0.20668676f, -5.46096087f, -5.22016764f, 0.98259866f, 1.81012678f, 3.92534304f, -2.94997001f, 1.65154219f, 2.27040243f, 0.99095678f, 0.09144652f, -0.99103236f, -1.11210847f, 0.78181303f, 2.38706732f, 2.96695375f, -0.17279971f, 0.31143007f, 1.35465562f, 2.03586054f, 6.19515753f, -3.14652419f, -2.89027119f, -3.26665854f, -1.93043876f, -0.46601450f, 1.07655203f, 1.74946189f, 4.02148342f, 0.69275337f, 0.50094581f, -4.07613230f, 2.98369169f, 4.24537849f, 0.49480581f, -2.02408123f, -2.02068973f, 6.54505825f, -5.19377470f, -0.12596917f, -0.70204186f, -0.98308045f, -3.19708824f, 1.63609934f, 1.35475993f, 0.16313422f, 4.13918924f, 7.69187021f, 3.72601676f, -1.97790039f, -1.16739464f, -3.31835508f, 8.14553452f, -1.78718984f, 1.21505618f, -3.84255409f, -3.21992350f, 0.07376552f, -0.81223297f, 3.57002878f, 1.48521733f, -0.45995998f, 0.30551746f, -3.33944130f, 1.39538884f, 1.84758544f, -0.21494150f, -2.27316713f, -4.37771225f, 6.48841667f, -5.00251961f, -0.45162797f, -5.01056004f, 0.70199943f, -4.60057783f, -2.22394514f, 0.07777429f, -1.49820781f, 3.47308421f, 6.13231564f, 1.18605387f, -4.78924608f, -3.49548388f, -2.73382568f, 6.24617863f, -2.74291611f, -1.03833354f, -2.20752788f, -2.33219409f, 1.48633552f, 1.65796840f, 4.95045471f, 2.58479190f, -0.90922785f, 0.71312457f, -4.44465590f, 1.37020862f, 2.37683725f, 0.18805164f, -3.28422308f, -1.64939332f, 3.64181972f, -3.75277281f, 3.67203593f, -0.11204052f, 2.24140930f, -3.90657187f, 2.56883717f, -1.44016707f, -2.83842611f, -0.29104578f, 2.17757058f, -0.71431804f, 1.36911654f, 0.85083604f, -1.60110259f, -1.97247636f, -1.61163378f, -0.81236130f, -0.38993555f, -3.03631902f, -0.38213277f, 0.06394482f, 3.19348621f, 0.36771113f, 1.36763072f, 2.49159527f, -0.39599860f, -2.69996762f, -0.97561121f, -2.97563028f, -0.49662948f, -0.17564940f, -2.79042959f, 0.72395414f, 2.07260203f, -0.99439794f, -2.20248008f, -0.07389921f, 0.65536159f, 4.73054695f, -0.63917702f, 0.58788192f, -3.60156059f, 6.59609890f, 3.88419437f, -3.38469863f, -3.56237841f, -2.03295064f, 0.07279694f, 3.71804547f, 0.79928309f, -2.13411403f, -1.13909864f, -0.34193408f, -1.00338125f, -1.44231665f, -5.39835978f, -0.45086145f, 1.16064668f, 2.58335257f, 2.10072684f, 4.64244223f, 7.10090065f, 1.01974952f, -4.44687223f, 2.99792576f, 1.10303724f, -1.22736573f, -3.91514421f, 3.07458854f, 2.18765211f, 3.34481716f, 2.46166849f, 2.99648619f, -0.94046807f, 5.55028200f, 0.92199719f, -0.83934361f, -0.72042274f, 0.84869325f, 1.46914721f, 0.85937387f, 4.77306223f, -4.06436539f, -2.59847593f, 2.44828081f, 0.50484699f, -2.71092367f, -6.39010477f, 0.91778028f, 3.25469685f, 1.30310678f, 1.35258150f, 3.56171441f, 7.82435083f, -2.51527429f, -4.24328852f, 2.36876059f, 1.94595242f, -2.59290171f, -6.62389565f, 3.32567835f, 2.13659120f, 4.09299326f, 3.48293996f, 2.64965177f, -3.19157362f, 13.37204266f, -0.50297594f, -4.57448196f, 3.95582604f, -0.69038916f, 0.10098404f, 1.18737555f, 3.65761185f, -5.69623756f, -2.03357077f, 1.02868807f, -1.38448596f, -0.05690211f, -8.48874187f, 0.56755424f, 1.45485961f, 0.66273880f, 0.06495565f, 1.79539490f, 8.46864319f, -1.22696662f, -1.87585378f, -0.99768794f, 2.72801924f, -0.66980243f, -2.31924677f, 0.33271110f, 0.11666083f, 1.86980045f, 5.95332909f, 7.38583708f, -2.80956483f, 6.79227638f, -6.78070831f, 1.21884382f, -1.40695429f, 0.90236962f, -1.13695288f, 0.50760663f, 1.00955284f, -5.39029121f, 0.24987072f, 2.24283314f, -4.02145576f, 2.18057394f, -3.35627747f, 1.26061773f, 1.30342579f, 0.11311233f, -1.11199212f, -4.06509686f, 5.82649660f, -1.24059582f, 5.51652861f, -1.90937877f, 1.10658336f, -0.47065550f, -2.39167786f, -1.95931304f, 4.12717247f, 1.15396059f, 1.26015663f, 7.97836876f, 7.33633423f, 2.27785325f, -2.83802366f, -2.74850106f, 0.86126029f, 6.18781090f, -1.43707538f, -6.97134876f, -3.25486469f, -1.95214593f, 0.91066706f, 0.89637989f, 1.06481194f, 6.25791073f, 0.81779671f, -1.08384395f, -3.21191931f, 2.04216075f, 4.76030350f, -2.37217665f, -1.42571259f, -6.35876131f, 4.62536526f, -5.40060568f, -3.14868999f, -1.00587153f, 1.80662942f, -7.03201485f, 6.08373499f, 0.99862772f, 2.21717811f, 4.06814623f, 6.02428913f, 5.33422756f, -0.87013257f, -2.22477579f, -2.51505303f, 5.82925224f, -0.82854009f, -4.30698347f, -1.75007713f, 2.08352375f, -2.25235629f, 1.17517352f, 5.77717733f, 2.27472878f, 2.72778273f, -1.95411634f, -4.52602863f, 1.13983536f, 1.16340065f, -2.02740526f, -3.11290503f, -1.94906235f, 1.54855204f, -4.52984142f, 1.97465122f, -1.79415476f, 4.03510094f, -8.45349979f, 10.87430096f, 2.19863629f, -5.39083815f, 5.86213875f, 6.25744534f, 6.52600002f, -4.72149038f, -1.75254321f, -5.51459169f, 7.03155518f, -2.01889277f, -4.58441257f, -3.61226106f, 0.42395937f, -0.93263882f, 2.28703761f, 2.80611467f, 2.59498215f, 0.65989012f, -1.51268566f, -4.49465561f, -4.70453882f, 5.44696808f, -4.37603617f, 0.46670085f, 2.82488608f, 2.18854523f, -2.04817152f, 1.19557285f, 1.53618634f, 4.44758606f, -7.31593513f, 7.43966007f, -3.55480957f, -5.29834652f, 2.14622784f, 1.65194583f, 2.71262598f, -4.86145496f, 0.79726243f, -8.88541985f, 1.19627261f, 0.79660845f, -1.98016644f, 1.03741014f, -3.93128228f, 1.05535269f, 2.01378822f, -0.46086323f, -0.77754641f, -1.43942690f, 0.49809402f, -2.27861357f, -3.29815221f, 0.38201320f, -3.98481083f, 4.88261318f, -0.44555628f, -2.57224536f, 2.35001850f, -2.65835261f, -2.43422794f, -2.97889376f, 1.07349825f, 1.88157082f, 4.74075413f, 0.60376728f, -0.48894715f, -1.15800071f, 4.68110943f, -0.86976886f, 1.49192941f, 0.62665290f, 0.20652676f, 0.53916287f, -1.45706177f, 0.66133004f, 1.34405875f, -4.27689552f, -0.20838106f, -5.14266443f, -1.29718637f, -1.74506426f, -0.86022055f, -3.57553625f, 0.46880072f, -1.25287139f, 3.28596354f, 11.33191013f, 1.23942876f, -3.87616491f, 7.57880497f, -0.22940339f, -5.68512678f, -1.94969654f, 5.85449600f, 3.75705457f, 4.24395847f, 1.60086083f, 2.62553668f, -0.93964291f, 5.84753895f, -0.79931092f, 0.48274064f, 2.07170033f, 3.02243996f, 2.63509989f, -0.76043403f, -1.64048159f, -6.17683458f, -3.09974527f, -2.12773156f, -0.89379883f, 2.82242465f, -1.99981332f, -0.08763933f, 0.01921120f, -1.94142103f, 2.48067307f, 0.41083777f, 8.24922180f, -1.84516132f, -1.39224625f, 5.03956223f, 0.49562740f, -5.28296328f, -0.20005548f, 3.13672113f, 0.51187158f, 7.11563921f, 6.43059587f, 3.48430967f, -5.37095928f, 8.03863049f, -5.53923941f, -2.16421175f, -3.77641368f, 3.29633045f, 5.04030085f, 2.25945377f, -3.04169011f, -2.16198015f, -2.49559617f, -0.26252726f, -6.99201345f, 2.87374353f, -0.12568980f, 0.23314142f, -1.32087135f, 4.39030552f, -0.24638844f, -4.37242651f, 14.09276772f, 1.23987353f, -1.72249663f, 0.31124914f, -2.13725138f, -3.74915648f, -1.87147236f, 0.47318631f, 1.13337576f, 3.00416899f, 8.82548523f, 4.80538750f, -5.28486395f, 5.51870108f, -5.15801477f, 0.95712411f, -1.50416136f, 2.34657240f, 4.20726633f, 5.56757259f, -3.30645251f, -3.39945269f, -2.68488026f, -2.53525281f, -3.15145874f, 2.74529529f, -0.96283442f, 2.87778258f, 0.22186530f, 1.24905694f, -7.07941198f, -5.45916176f, 3.46988297f, 0.92430985f, -0.98330998f, -2.23672342f, -3.03262734f, 0.73941302f, 0.98004431f, 0.83219361f, 7.17411804f, 4.27849865f, 0.14765590f, 8.61269569f, 9.04497051f, 1.53991723f, -2.08305025f, -4.34939337f, 0.63786775f, 2.60098696f, 0.02432060f, -1.48516297f, -4.06825686f, 5.12420368f, -0.75312757f, 1.96927559f, 4.91575956f, 3.41533065f, 3.62557888f, -4.35002136f, -5.91343403f, 0.45026422f, 4.93286371f, 3.45830250f, -4.39032364f, -0.51697755f, -7.41543341f, -3.06703568f, 1.01196158f, 2.47106576f, 5.54014874f, -4.65312243f, 8.61000633f, 8.25905323f, -1.41497111f, 8.69221878f, 0.40090930f, 1.11325574f, -1.67089832f, -4.01080132f, 1.07925677f, 2.68086481f, -0.73093414f, -1.35081220f, -7.85765076f, -5.98989439f, -0.04651213f, 4.63693142f, 2.07757711f, -0.22652936f, 3.45525455f, -0.69198442f, -10.39761639f, -2.02106953f, 4.77755499f, -2.67665577f, -1.72481167f, 4.49634743f, -2.55717134f, -4.55044937f, 0.46377492f, -3.08933020f, 3.86891365f, -2.79104614f, 8.36974335f, 0.86471701f, -5.39342690f, 12.54906940f, -0.41536295f, -5.29502535f, -3.94430566f, -5.67391300f, -4.65079165f, 2.22505951f, -0.30000746f, 2.27855444f, -4.81604433f, -1.73440599f, 4.68784523f, 5.00208044f, 0.18863934f, -1.74989462f, 3.17923450f, -1.59773099f, -12.59962940f, -1.54495025f, -0.00576371f, 1.79913878f, -2.43449807f, 1.49516344f, -3.90507102f, 1.68647158f, 4.50177765f, -5.32286358f, 3.47539330f, -2.90529680f, 1.61576962f, 0.83679676f, -5.55615807f, 3.78939056f, -4.46644831f, -5.95550919f, 0.37808037f, 0.51334500f, 1.74658906f, -0.82085419f, -0.65387219f, 3.67790437f, 0.03758264f, -2.42622781f, 1.83335185f, 4.73835945f, -0.83536482f, -0.03993917f, 3.78230667f, -4.81265640f, -8.26869011f, -1.30363441f, -2.09106350f, -3.96769738f, -1.89037073f, 0.38682747f, 0.05434489f, 5.72213697f, 0.55685395f, -3.47729349f, -1.11535001f, 2.09416127f, 5.08877802f, 5.72183466f, 1.29632664f, 0.16822398f, -2.43180108f, 3.49967623f, 2.15753818f, -0.26548505f, 3.24446392f, -0.00599277f, 1.08215356f, -0.23225522f, -2.40723038f, 0.18496060f, -3.70608735f, -0.19918591f, -1.64028871f, 0.80792952f, -0.85334057f, -2.52314138f, -3.12099195f, 0.17949918f, -0.82650864f, 2.32224989f, 9.56476116f, -0.20134282f, -0.48428559f, 2.86784410f, 0.07289505f, -3.92880869f, -2.11887884f, 0.59164631f, 6.31267452f, 7.49149418f, 2.88749456f, 2.40504885f, -3.57608175f, -1.48019314f, -0.69410253f, 0.90275228f, -0.34111357f, 2.19190216f, 3.39090061f, 3.39631820f, -5.19105434f, 2.67546582f, -2.56549048f, -0.59797800f, -4.21802664f, 0.63918972f, -0.69969130f, 0.47496963f, -4.30976725f, 0.16531238f, -3.59595251f, -0.76877379f, 11.79971790f, -0.93276632f, -1.48630571f, 8.04754066f, 2.09168458f, -3.77018499f, -4.19337654f, 0.26171905f, 1.99359691f, 8.96759701f, 8.39609814f, 6.19231987f, -5.36037970f, 4.69818354f, -4.22453928f, -4.61665344f, -2.52073431f, 1.34026706f, 2.80182385f, 2.56681514f, -4.04676390f, -3.01466990f, -4.10480118f, 0.38737059f, -0.37146521f, -2.26529670f, -1.72867084f, 0.93472683f, -2.47562981f, 0.89871657f, -1.67618203f, -0.28950238f, 5.30124855f, -0.14731219f, -0.81319761f, -1.11265934f, 0.11356127f, -2.52802444f, -1.93826056f, 1.06187987f, 1.48062325f, 4.28070498f, 5.69893932f, 9.26904392f, -4.23773003f, 5.78582096f, -6.18445301f, -2.85200453f, -5.30461454f, -4.16009140f, -0.07239690f, 4.11531162f, -1.12266588f, -1.50265646f, 0.47661865f, -1.90043914f, -6.48978710f, 1.71005368f, 0.18256521f, -0.88272136f, -0.51324779f, -0.78045660f, -5.21036625f, -4.11805344f, 3.99454761f, -1.04999924f, -6.99629354f, -5.02737141f, 0.94748145f, -2.35882139f, 4.13982439f, -1.41835535f, 7.56763077f, 3.97024012f, -4.08156776f, 6.90305424f, 0.53571963f, -2.22625160f, -2.09144926f, -4.98530245f, -0.15102190f, 0.59995949f, 3.28562784f, 0.77991986f, -3.08389306f, 3.34046674f, 0.41394949f, 5.10031366f, 2.99692893f, 0.17706826f, 2.85998058f, -6.68330860f, -6.72653008f, -0.04071128f, 3.71085787f, 3.17834806f, -4.88019037f, 6.74075413f, -7.41782188f, -5.22026348f, -1.94595623f, -3.61318684f, 1.85610664f, 1.08613706f, 6.41580677f, 1.46376514f, -4.11524010f, 9.59146214f, -2.92772651f, -1.70753336f, -1.51594138f, -4.88185692f, 1.47331417f, -2.23893595f, 4.98459148f, 1.29359996f, -2.29221845f, -0.99594390f, 3.05759239f, 6.86030054f, 2.40487719f, 3.28339863f, 7.72739315f, -3.60563445f, -9.73502827f, -1.51672328f, -0.08473521f, -2.43673515f, -3.26616001f, 3.63767886f, -11.25394535f, -5.17597103f, -1.27523947f, -7.82669783f, 0.67929745f, -4.50530529f, 5.49323797f, 6.78993320f, -2.28033876f, 4.61412525f, 2.55109429f, -12.38607693f, -0.63024014f, -3.45992327f, -0.84092742f, -0.03252453f, 4.58635283f, 5.28213978f, -1.28417206f, -1.71185923f, -0.26850975f, 8.28257561f, 4.47432184f, 2.72818279f, 8.42217731f, -4.22216320f, -8.95128918f, -1.57179546f, 1.34253705f, -5.47035217f, -5.50866985f, 4.64156532f, -6.11207914f, -5.46734476f, 3.54298997f, -2.79237103f, -0.70766860f, -3.62739944f, 3.22660995f, -2.02262759f, 0.11224222f, 2.63832402f, -0.91955596f, -4.65958309f, -0.29729855f, -1.78957534f, -0.40749407f, 0.51688713f, 0.83725226f, 0.30945438f, 1.20769620f, -1.75219965f, 2.59689760f, 5.01501608f, -1.59034789f, 0.58155286f, 3.75831509f, -5.26110506f, -8.65382767f, -6.19066620f, -0.61932850f, -2.71863723f, -0.87443137f, 3.40582991f, -1.27868056f, 3.51236677f, -2.07806540f, -0.85076392f, -1.14599180f, 1.16361260f, 1.86411846f, 5.86179352f, 0.69029891f, -0.06060839f, 1.54649436f, -0.60351688f, 1.51970077f, 0.04187265f, 1.64540339f, 2.75502157f, 2.46308279f, 1.69071770f, -3.23827076f, 0.92096543f, -3.09458661f, -1.23823690f, 0.24035048f, -0.74456501f, -1.85476089f, -0.32914662f, -2.10325241f, 1.19795251f, -2.05372071f, 1.02114081f, 2.56286955f, 0.42165697f, -1.65826249f, 4.00724554f, -2.18727994f, -1.05848944f, -0.52338278f, -0.28714985f, 8.08780861f, 5.04444599f, 3.51866961f, 3.37445784f, -1.96067202f, -1.21509445f, -3.96595931f, -0.80801201f, 0.76944816f, 1.80147493f, 4.14419460f, -0.12201095f, -2.77788162f, 1.13284469f, -2.05441403f, -0.61129224f, -2.69690657f, 1.91634214f, -2.17146754f, -0.22308528f, -6.02561045f, 0.49161875f, -6.74280357f, -4.62689781f, 2.47910833f, 1.86534905f, -3.24152899f, -1.39898300f, 0.29427958f, -2.16338181f, 0.90073711f, 1.75551236f, 4.42651892f, 8.34437466f, 5.50070190f, 5.68162251f, 1.65345454f, -2.72315669f, -5.43411493f, -0.29380533f, 1.07508349f, -1.73533511f, 2.56912184f, 3.62010550f, -6.30422783f, 1.74158525f, -1.22070909f, -0.80982518f, -4.14757967f, 4.29217434f, 0.70600843f, -2.09282112f, -5.09018898f, -0.11623126f, -5.99775553f, -4.66743088f, 1.61512172f, -1.30276895f, -3.17103505f, -0.26310229f, -1.00843918f, -0.77664804f, -2.05240250f, 0.04728425f, 1.15720487f, 4.01001406f, 7.24615860f, 2.55452180f, -5.76347876f, 0.34683830f, -6.05540276f, -4.70677900f, -0.93182588f, -4.37759733f, 2.93209839f, 1.63947964f, -2.43563962f, 1.35213876f, 0.00670356f, -0.02742785f, -2.16460943f, 1.39449501f, 0.23929763f, 2.37476778f, -4.17733765f, -0.81475425f, -6.15027046f, -5.74441719f, 3.53978682f, 0.66798484f}); + auto input2 = NDArrayFactory::create({3, 4, 4, 5}, {0.98114507f, 0.96400015f, 0.58669623f, 0.60073098f, 0.75425418f, 0.44258752f, 0.76373084f, 0.96593234f, 0.34067846f, 0.57962620f, 0.77517051f, 0.97472977f, 0.79237527f, 0.68690428f, 0.21719366f, 0.79959206f, 0.84814187f, 0.22496814f, 0.08646965f, 0.31110474f, 0.79813162f, 0.19661444f, 0.57760099f, 0.72138960f, 0.15244268f, 0.87687051f, 0.11130344f, 0.01087698f, 0.34817841f, 0.54992017f, 0.23443850f, 0.31725614f, 0.59755220f, 0.20364695f, 0.00531392f, 0.23403114f, 0.07442912f, 0.83707647f, 0.89291743f, 0.09044587f, 0.69041462f, 0.29904183f, 0.61904680f, 0.85306847f, 0.34467042f, 0.95839152f, 0.54517124f, 0.29640937f, 0.94855959f, 0.95970016f, 0.94045145f, 0.95510301f, 0.34666505f, 0.34717010f, 0.69245678f, 0.71669175f, 0.59043738f, 0.64924132f, 0.06033522f, 0.60185199f, 0.04690073f, 0.59241154f, 0.40229547f, 0.23002481f, 0.45161195f, 0.73743778f, 0.93209113f, 0.37294358f, 0.50177744f, 0.15072501f, 0.26146917f, 0.05252146f, 0.04758931f, 0.76448288f, 0.85149045f, 0.08840467f, 0.07692576f, 0.33180160f, 0.27241259f, 0.74834620f, 0.56453640f, 0.23057286f, 0.68429752f, 0.11961551f, 0.39045977f, 0.44356094f, 0.77018807f, 0.07984410f, 0.47926806f, 0.26165759f, 0.18606064f, 0.89972877f, 0.17962874f, 0.47273120f, 0.64641705f, 0.61890443f, 0.58730015f, 0.25937832f, 0.35231561f, 0.10243882f, 0.17459193f, 0.95906995f, 0.09227025f, 0.30003223f, 0.41601210f, 0.38269713f, 0.84799751f, 0.59295173f, 0.76277990f, 0.68910424f, 0.37672606f, 0.40675461f, 0.94346058f, 0.91438505f, 0.84728183f, 0.64367667f, 0.74899979f, 0.60570691f, 0.16417363f, 0.68852426f, 0.85486889f, 0.22585792f, 0.86953176f, 0.07465519f, 0.93096301f, 0.38008822f, 0.38752587f, 0.44004038f, 0.13170612f, 0.94541045f, 0.89349973f, 0.69245307f, 0.94978877f, 0.98776658f, 0.79445884f, 0.30607409f, 0.58264961f, 0.37980538f, 0.41810784f, 0.48903038f, 0.51615888f, 0.57682794f, 0.82481897f, 0.78341080f, 0.48446465f, 0.17447931f, 0.71125424f, 0.30263851f, 0.70675352f, 0.03215584f, 0.92381065f, 0.22343694f, 0.08851149f, 0.91402490f, 0.70074717f, 0.30912192f, 0.37723206f, 0.97579397f, 0.23554587f, 0.95939133f, 0.41565709f, 0.01741416f, 0.58362787f, 0.22106662f, 0.89065537f, 0.31900249f, 0.41280911f, 0.67947610f, 0.04545590f, 0.15352812f, 0.85412524f, 0.84933222f, 0.80000225f, 0.93147073f, 0.70094105f, 0.69269875f, 0.95282194f, 0.65913582f, 0.79186874f, 0.59855248f, 0.39707430f, 0.95126239f, 0.15618217f, 0.33446689f, 0.98123758f, 0.84770758f, 0.98081012f, 0.54427413f, 0.18728519f, 0.89792955f, 0.53360126f, 0.72812986f, 0.13307744f, 0.51217443f, 0.66708084f, 0.29416915f, 0.31298995f, 0.39155037f, 0.29288291f, 0.87063305f, 0.61759154f, 0.73723332f, 0.37167635f, 0.82122716f, 0.22937430f, 0.76570536f, 0.47911792f, 0.02826214f, 0.94277323f, 0.59945469f, 0.19042060f, 0.68173155f, 0.82771295f, 0.95649538f, 0.40833101f, 0.90838542f, 0.55245881f, 0.49011012f, 0.36773444f, 0.34513527f, 0.42050683f, 0.16113964f, 0.30969388f, 0.27174174f, 0.12117655f, 0.35270175f, 0.81967867f, 0.63723136f, 0.84309389f, 0.71822576f, 0.84883484f, 0.32306117f, 0.08176457f, 0.56175486f, 0.34892198f, 0.09306929f, 0.85437582f, 0.13925577f, 0.48629188f, 0.29923539f}); + auto exp = NDArrayFactory::create({3, 8, 8, 16}, {5.98743296f, -2.83037376f, -0.87943113f, 1.41339970f, 1.32433391f, -1.20299149f, -0.02893090f, 2.05326009f, 1.19417048f, 5.58212376f, 3.28139353f, 1.19237995f, -1.09431255f, -2.55264497f, 3.11014652f, 6.81296825f, -2.09029293f, -4.32068443f, -0.52808392f, -1.97968531f, -0.18673831f, 0.84605980f, 4.55825520f, 2.71503139f, 0.15210046f, 0.85310984f, -3.82062817f, 2.76470995f, 3.69004202f, -1.45017099f, -2.59361267f, -1.35094655f, 7.24145126f, -5.25432396f, 0.19920218f, -4.30596399f, 1.35318923f, -3.88142037f, 3.67493343f, 2.25931478f, 2.87630725f, 1.66349852f, 6.21347952f, 0.94105923f, -1.61742055f, -2.35699606f, 0.12850338f, 1.79141688f, -2.09535933f, -6.35418081f, -0.06303531f, -4.38615131f, 0.48237842f, 0.26528549f, 3.38231516f, 3.76315165f, -0.40254810f, -0.23716694f, -6.13381910f, -0.41950428f, -0.89680839f, -1.46491277f, -1.98541689f, -0.99357355f, 5.58237648f, -2.38937521f, -0.00872564f, -2.37138414f, 4.91117287f, -4.51916361f, 0.97943687f, 2.91052818f, -2.50362611f, 1.70252812f, 5.04137802f, 3.57108784f, -1.87532270f, -3.66677809f, -2.38861251f, 5.55765152f, -7.27571774f, -1.68887305f, -0.72266489f, -4.42809057f, -0.92118186f, 1.02381468f, 4.44284725f, 5.17150497f, -0.42438728f, 2.02693963f, -1.36484981f, -1.47912180f, 0.26649538f, -0.02091765f, -2.86906910f, -3.03046989f, 1.35122132f, -3.21707630f, 2.21112418f, 0.24121630f, 3.96940088f, -7.66105747f, 2.76352382f, -0.99061489f, -2.16720009f, -1.63170409f, 1.12701774f, -1.02415371f, -0.90435314f, -1.51372027f, -0.76884907f, 0.39066136f, -0.89562428f, -2.03204703f, 1.28074932f, -2.14551091f, -2.36843777f, 0.46580017f, 0.75451565f, -0.00336730f, -1.06597757f, 3.27195978f, -0.41307712f, -0.10376054f, -1.34102952f, -2.22901654f, 2.31929803f, 1.40851438f, -2.23774385f, 0.20417206f, -1.12153268f, -0.13188094f, -3.96649432f, 2.10269976f, 0.49845099f, 6.18937683f, -0.51783508f, -0.48048639f, -1.92970264f, 3.16670656f, 1.13355756f, -0.07890664f, 1.31536257f, -0.43924797f, -0.04562932f, -0.87974954f, 0.75411212f, -2.39745235f, -3.97132111f, 0.37202546f, -2.40399146f, -1.50796390f, -3.08302689f, 0.23075986f, -0.94316757f, 1.34948587f, 0.58591264f, 2.18529797f, 7.97652435f, 2.32798409f, -4.09404373f, 0.89634895f, 0.77697754f, -0.65091681f, -7.05506849f, 5.86194515f, 2.51394033f, 4.69959354f, 0.20835471f, 3.18049693f, -1.29682434f, 3.70832396f, -0.48123091f, -1.67904007f, -1.35418940f, 1.58435583f, -1.13851106f, -1.19225955f, 0.59713769f, -5.80462933f, -7.45143986f, -1.08658695f, 1.03244078f, -1.75307107f, -7.07100582f, 3.85825157f, 1.62127817f, 2.32572675f, 0.56171900f, -0.80591971f, 3.98835945f, 0.15742642f, -2.97832179f, 0.13821673f, -0.72556758f, -0.84936106f, -7.28444147f, 3.94134307f, 0.80779338f, 7.47784615f, 8.23335075f, 4.80595016f, -4.89574575f, 4.03362942f, -6.67522192f, -4.55204487f, 2.12511182f, -2.70781207f, -1.57226098f, -3.08408356f, -0.30812448f, -5.32870674f, -5.13238287f, 0.49605465f, -0.55042171f, 0.46324944f, -3.83545256f, -0.12562510f, -0.20978995f, -0.13068712f, -1.92144060f, -1.68787408f, 5.45581436f, -0.79583496f, -2.38866687f, -3.90546346f, -0.47028148f, -0.14319679f, -3.37016582f, 2.00905991f, -1.21345615f, 1.81376505f, 7.73004007f, 0.74310112f, -4.64536428f, 3.78111577f, -9.05182457f, -0.10674095f, 1.53476238f, 0.63345337f, -0.40907967f, -1.44729769f, -1.87145400f, -2.46623540f, 1.07472968f, 0.77390999f, -3.93438888f, 4.49174690f, -0.96686655f, 1.92278123f, 0.30049133f, -0.02388665f, -1.99777114f, -3.23885751f, 5.87784004f, 2.13776040f, 3.56758308f, -3.37774134f, -3.67526293f, 1.63700044f, -1.69959962f, -0.99112594f, 6.03103638f, 1.67399430f, -1.28699589f, 7.16759014f, 12.63490295f, 3.62937450f, -4.75982571f, 2.17861104f, -2.03065681f, 4.30207729f, -0.46797156f, -2.96022511f, -6.02702332f, 3.09229851f, -1.39771092f, -0.03471333f, 3.22175527f, 5.63565636f, 1.78195477f, -0.63545251f, -3.99497652f, 1.46043062f, 4.60050488f, -2.96651959f, -2.03159475f, -1.52386189f, -0.15129802f, -3.90390921f, -0.63852370f, 0.79210538f, 2.35288715f, -5.55609035f, 5.36427498f, -0.60248077f, -0.26181316f, 5.04884720f, 8.53192806f, 5.05080223f, -6.56371737f, 1.52260923f, -7.13623667f, 6.49414349f, 2.33445597f, -4.11490965f, -6.44347477f, -0.47079402f, -0.63467920f, 2.60399365f, 1.05958164f, 3.66901422f, -1.05657935f, 1.88611507f, -6.37475634f, 2.01480770f, 3.36020517f, -5.11001921f, -0.46132171f, 2.16525555f, 4.21938848f, -2.08346295f, 2.86168146f, 1.26987600f, 6.76066971f, -7.84916353f, 4.11700916f, 0.47985530f, -4.60113716f, 7.42062473f, 6.37472820f, 4.37820530f, -7.12197018f, 0.01357239f, -7.90392113f, 8.32131577f, -0.87593079f, -0.16994858f, -5.86345863f, -0.20697471f, -1.37845206f, 1.63819647f, 1.59720242f, -0.74357712f, -1.88725603f, -1.98357940f, -8.57950306f, -4.10104513f, 3.57231879f, -2.89855957f, -0.11263305f, 2.78033924f, 1.53078973f, -2.93089223f, 0.73189604f, 3.20563078f, 3.92601013f, -5.21916151f, 0.89163935f, -0.42978728f, -6.70888853f, 4.56477976f, 1.20105875f, 3.83393812f, -6.27205181f, 4.05993128f, -7.35513067f, 1.60660768f, -1.21052051f, 1.58191252f, -1.37899971f, -1.20117283f, 2.93301678f, 1.06302834f, 1.38993621f, -1.66884089f, -3.34452581f, 1.04498529f, -4.10412455f, -4.03310585f, 1.61513603f, -1.09388447f, 2.11451387f, -0.94192362f, -0.23287666f, 5.88265705f, -0.83010495f, -2.15317154f, -0.60276151f, -1.49265075f, 3.93397975f, 5.45194483f, 1.45161700f, -2.57401872f, -5.59288931f, 4.29170895f, 1.87151814f, 0.08362055f, -0.28767288f, 1.17675185f, 0.85266006f, 1.30549634f, -5.60830832f, 0.19398519f, -0.83982587f, 1.75940764f, -5.46077394f, 1.64495635f, 0.17102760f, -0.54459631f, -2.21975255f, -0.37443402f, -2.08474159f, 1.85959935f, 11.19680309f, -0.18611598f, -2.59765387f, 3.06330776f, -1.52183700f, -4.88415241f, -0.75097847f, 2.58201051f, 7.40885210f, 3.58994508f, 1.62457407f, 3.12514591f, -4.36833286f, 1.39830995f, 3.61003447f, -0.63837433f, -3.62661815f, 3.78898096f, 2.92802262f, 5.87374496f, -4.38554621f, -2.53411579f, -2.87311554f, -1.31391978f, -4.26736879f, 3.45099425f, 1.58769250f, 1.73341393f, -1.08842182f, 2.27120280f, -1.78938174f, -2.29940319f, 7.07046986f, 0.51426595f, -6.22928905f, 5.28968811f, 2.31827855f, -4.20915890f, -1.27249205f, 5.92120600f, 3.19458675f, 7.09252501f, 3.96577907f, 6.41484213f, -4.66009521f, 10.00181389f, 0.51108456f, -4.62243366f, -5.18351841f, 2.12961674f, 5.10694027f, 7.29412317f, 0.15912467f, -3.38902974f, -4.01918602f, -2.17383957f, 0.13118666f, 0.27872476f, -0.92317247f, 3.51440644f, 1.84171486f, 1.03378081f, 1.30569839f, -2.09583759f, 9.03952980f, -0.55187917f, -2.04549074f, 1.08294606f, -2.65263700f, -2.93977118f, 1.88909876f, 0.96043622f, 1.76579499f, 3.14314699f, 5.86394691f, 7.36944389f, -7.04524136f, 6.68673229f, -5.52591467f, -2.19745898f, -4.32036924f, 0.52971321f, 2.26268244f, 6.91575766f, -0.94590527f, -3.98923349f, -0.12266219f, 0.24294075f, -1.07783222f, 1.87989080f, -3.57109427f, 1.61553633f, 0.42486978f, 0.75852054f, -6.19481468f, -3.80570698f, 2.39946675f, -1.93851781f, -5.42234039f, -6.34092760f, -2.52374983f, -1.85044456f, 3.92693520f, 0.40042299f, 4.69742584f, 5.40483189f, -1.02398944f, 8.89605045f, 0.64680403f, 0.89943957f, 0.76993859f, -1.88244629f, 1.90714884f, 3.10836840f, -0.17064989f, 0.84892416f, -6.94988108f, 1.92141032f, -1.36458397f, 6.39284658f, 0.45201308f, 2.58823442f, 6.33375788f, -4.76916075f, -8.45738983f, -0.48962492f, 2.40652561f, 4.56602001f, -3.34420681f, 1.86862195f, -7.01420689f, -6.94657421f, -2.47419310f, -4.61693668f, -0.18822384f, -0.36949772f, 2.01374269f, 4.11018658f, -5.11564064f, 8.04294395f, 2.88567662f, -2.87645102f, -1.23238611f, -5.91409397f, -0.62205851f, 1.38689423f, -0.01120412f, 5.25955677f, -1.98474956f, -3.72012186f, 3.00445986f, 4.99141550f, 2.97457719f, 2.70827627f, 6.04544449f, -0.20756161f, -10.87035751f, 0.80454814f, 0.33568168f, -2.48132324f, -2.84452009f, 2.63126230f, -3.99351716f, -7.39294338f, 3.62798953f, -8.65815926f, 2.65992808f, -6.98126554f, 3.09881067f, 0.67735767f, -1.15946686f, 5.63180256f, -0.17694545f, -8.59651184f, 3.75297594f, -2.35913754f, -0.20330384f, 5.49958467f, 1.00861740f, 1.42849684f, 0.00062013f, -0.11073381f, 2.15207863f, 4.07368469f, 1.14344299f, -1.27953362f, 6.64699316f, -0.73672432f, -8.55606937f, -0.19439441f, -4.14319754f, -4.69964647f, -5.86446047f, 2.87106085f, -3.42714882f, -5.00668287f, 6.22464132f, -7.72335291f, 4.05667686f, -5.72637177f, 6.35073948f, -1.29593158f, 0.00813985f, 3.63368607f, -1.05764008f, -7.88486052f, 3.73919106f, 1.41835213f, -1.04935634f, 0.65119827f, 0.03547254f, 1.88996327f, 1.58701086f, -0.56215239f, -0.80187100f, 4.55604362f, -0.67249978f, 1.41084409f, 7.86281586f, -2.38301182f, -8.50535774f, -3.82098866f, -2.40856767f, -5.33439016f, -3.34747362f, 2.69389009f, -1.64118791f, 4.52447939f, 0.04468334f, -1.48768258f, -0.69848812f, -0.71123981f, 3.66259432f, 6.10314512f, 1.37305343f, -0.62758982f, -2.99383426f, 4.20510864f, 1.48497128f, -0.08954811f, 2.43872309f, -0.59880185f, 0.37431365f, 2.45458341f, -3.28401661f, -1.94629693f, -1.93975246f, -0.26385683f, -0.45814323f, -0.18108580f, -3.74811840f, -0.29739976f, -2.24116230f, -0.28150487f, -2.24421668f, 3.46930790f, 8.35415077f, 0.05562943f, -2.81079793f, 1.10388446f, -2.82245207f, -2.98102283f, -1.08132946f, 1.19089699f, 8.00183105f, 6.35385323f, 3.72591257f, 4.59467506f, -5.74890900f, 4.42238331f, -3.36533451f, 0.18350232f, 3.05606651f, 1.18788099f, 2.87450886f, 0.27472210f, -2.80111074f, -0.66314960f, -1.96376896f, 0.75167024f, -4.72056293f, 1.10629988f, -5.00775242f, 1.48246133f, -3.91681528f, -1.86573625f, -6.17714882f, -0.67820001f, 5.69730282f, 1.04399037f, -4.93794823f, 3.09619617f, 2.18692017f, -5.54232264f, -3.10046840f, -0.68972743f, 2.81824327f, 3.04334164f, 6.13203907f, 4.14081764f, 1.02573645f, 5.71970081f, -6.01574707f, -2.07346702f, 0.99554527f, 1.69641590f, 0.66776669f, -0.80132431f, -2.03513098f, -3.42513680f, -0.06704485f, -1.87195873f, -5.42428589f, -0.20748445f, -1.52408111f, 0.97084987f, -0.48799962f, -0.45379883f, -0.26652339f, -1.20720732f, 3.94169855f, -3.18480229f, -1.87440264f, -1.18028760f, 0.52011997f, -2.13437462f, -4.52583313f, 1.69722807f, -0.89371562f, 3.37972403f, 6.38838720f, 6.98663378f, -4.05421400f, 6.89512825f, -5.09085655f, -2.16257906f, -3.33272719f, -3.01246452f, 0.37613097f, 1.80455804f, -0.36456174f, -5.32273912f, -1.29978943f, -0.53685790f, -2.12896323f, 2.55506587f, -2.57999182f, 3.40891910f, 1.36033249f, 0.83864629f, -2.88629293f, -7.36048365f, 5.61314154f, 1.32668555f, -2.58041072f, -3.71943092f, 1.60647738f, -2.74816346f, 2.47269106f, 0.85507953f, 8.39183426f, 3.42624784f, -0.01519036f, 5.68412066f, 2.51771593f, 1.03045523f, -2.08733034f, -2.44337177f, 0.81668580f, 1.30275154f, 2.99679208f, -2.91957355f, -1.71337795f, 3.34979844f, 1.51825011f, 5.20375061f, 2.27888370f, 1.38787699f, 4.23474550f, -4.05878592f, -4.85074377f, -0.22794735f, 4.64402294f, 1.24391258f, -2.04935098f, 1.26285601f, -7.51862240f, 0.62138438f, -1.95792389f, -0.96587181f, 0.85141110f, 0.79354531f, 7.93766356f, 6.07677746f, 2.05947518f, 6.55480623f, 1.44032848f, -0.70615625f, -0.07896036f, -5.08359432f, -0.01047915f, -1.89632201f, 2.57555676f, 3.83779287f, 0.42850614f, 1.80754125f, -0.06942326f, 6.35997963f, 6.06101418f, -0.97032297f, 5.71477222f, -6.06671238f, -3.46607208f, -4.98306370f, 2.84659123f, -2.11025190f, -0.04609144f, 5.26831341f, -9.56940651f, -3.67193556f, -1.71143103f, -1.35221267f, -4.26226807f, -6.89146233f, 8.21761799f, 5.69823503f, 2.28137946f, 1.88911343f, -1.44562483f, -1.60295713f, -0.52568185f, -3.31892347f, -2.81997776f, 0.35287106f, 2.98202395f, -1.39432132f, -2.70001364f, -4.14169264f, 3.50194883f, 4.12610435f, 5.52755260f, 2.65859175f, 3.61353087f, -0.83027136f, -5.10652542f, -4.48625374f, 2.06585884f, -2.76383352f, -0.64300913f, 8.19686604f, 0.96106279f, 2.45952058f, 2.47275925f, -1.03288829f, -0.64897656f, -3.77937531f, 4.27940083f, 2.58320260f, -0.57665241f, 1.87247813f, -3.81604433f, -0.24543774f, -1.62118483f, -0.73075479f, -0.48533297f, 2.05016756f, 0.45561486f, 0.03316188f, 0.77791005f, -1.56283605f, 2.36616826f, 5.58082104f, -1.30925488f, -1.06329608f, 2.17189479f, -3.43008828f, -4.71520567f, -2.56184673f, 0.17508316f, -3.25817418f, -0.41749167f, 0.18119079f, -0.73181152f, 3.99792433f, -3.08002281f, -0.99143314f, -1.83520067f, 1.18565679f, 2.98040128f, 5.67814350f, 2.35128760f, 1.41600966f, 4.02718067f, -0.08193968f, 0.64636409f, 1.35931289f, 2.37125754f, 1.75978124f, 3.90977740f, 1.50662971f, -2.84089065f, 1.29824126f, -3.38730979f, -1.61005294f, 0.58292413f, -0.03019404f, -1.57986510f, -0.56102908f, -3.03128719f, 0.51644313f, -2.01147819f, 0.98400700f, 3.00028515f, 0.74579155f, -3.37098312f, 0.93339360f, -1.29018497f, -2.14695001f, 1.30411184f, 0.71501279f, 7.47793055f, 4.06516457f, 3.50772929f, 3.52762985f, 0.55643129f, 0.32272506f, -4.30955982f, 2.49414706f, 2.07820845f, -0.34377906f, 4.39805031f, 2.77561307f, -3.91292810f, 2.43981409f, 0.18861845f, -2.76658440f, -4.97148752f, 3.25273705f, -0.08929539f, 0.19818619f, -5.83767605f, -0.97381884f, -5.68745661f, -5.42433214f, 3.98769903f, -0.40394354f, -1.83387578f, -0.80109525f, 1.47454357f, -3.14899540f, 0.80130816f, -2.26348829f, 4.06121159f, 6.13077354f, 5.31226397f, 2.94966197f, -3.65217376f, -1.08136678f, -7.14119816f, -0.85269439f, -0.70365787f, -0.81598872f, 3.62807679f, 3.08123684f, -7.82739496f, 4.07951784f, -0.14204243f, -0.66969109f, -5.07225513f, 2.88492823f, 0.47202343f, 0.72683257f, -6.84280777f, 0.41807127f, -5.09785986f, -3.74514675f, 2.03936672f, -1.06096244f, -1.52409148f, -0.97046643f, 2.27491093f, -1.55597985f, -1.29215479f, -0.79737484f, -0.01979581f, 7.65407991f, 5.54527044f, 4.04147148f, -2.64274883f, -1.89246953f, -3.89547634f, -1.06029689f, -2.85982800f, -1.41247237f, 1.55836034f, 3.38194537f, -2.97655582f, 0.87510300f, 1.26282072f, -1.77029657f, -3.57144690f, -4.19456863f, 0.53179169f, -1.42221975f, -3.09144497f, -0.84294832f, -5.02758694f, -2.68011904f, 0.89156240f, -0.34783912f, 4.64484835f, -2.34453487f, -1.28573155f, 0.09990287f, 0.01828218f, -1.79960847f, -1.06579173f, 1.08763921f, 0.43687880f, 3.24747229f, 3.83097172f, 1.07253766f, -1.33810723f, 0.76530832f, 1.58660865f, 5.60743904f, -3.54124737f, -0.89264417f, -3.83942485f, -1.03707337f, -1.61659896f, 1.65349591f, 1.72698796f, 4.96013832f, 0.78927267f, -0.35563886f, -3.48121166f, 3.79677629f, 2.59023166f, 2.74940348f, -2.17589283f, -5.91757107f, 2.43766379f, -4.15906048f, -1.74731481f, -2.49113035f, -0.57349741f, -4.04455185f, -1.46939647f, 2.21418452f, 0.09153593f, 2.23016739f, 7.91880608f, 4.04464149f, 0.07706618f, -2.41892862f, -2.19280314f, 7.61760712f, -5.89153862f, 0.33551922f, -1.70855618f, -0.30561331f, -0.14341974f, -2.48878574f, 1.31269515f, 3.45388412f, -0.02453184f, -0.12132037f, -4.27916241f, 1.25179088f, 4.09455204f, -1.83801770f, -1.86743176f, -4.02864933f, 3.44515228f, -4.39244986f, -0.56988084f, -1.69426417f, 2.18254852f, -4.78135824f, 1.73193693f, -2.27968478f, -1.49523509f, 2.51696730f, 4.03677559f, -2.03679037f, 1.32167840f, -2.22570705f, -2.74843621f, 6.29655170f, -3.67230225f, -1.86765468f, -0.14842367f, -1.21552539f, -0.92038238f, -0.51692355f, 1.08433771f, -0.01929832f, 0.15660909f, 2.31432915f, -3.86507082f, -0.69797570f, 0.13505173f, -1.50951028f, -0.69980979f, -1.51297045f, 3.63725281f, 0.13388813f, 2.73131752f, -0.96528149f, 4.92000961f, -5.92699385f, 1.69444644f, -1.17121375f, -2.33710480f, 1.35302818f, 1.39608085f, 1.68293881f, 0.94960749f, 1.89011908f, -4.08865070f, 0.13722643f, -1.62849212f, -0.19044125f, 1.37906075f, -3.92504406f, -1.45033538f, -0.42085981f, 3.38237071f, -3.06508875f, -1.39420545f, 1.13067436f, 0.92206454f, 0.49917889f, -2.74508023f, -2.19221997f, 1.77914095f, 0.10854459f, -2.62178278f, 2.35042715f, -0.15322030f, -0.67014873f, -1.75627899f, 2.64074945f, 2.76339936f, 2.67275214f, -0.62736398f, 0.58251178f, -4.64895678f, 5.50419283f, 2.53566456f, -2.44196153f, -0.07845879f, -2.80389643f, -0.64810950f, -0.05813205f, 1.67155504f, -2.69673729f, -1.72486305f, -0.53888649f, 1.86805439f, -1.37128329f, -5.37923479f, -2.08133769f, 0.58187997f, -1.39498150f, 0.21874082f, 4.33726025f, 6.29673958f, 0.72312093f, -3.32683516f, 1.73482585f, -0.00766110f, -2.63785434f, -0.13511759f, 4.07195950f, 0.94139838f, 3.15717316f, 1.53720927f, 1.87664819f, -2.33655119f, 6.18176556f, -2.73912525f, -2.45279956f, 2.20392370f, -0.56854641f, 0.98915887f, -2.64472580f, 2.40633702f, -4.93327999f, -1.28942823f, 0.98247659f, 1.31774998f, 0.07669818f, -5.91169453f, -0.43135011f, 1.27404964f, -0.59787154f, -0.22716975f, 0.74409103f, 10.27316475f, -2.29192710f, -2.19403267f, 3.78925133f, 3.19553399f, -4.42490482f, -0.80781460f, 2.16568565f, -2.54165983f, 2.54885101f, 4.18779039f, 1.73079813f, -1.48891807f, 11.60153770f, -0.98686743f, -2.88813901f, 2.32898521f, -0.36101711f, 2.34522438f, 0.29057693f, 1.39800644f, -4.31848240f, -3.21217132f, 0.11740226f, -1.21613467f, 0.57248503f, -4.44853830f, 1.54665899f, 3.14459944f, 1.76809108f, 0.26693153f, 0.86913753f, 9.47121620f, -2.07677889f, 2.08578467f, 1.30181742f, 1.58683562f, -3.52757788f, -1.32763624f, 0.79821301f, -2.19358301f, 1.17707348f, 6.01983643f, 4.11209440f, -2.04209709f, 7.00413418f, -1.84904683f, -1.32542288f, -0.01298118f, 0.70377320f, 0.27815005f, 2.07879829f, -0.71606725f, -4.94399881f, -2.11898828f, -0.39051518f, -2.21034360f, 3.05337906f, -1.56889665f, 1.97065282f, 2.61320901f, -0.34063196f, -0.57001418f, -2.13183641f, 3.48879004f, -0.12067288f, 0.48568326f, -1.81424558f, 2.28868723f, 1.44802380f, 1.25918829f, -1.76415455f, 5.35742331f, 3.50682044f, 4.71371317f, 5.89110756f, 8.51241302f, 4.07391453f, -0.05887252f, -0.18202400f, 2.27119660f, 6.78274727f, -2.87470293f, -5.14336634f, 0.76443815f, 2.04625130f, -0.43199503f, -1.01353514f, 2.42951298f, 2.35641170f, 0.32345510f, -4.04195738f, -4.77967072f, 0.26564783f, 6.11455107f, -2.53868008f, -3.11839914f, -1.04203856f, 5.17195654f, -4.15338612f, -3.84149241f, 0.48130888f, 3.09706950f, -4.18423653f, 5.26233864f, 3.55831861f, 3.75122595f, 8.14969349f, 6.80038738f, 4.68907356f, -1.40135396f, -3.19287133f, -3.15895939f, 8.77363205f, -4.48793411f, -3.80537176f, -2.40145254f, -2.74341679f, -2.02862644f, 5.33402443f, 9.25365734f, 2.50246119f, 0.32847846f, -1.50564361f, -4.26163197f, -1.40994716f, 2.50708485f, 0.44500345f, -0.62516934f, 4.09846306f, 5.29355669f, -4.02224922f, 0.73442125f, 0.46648952f, 0.67028689f, -6.30715466f, 6.56297970f, 3.80854273f, -5.19078207f, 4.98839283f, 7.59161472f, 0.46010983f, -2.10227895f, 0.29324162f, -2.67019558f, 4.57838106f, -3.02338457f, -3.08647728f, -2.00112700f, -3.81710315f, -0.08346784f, 1.69288683f, 5.68807268f, 3.29351830f, 0.54618967f, 1.83540761f, -5.38810253f, 0.51326782f, 4.40081882f, -4.03805828f, 0.49482727f, -1.36024392f, 2.91845679f, -2.00959015f, 2.47489738f, -1.43354976f, 1.92024410f, -6.55897284f, 1.79488957f, -0.89570928f, -6.13094234f, -0.45504010f, 2.35239482f, 1.29039919f, -4.78849840f, -1.52545333f, -6.50420475f, 2.99257326f, -0.55620033f, 0.26807702f, -2.52090979f, -4.59419632f, 0.57965040f, 2.19423151f, 2.04760551f, -0.57048106f, -2.20812702f, -0.04777686f, 1.38053393f, -2.71448946f, -1.06219673f, -3.62008905f, 1.85719645f, 1.28355026f, -2.76315832f, 1.65295160f, -4.01645803f, -3.10454416f, -0.65713316f, 1.22384977f, -0.70416176f, 4.45064926f, 1.31602776f, 2.06907344f, 2.48872757f, 4.25775290f, 3.50504255f, -0.68262041f, 1.29799378f, -1.01969171f, 2.98593879f, 0.12607655f, 0.37219539f, -0.84196299f, -3.80019331f, -1.82315290f, -0.38489276f, -1.45200360f, -4.00882292f, 0.61042011f, -0.16738498f, 1.33787775f, -2.26938057f, 1.03656030f, 8.89089870f, -1.60370600f, -5.38691807f, 5.72182989f, 2.72854710f, -6.18535757f, -3.13408709f, 2.79175353f, 5.18425512f, 9.46434212f, 2.40110517f, 1.11330092f, -3.57366538f, 4.80967665f, 0.40691876f, -3.65484858f, 0.92398167f, 2.53852940f, 3.17747331f, 2.14199781f, -1.69107199f, -1.91864693f, -3.18452644f, -2.42408276f, -2.14332366f, -1.35526609f, -4.50732136f, 0.58234072f, -1.81547785f, 0.57311213f, 1.10584176f, -0.97226644f, 11.73174381f, -2.00559855f, -1.81175601f, 2.33131361f, 0.49264961f, -0.42245382f, -1.37528467f, 1.55768061f, 0.21152198f, 13.08896351f, 10.33674145f, 5.77929306f, -6.19886398f, 5.67007637f, -6.61288071f, -2.58029866f, -4.05192375f, 1.77221894f, 0.29821560f, 5.23508501f, -5.09560966f, -0.97536200f, -5.17957878f, 1.02876794f, -4.52072096f, 2.22126532f, -4.81708670f, 0.44538212f, -2.30738068f, 3.15900373f, -4.99227905f, 0.82632786f, 9.65415478f, -0.63819492f, -3.25479436f, -0.13276935f, 0.21337092f, -2.22116399f, -3.04922724f, 0.65568435f, -0.10706246f, 4.58047390f, 7.80782652f, 5.49080181f, -3.97114491f, 6.43327618f, -6.54772758f, -2.10962629f, -0.79831678f, -0.08316499f, 2.48658133f, 4.14070511f, -0.59806836f, -4.58636141f, -0.31166920f, 0.31757897f, -3.92562199f, 0.65357721f, 0.55871534f, 1.71843934f, 1.62395024f, 0.00695819f, -4.56716251f, -3.76420808f, 4.24979544f, -0.86128616f, 0.23126510f, -6.32968998f, 1.83346081f, 3.81335950f, 2.98407745f, -1.80454743f, 6.61764765f, -1.39372075f, -0.86780751f, 7.24317265f, 2.24205112f, 1.05702817f, 0.55431479f, -1.54557061f, 3.36389136f, 4.70898724f, 1.11327887f, -3.78462076f, -3.63381767f, 2.86510396f, 0.74203897f, 0.81488025f, 3.54250598f, 3.24824381f, 3.19000244f, -0.58995843f, -7.05670738f, 3.18306041f, 3.95191574f, 0.81820154f, -1.91068232f, -2.05426741f, -1.05589008f, -3.18377590f, -1.86278260f, -8.80374908f, 0.93416154f, -4.60517359f, 8.38999462f, 5.26356745f, -8.89992714f, 8.95298958f, 4.22590351f, 1.00351548f, -6.90151119f, -8.07641125f, -4.82450199f, 8.02293015f, 4.11661243f, 0.95457208f, -7.07843113f, -4.30524826f, 5.02697992f, 5.21011686f, 0.80132771f, 3.23420191f, 3.82452774f, -2.13171721f, -7.88879967f, 1.31062031f, 1.90848613f, -3.51572514f, -3.75684500f, 3.62577081f, -5.76075602f, -2.79389215f, 0.32598805f, -4.28981733f, 4.21048594f, -3.84532523f, 3.19815183f, -0.40756655f, -2.19974327f, 6.25655174f, 3.42396951f, -1.88986623f, -1.92803884f, -2.97344875f, -0.09756154f, 5.24342251f, -0.72513700f, 1.06113195f, -1.30720282f, 4.69107103f, 0.58984971f, 2.33985567f, 1.46385121f, 3.16576266f, 6.77769995f, -5.92685127f, -12.61141014f, -2.83663774f, 4.90253258f, -6.32688522f, -3.00096869f, 2.38634992f, -7.21459866f, -5.89208746f, 2.84085894f, -1.21792030f, 6.70161343f, -4.00450230f, 5.29881001f, -1.45574808f, 0.77542424f, 1.38336325f, -0.21572059f, -3.38088870f, 2.33249640f, 0.68824625f, -3.68440270f, 0.33481622f, -0.39239681f, 0.14560902f, 1.61039007f, -3.11967754f, 2.49372435f, 2.68783092f, -1.17559779f, 0.95257235f, 4.35451412f, -0.56818569f, -7.32110357f, -7.58534050f, -2.10573673f, -3.34446383f, -0.32183546f, -0.78525496f, -1.76974547f, 5.19060802f, -2.11319876f, -3.41755080f, -0.36864156f, 1.32680905f, 0.45004874f, 6.17223930f, -1.60707474f, 0.46096295f, -3.88852644f, 1.84729624f, -0.03412050f, 0.99224162f, -2.05553341f, 3.47793245f, -0.06305170f, 0.51314175f, -2.91650558f, -1.78121483f, -2.85465693f, 0.24649808f, -2.70376635f, 0.42334458f, -1.13862336f, -0.98409218f, -0.96593523f, 2.22128963f, 0.53402066f, 3.33979344f, 8.57430458f, 2.34217858f, -2.40062976f, 5.81624222f, 1.13290989f, -5.06850052f, -4.72865725f, 1.82859278f, 6.78569555f, 8.56885242f, 2.76462936f, 0.33891773f, -2.81092787f, 0.79498398f, -2.27208567f, 1.55182552f, 2.17166376f, 6.12517643f, 3.56859684f, 0.27685475f, -1.38408327f, -1.03533340f, -3.46618199f, 0.79240030f, -3.89390516f, -0.55852515f, -1.16367757f, -0.07008934f, -2.20105195f, 3.81210446f, -0.66834474f, 0.43603873f, 10.92334938f, 2.48571420f, -6.34997845f, 4.23135757f, 0.45045292f, -4.13489866f, -3.92324209f, 1.88537407f, 2.57159734f, 9.90973091f, 4.37453461f, 7.34546280f, -2.51120615f, 11.12575245f, -3.23452854f, -2.49947500f, 1.39819741f, -3.78950691f, 2.40617585f, 5.10036278f, -3.55743456f, -6.42888737f, -2.51929998f, -1.90880990f, -1.81618094f, 1.60946512f, -4.09737110f, 1.96408439f, -1.90115595f, 2.44444203f, -2.31254292f, -4.01332951f, 8.65541840f, -0.58626485f, -4.02226830f, 0.43893200f, -3.78272748f, -5.46277428f, 0.01306701f, 0.61185312f, 0.24469066f, 1.30214953f, 5.87789631f, 8.75197792f, -5.31634712f, 3.43556309f, -5.90755081f, 0.54375106f, -2.48162293f, -3.51843548f, 2.55853295f, 5.06387186f, -2.09662485f, -3.00377345f, -3.21781397f, -0.14537808f, -4.65453672f, 1.92747557f, 0.41553855f, 4.09379959f, 0.83387995f, 1.50868511f, -6.54959488f, -8.38881016f, 5.50689125f, -2.88616610f, -1.21597648f, -0.23817590f, 1.50816703f, -2.26873541f, 2.29862142f, -1.61143053f, 5.97371244f, 4.71440220f, -0.20635787f, 8.85926723f, 0.56064367f, -1.04103339f, -4.47060108f, -2.63824081f, 3.06782055f, -2.07702565f, 3.38269401f, -1.59988797f, -3.80122590f, 2.35341501f, 2.69095278f, 3.87612104f, 1.89984226f, 0.95496917f, 3.14841127f, -5.84543085f, -7.24945450f, -2.65708590f, 2.87417006f, 0.97556210f, -3.75203967f, 1.55287778f, -7.43401051f, -1.29005826f, -3.40252638f, -4.01049423f, 2.82721639f, -1.21479535f, 8.54563904f, 7.39749908f, -0.61361837f, 7.60177565f, 1.65812778f, -0.83008504f, -3.60961151f, -7.69062138f, -1.26275063f, -4.17071676f, 5.28448200f, 4.04685593f, -1.18231702f, 1.15276611f, 1.58620787f, 6.75060844f, 3.29332161f, -0.67640316f, 5.78984785f, -3.14913464f, -6.41867924f, -2.58316016f, -2.04366302f, 2.01089478f, -3.81723452f, 3.63843751f, -5.13238430f, -3.79432917f, 4.86581373f, -1.06922054f, 3.95978498f, -0.78166616f, 8.35650539f, 5.35834265f, 0.35594034f, 9.41657066f, -0.84108615f, -6.54425859f, -3.44328952f, -6.55536795f, -0.08963367f, -1.53906262f, 0.17658240f, -0.13108420f, -0.44371247f, -0.78411150f, 2.64754868f, 9.66306782f, 1.70506203f, -0.31588936f, 4.31715870f, -6.16665173f, -10.43371868f, -3.72962189f, 4.35245228f, -1.75867891f, -4.20046234f, 8.62637043f, 1.45946813f, -3.30153608f, 0.85179043f, -2.66643381f, 3.01863337f, -2.52916121f, 8.35405540f, -0.37298933f, -0.89473486f, 6.88681793f, -4.46370125f, -7.50776386f, 3.80255938f, -3.55003357f, 1.43528831f, -2.20383263f, 2.34999895f, 2.03803205f, 1.94830751f, -1.85976326f, 0.97718471f, 5.53710842f, -0.80560827f, 0.23925614f, 5.98795223f, -2.03578377f, -7.77835321f, -2.79955530f, -1.88185954f, -2.49112058f, -0.76095992f, 2.71161270f, -0.55918610f, 0.83789903f, -1.42063200f, -0.61528748f, -4.18273115f, 1.76384258f, 4.21265936f, 5.50964785f, -0.93324339f, 3.83215356f, 1.52210593f, -0.91594946f, 1.31148386f, 3.20160103f, 1.24493563f, -0.72693497f, 1.84716725f, 3.09897518f, -1.34605026f, -1.17511916f, -1.05526352f, -1.08590937f, -1.41319299f, -3.75052118f, -2.67095542f, -0.76179552f, -3.32081509f, -1.04692316f, -1.30194843f, -1.98795474f, 5.01223469f, 0.21895903f, -1.85535169f, 3.12362719f, 0.16198632f, -3.86784005f, -2.03062248f, -0.15415624f, 8.22020721f, 4.83055592f, 4.50315666f, 4.19443417f, 0.42727345f, -4.67786789f, -5.18739986f, 2.53988838f, 3.19683266f, 1.80313504f, 1.94664574f, 0.59795094f, -4.21626759f, 0.50492239f, -0.41232634f, -0.99224532f, -3.94929314f, 1.74060190f, -0.92474866f, -1.00664830f, -6.17397356f, -1.33146775f, -3.78111315f, -4.91876888f, 2.50303864f, -0.34890354f, -1.25013232f, 0.38168997f, -1.84135628f, -4.46107960f, -4.05920792f, -2.61709857f, 0.71046209f, 9.80566883f, 6.34086990f, 2.73394704f, -2.03342366f, -2.21424174f, -5.56514263f, -4.74755144f, -2.20672894f, 0.09010231f, 1.70423889f, 3.19200158f, -6.99027634f, 1.14216340f, 0.05824995f, -0.76996505f, -6.51575899f, -0.41109252f, 0.78229940f, 1.36170781f, -5.65170193f, 1.12221193f, -4.60430050f, -4.40174437f, 4.01805925f, 0.10774946f, -2.77991009f, -0.18023163f, 0.02151692f, -1.77023101f, -1.86639869f, -0.69443607f, 4.92290831f, 6.83520412f, 4.27372265f, 6.54272366f, -7.59249687f, -1.40776849f, -3.52368808f, 1.01398587f, -3.58802676f, -0.35658866f, 1.14716864f, 3.75847244f, -2.30159235f, -0.72130895f, -0.24564353f, -1.77531350f, -3.08677864f, -0.73486501f, -1.20357263f, 0.60789430f, -3.46990204f, -0.20668676f, -5.46096087f, -5.22016764f, 0.98259866f, 1.81012678f, 3.92534304f, -2.94997001f, 1.65154219f, 2.27040243f, 0.99095678f, 0.09144652f, -0.99103236f, -1.11210847f, 0.78181303f, 2.38706732f, 2.96695375f, -0.17279971f, 0.31143007f, 1.35465562f, 2.03586054f, 6.19515753f, -3.14652419f, -2.89027119f, -3.26665854f, -1.93043876f, -0.46601450f, 1.07655203f, 1.74946189f, 4.02148342f, 0.69275337f, 0.50094581f, -4.07613230f, 2.98369169f, 4.24537849f, 0.49480581f, -2.02408123f, -2.02068973f, 6.54505825f, -5.19377470f, -0.12596917f, -0.70204186f, -0.98308045f, -3.19708824f, 1.63609934f, 1.35475993f, 0.16313422f, 4.13918924f, 7.69187021f, 3.72601676f, -1.97790039f, -1.16739464f, -3.31835508f, 8.14553452f, -1.78718984f, 1.21505618f, -3.84255409f, -3.21992350f, 0.07376552f, -0.81223297f, 3.57002878f, 1.48521733f, -0.45995998f, 0.30551746f, -3.33944130f, 1.39538884f, 1.84758544f, -0.21494150f, -2.27316713f, -4.37771225f, 6.48841667f, -5.00251961f, -0.45162797f, -5.01056004f, 0.70199943f, -4.60057783f, -2.22394514f, 0.07777429f, -1.49820781f, 3.47308421f, 6.13231564f, 1.18605387f, -4.78924608f, -3.49548388f, -2.73382568f, 6.24617863f, -2.74291611f, -1.03833354f, -2.20752788f, -2.33219409f, 1.48633552f, 1.65796840f, 4.95045471f, 2.58479190f, -0.90922785f, 0.71312457f, -4.44465590f, 1.37020862f, 2.37683725f, 0.18805164f, -3.28422308f, -1.64939332f, 3.64181972f, -3.75277281f, 3.67203593f, -0.11204052f, 2.24140930f, -3.90657187f, 2.56883717f, -1.44016707f, -2.83842611f, -0.29104578f, 2.17757058f, -0.71431804f, 1.36911654f, 0.85083604f, -1.60110259f, -1.97247636f, -1.61163378f, -0.81236130f, -0.38993555f, -3.03631902f, -0.38213277f, 0.06394482f, 3.19348621f, 0.36771113f, 1.36763072f, 2.49159527f, -0.39599860f, -2.69996762f, -0.97561121f, -2.97563028f, -0.49662948f, -0.17564940f, -2.79042959f, 0.72395414f, 2.07260203f, -0.99439794f, -2.20248008f, -0.07389921f, 0.65536159f, 4.73054695f, -0.63917702f, 0.58788192f, -3.60156059f, 6.59609890f, 3.88419437f, -3.38469863f, -3.56237841f, -2.03295064f, 0.07279694f, 3.71804547f, 0.79928309f, -2.13411403f, -1.13909864f, -0.34193408f, -1.00338125f, -1.44231665f, -5.39835978f, -0.45086145f, 1.16064668f, 2.58335257f, 2.10072684f, 4.64244223f, 7.10090065f, 1.01974952f, -4.44687223f, 2.99792576f, 1.10303724f, -1.22736573f, -3.91514421f, 3.07458854f, 2.18765211f, 3.34481716f, 2.46166849f, 2.99648619f, -0.94046807f, 5.55028200f, 0.92199719f, -0.83934361f, -0.72042274f, 0.84869325f, 1.46914721f, 0.85937387f, 4.77306223f, -4.06436539f, -2.59847593f, 2.44828081f, 0.50484699f, -2.71092367f, -6.39010477f, 0.91778028f, 3.25469685f, 1.30310678f, 1.35258150f, 3.56171441f, 7.82435083f, -2.51527429f, -4.24328852f, 2.36876059f, 1.94595242f, -2.59290171f, -6.62389565f, 3.32567835f, 2.13659120f, 4.09299326f, 3.48293996f, 2.64965177f, -3.19157362f, 13.37204266f, -0.50297594f, -4.57448196f, 3.95582604f, -0.69038916f, 0.10098404f, 1.18737555f, 3.65761185f, -5.69623756f, -2.03357077f, 1.02868807f, -1.38448596f, -0.05690211f, -8.48874187f, 0.56755424f, 1.45485961f, 0.66273880f, 0.06495565f, 1.79539490f, 8.46864319f, -1.22696662f, -1.87585378f, -0.99768794f, 2.72801924f, -0.66980243f, -2.31924677f, 0.33271110f, 0.11666083f, 1.86980045f, 5.95332909f, 7.38583708f, -2.80956483f, 6.79227638f, -6.78070831f, 1.21884382f, -1.40695429f, 0.90236962f, -1.13695288f, 0.50760663f, 1.00955284f, -5.39029121f, 0.24987072f, 2.24283314f, -4.02145576f, 2.18057394f, -3.35627747f, 1.26061773f, 1.30342579f, 0.11311233f, -1.11199212f, -4.06509686f, 5.82649660f, -1.24059582f, 5.51652861f, -1.90937877f, 1.10658336f, -0.47065550f, -2.39167786f, -1.95931304f, 4.12717247f, 1.15396059f, 1.26015663f, 7.97836876f, 7.33633423f, 2.27785325f, -2.83802366f, -2.74850106f, 0.86126029f, 6.18781090f, -1.43707538f, -6.97134876f, -3.25486469f, -1.95214593f, 0.91066706f, 0.89637989f, 1.06481194f, 6.25791073f, 0.81779671f, -1.08384395f, -3.21191931f, 2.04216075f, 4.76030350f, -2.37217665f, -1.42571259f, -6.35876131f, 4.62536526f, -5.40060568f, -3.14868999f, -1.00587153f, 1.80662942f, -7.03201485f, 6.08373499f, 0.99862772f, 2.21717811f, 4.06814623f, 6.02428913f, 5.33422756f, -0.87013257f, -2.22477579f, -2.51505303f, 5.82925224f, -0.82854009f, -4.30698347f, -1.75007713f, 2.08352375f, -2.25235629f, 1.17517352f, 5.77717733f, 2.27472878f, 2.72778273f, -1.95411634f, -4.52602863f, 1.13983536f, 1.16340065f, -2.02740526f, -3.11290503f, -1.94906235f, 1.54855204f, -4.52984142f, 1.97465122f, -1.79415476f, 4.03510094f, -8.45349979f, 10.87430096f, 2.19863629f, -5.39083815f, 5.86213875f, 6.25744534f, 6.52600002f, -4.72149038f, -1.75254321f, -5.51459169f, 7.03155518f, -2.01889277f, -4.58441257f, -3.61226106f, 0.42395937f, -0.93263882f, 2.28703761f, 2.80611467f, 2.59498215f, 0.65989012f, -1.51268566f, -4.49465561f, -4.70453882f, 5.44696808f, -4.37603617f, 0.46670085f, 2.82488608f, 2.18854523f, -2.04817152f, 1.19557285f, 1.53618634f, 4.44758606f, -7.31593513f, 7.43966007f, -3.55480957f, -5.29834652f, 2.14622784f, 1.65194583f, 2.71262598f, -4.86145496f, 0.79726243f, -8.88541985f, 1.19627261f, 0.79660845f, -1.98016644f, 1.03741014f, -3.93128228f, 1.05535269f, 2.01378822f, -0.46086323f, -0.77754641f, -1.43942690f, 0.49809402f, -2.27861357f, -3.29815221f, 0.38201320f, -3.98481083f, 4.88261318f, -0.44555628f, -2.57224536f, 2.35001850f, -2.65835261f, -2.43422794f, -2.97889376f, 1.07349825f, 1.88157082f, 4.74075413f, 0.60376728f, -0.48894715f, -1.15800071f, 4.68110943f, -0.86976886f, 1.49192941f, 0.62665290f, 0.20652676f, 0.53916287f, -1.45706177f, 0.66133004f, 1.34405875f, -4.27689552f, -0.20838106f, -5.14266443f, -1.29718637f, -1.74506426f, -0.86022055f, -3.57553625f, 0.46880072f, -1.25287139f, 3.28596354f, 11.33191013f, 1.23942876f, -3.87616491f, 7.57880497f, -0.22940339f, -5.68512678f, -1.94969654f, 5.85449600f, 3.75705457f, 4.24395847f, 1.60086083f, 2.62553668f, -0.93964291f, 5.84753895f, -0.79931092f, 0.48274064f, 2.07170033f, 3.02243996f, 2.63509989f, -0.76043403f, -1.64048159f, -6.17683458f, -3.09974527f, -2.12773156f, -0.89379883f, 2.82242465f, -1.99981332f, -0.08763933f, 0.01921120f, -1.94142103f, 2.48067307f, 0.41083777f, 8.24922180f, -1.84516132f, -1.39224625f, 5.03956223f, 0.49562740f, -5.28296328f, -0.20005548f, 3.13672113f, 0.51187158f, 7.11563921f, 6.43059587f, 3.48430967f, -5.37095928f, 8.03863049f, -5.53923941f, -2.16421175f, -3.77641368f, 3.29633045f, 5.04030085f, 2.25945377f, -3.04169011f, -2.16198015f, -2.49559617f, -0.26252726f, -6.99201345f, 2.87374353f, -0.12568980f, 0.23314142f, -1.32087135f, 4.39030552f, -0.24638844f, -4.37242651f, 14.09276772f, 1.23987353f, -1.72249663f, 0.31124914f, -2.13725138f, -3.74915648f, -1.87147236f, 0.47318631f, 1.13337576f, 3.00416899f, 8.82548523f, 4.80538750f, -5.28486395f, 5.51870108f, -5.15801477f, 0.95712411f, -1.50416136f, 2.34657240f, 4.20726633f, 5.56757259f, -3.30645251f, -3.39945269f, -2.68488026f, -2.53525281f, -3.15145874f, 2.74529529f, -0.96283442f, 2.87778258f, 0.22186530f, 1.24905694f, -7.07941198f, -5.45916176f, 3.46988297f, 0.92430985f, -0.98330998f, -2.23672342f, -3.03262734f, 0.73941302f, 0.98004431f, 0.83219361f, 7.17411804f, 4.27849865f, 0.14765590f, 8.61269569f, 9.04497051f, 1.53991723f, -2.08305025f, -4.34939337f, 0.63786775f, 2.60098696f, 0.02432060f, -1.48516297f, -4.06825686f, 5.12420368f, -0.75312757f, 1.96927559f, 4.91575956f, 3.41533065f, 3.62557888f, -4.35002136f, -5.91343403f, 0.45026422f, 4.93286371f, 3.45830250f, -4.39032364f, -0.51697755f, -7.41543341f, -3.06703568f, 1.01196158f, 2.47106576f, 5.54014874f, -4.65312243f, 8.61000633f, 8.25905323f, -1.41497111f, 8.69221878f, 0.40090930f, 1.11325574f, -1.67089832f, -4.01080132f, 1.07925677f, 2.68086481f, -0.73093414f, -1.35081220f, -7.85765076f, -5.98989439f, -0.04651213f, 4.63693142f, 2.07757711f, -0.22652936f, 3.45525455f, -0.69198442f, -10.39761639f, -2.02106953f, 4.77755499f, -2.67665577f, -1.72481167f, 4.49634743f, -2.55717134f, -4.55044937f, 0.46377492f, -3.08933020f, 3.86891365f, -2.79104614f, 8.36974335f, 0.86471701f, -5.39342690f, 12.54906940f, -0.41536295f, -5.29502535f, -3.94430566f, -5.67391300f, -4.65079165f, 2.22505951f, -0.30000746f, 2.27855444f, -4.81604433f, -1.73440599f, 4.68784523f, 5.00208044f, 0.18863934f, -1.74989462f, 3.17923450f, -1.59773099f, -12.59962940f, -1.54495025f, -0.00576371f, 1.79913878f, -2.43449807f, 1.49516344f, -3.90507102f, 1.68647158f, 4.50177765f, -5.32286358f, 3.47539330f, -2.90529680f, 1.61576962f, 0.83679676f, -5.55615807f, 3.78939056f, -4.46644831f, -5.95550919f, 0.37808037f, 0.51334500f, 1.74658906f, -0.82085419f, -0.65387219f, 3.67790437f, 0.03758264f, -2.42622781f, 1.83335185f, 4.73835945f, -0.83536482f, -0.03993917f, 3.78230667f, -4.81265640f, -8.26869011f, -1.30363441f, -2.09106350f, -3.96769738f, -1.89037073f, 0.38682747f, 0.05434489f, 5.72213697f, 0.55685395f, -3.47729349f, -1.11535001f, 2.09416127f, 5.08877802f, 5.72183466f, 1.29632664f, 0.16822398f, -2.43180108f, 3.49967623f, 2.15753818f, -0.26548505f, 3.24446392f, -0.00599277f, 1.08215356f, -0.23225522f, -2.40723038f, 0.18496060f, -3.70608735f, -0.19918591f, -1.64028871f, 0.80792952f, -0.85334057f, -2.52314138f, -3.12099195f, 0.17949918f, -0.82650864f, 2.32224989f, 9.56476116f, -0.20134282f, -0.48428559f, 2.86784410f, 0.07289505f, -3.92880869f, -2.11887884f, 0.59164631f, 6.31267452f, 7.49149418f, 2.88749456f, 2.40504885f, -3.57608175f, -1.48019314f, -0.69410253f, 0.90275228f, -0.34111357f, 2.19190216f, 3.39090061f, 3.39631820f, -5.19105434f, 2.67546582f, -2.56549048f, -0.59797800f, -4.21802664f, 0.63918972f, -0.69969130f, 0.47496963f, -4.30976725f, 0.16531238f, -3.59595251f, -0.76877379f, 11.79971790f, -0.93276632f, -1.48630571f, 8.04754066f, 2.09168458f, -3.77018499f, -4.19337654f, 0.26171905f, 1.99359691f, 8.96759701f, 8.39609814f, 6.19231987f, -5.36037970f, 4.69818354f, -4.22453928f, -4.61665344f, -2.52073431f, 1.34026706f, 2.80182385f, 2.56681514f, -4.04676390f, -3.01466990f, -4.10480118f, 0.38737059f, -0.37146521f, -2.26529670f, -1.72867084f, 0.93472683f, -2.47562981f, 0.89871657f, -1.67618203f, -0.28950238f, 5.30124855f, -0.14731219f, -0.81319761f, -1.11265934f, 0.11356127f, -2.52802444f, -1.93826056f, 1.06187987f, 1.48062325f, 4.28070498f, 5.69893932f, 9.26904392f, -4.23773003f, 5.78582096f, -6.18445301f, -2.85200453f, -5.30461454f, -4.16009140f, -0.07239690f, 4.11531162f, -1.12266588f, -1.50265646f, 0.47661865f, -1.90043914f, -6.48978710f, 1.71005368f, 0.18256521f, -0.88272136f, -0.51324779f, -0.78045660f, -5.21036625f, -4.11805344f, 3.99454761f, -1.04999924f, -6.99629354f, -5.02737141f, 0.94748145f, -2.35882139f, 4.13982439f, -1.41835535f, 7.56763077f, 3.97024012f, -4.08156776f, 6.90305424f, 0.53571963f, -2.22625160f, -2.09144926f, -4.98530245f, -0.15102190f, 0.59995949f, 3.28562784f, 0.77991986f, -3.08389306f, 3.34046674f, 0.41394949f, 5.10031366f, 2.99692893f, 0.17706826f, 2.85998058f, -6.68330860f, -6.72653008f, -0.04071128f, 3.71085787f, 3.17834806f, -4.88019037f, 6.74075413f, -7.41782188f, -5.22026348f, -1.94595623f, -3.61318684f, 1.85610664f, 1.08613706f, 6.41580677f, 1.46376514f, -4.11524010f, 9.59146214f, -2.92772651f, -1.70753336f, -1.51594138f, -4.88185692f, 1.47331417f, -2.23893595f, 4.98459148f, 1.29359996f, -2.29221845f, -0.99594390f, 3.05759239f, 6.86030054f, 2.40487719f, 3.28339863f, 7.72739315f, -3.60563445f, -9.73502827f, -1.51672328f, -0.08473521f, -2.43673515f, -3.26616001f, 3.63767886f, -11.25394535f, -5.17597103f, -1.27523947f, -7.82669783f, 0.67929745f, -4.50530529f, 5.49323797f, 6.78993320f, -2.28033876f, 4.61412525f, 2.55109429f, -12.38607693f, -0.63024014f, -3.45992327f, -0.84092742f, -0.03252453f, 4.58635283f, 5.28213978f, -1.28417206f, -1.71185923f, -0.26850975f, 8.28257561f, 4.47432184f, 2.72818279f, 8.42217731f, -4.22216320f, -8.95128918f, -1.57179546f, 1.34253705f, -5.47035217f, -5.50866985f, 4.64156532f, -6.11207914f, -5.46734476f, 3.54298997f, -2.79237103f, -0.70766860f, -3.62739944f, 3.22660995f, -2.02262759f, 0.11224222f, 2.63832402f, -0.91955596f, -4.65958309f, -0.29729855f, -1.78957534f, -0.40749407f, 0.51688713f, 0.83725226f, 0.30945438f, 1.20769620f, -1.75219965f, 2.59689760f, 5.01501608f, -1.59034789f, 0.58155286f, 3.75831509f, -5.26110506f, -8.65382767f, -6.19066620f, -0.61932850f, -2.71863723f, -0.87443137f, 3.40582991f, -1.27868056f, 3.51236677f, -2.07806540f, -0.85076392f, -1.14599180f, 1.16361260f, 1.86411846f, 5.86179352f, 0.69029891f, -0.06060839f, 1.54649436f, -0.60351688f, 1.51970077f, 0.04187265f, 1.64540339f, 2.75502157f, 2.46308279f, 1.69071770f, -3.23827076f, 0.92096543f, -3.09458661f, -1.23823690f, 0.24035048f, -0.74456501f, -1.85476089f, -0.32914662f, -2.10325241f, 1.19795251f, -2.05372071f, 1.02114081f, 2.56286955f, 0.42165697f, -1.65826249f, 4.00724554f, -2.18727994f, -1.05848944f, -0.52338278f, -0.28714985f, 8.08780861f, 5.04444599f, 3.51866961f, 3.37445784f, -1.96067202f, -1.21509445f, -3.96595931f, -0.80801201f, 0.76944816f, 1.80147493f, 4.14419460f, -0.12201095f, -2.77788162f, 1.13284469f, -2.05441403f, -0.61129224f, -2.69690657f, 1.91634214f, -2.17146754f, -0.22308528f, -6.02561045f, 0.49161875f, -6.74280357f, -4.62689781f, 2.47910833f, 1.86534905f, -3.24152899f, -1.39898300f, 0.29427958f, -2.16338181f, 0.90073711f, 1.75551236f, 4.42651892f, 8.34437466f, 5.50070190f, 5.68162251f, 1.65345454f, -2.72315669f, -5.43411493f, -0.29380533f, 1.07508349f, -1.73533511f, 2.56912184f, 3.62010550f, -6.30422783f, 1.74158525f, -1.22070909f, -0.80982518f, -4.14757967f, 4.29217434f, 0.70600843f, -2.09282112f, -5.09018898f, -0.11623126f, -5.99775553f, -4.66743088f, 1.61512172f, -1.30276895f, -3.17103505f, -0.26310229f, -1.00843918f, -0.77664804f, -2.05240250f, 0.04728425f, 1.15720487f, 4.01001406f, 7.24615860f, 2.55452180f, -5.76347876f, 0.34683830f, -6.05540276f, -4.70677900f, -0.93182588f, -4.37759733f, 2.93209839f, 1.63947964f, -2.43563962f, 1.35213876f, 0.00670356f, -0.02742785f, -2.16460943f, 1.39449501f, 0.23929763f, 2.37476778f, -4.17733765f, -0.81475425f, -6.15027046f, -5.74441719f, 3.53978682f, 0.66798484f}); sd::ops::deconv2d_tf op; auto result = op.evaluate({&input0, &input1, &input2}, {}, {7,7, 2,2, 0,0, 1,1, 1,1}); @@ -179,9 +179,9 @@ TYPED_TEST(TypedConvolutionTests2, Test_DeConv2D_TF_2) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, Test_Dilation2D_Again_1) { - auto x = NDArrayFactory::create('c', {4, 128, 128, 4}); - auto w = NDArrayFactory::create('c', {4, 5, 4}); - auto exp = NDArrayFactory::create('c', {4, 64, 43, 4}); + auto x = NDArrayFactory::create({4, 128, 128, 4}); + auto w = NDArrayFactory::create({4, 5, 4}); + auto exp = NDArrayFactory::create({4, 64, 43, 4}); sd::ops::dilation2d op; @@ -195,8 +195,8 @@ TEST_F(ConvolutionTests2, Test_Dilation2D_Again_1) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, Test_Dilation2D_Again_2) { - auto x = NDArrayFactory::create('c', {4, 26, 19, 4}); - auto w = NDArrayFactory::create('c', {11, 7, 4}); + auto x = NDArrayFactory::create({4, 26, 19, 4}); + auto w = NDArrayFactory::create({11, 7, 4}); sd::ops::dilation2d op; auto result = op.evaluate({&x, &w}, {}, {0, 1,2,3,1, 1,3,2,1}); @@ -219,12 +219,12 @@ TYPED_TEST(TypedConvolutionTests2, sconv2d_bp_1) { Nd4jLong _expES[] = {4, 2, 3, 10, 10, 300, 100, 10, 1, typeid(TypeParam) == typeid(float) ? 8192 : 16384, 1, 99}; NDArray expE(_expEB, _expES); - auto input = NDArrayFactory::create('c', {2, 3, 10, 10}); - auto weightsD = NDArrayFactory::create('c', {2, 3, 5, 5}); - auto weightsP = NDArrayFactory::create('c', {10, 6, 1, 1}); + auto input = NDArrayFactory::create({2, 3, 10, 10}); + auto weightsD = NDArrayFactory::create({2, 3, 5, 5}); + auto weightsP = NDArrayFactory::create({10, 6, 1, 1}); - auto epsilon = NDArrayFactory::create('c', {2, 3, 10, 10}); - auto epsilonNext = NDArrayFactory::create('c', {2, 10, 6, 6}); + auto epsilon = NDArrayFactory::create({2, 3, 10, 10}); + auto epsilonNext = NDArrayFactory::create({2, 10, 6, 6}); input.linspace(1); weightsD.linspace(1); @@ -321,17 +321,17 @@ TYPED_TEST(TypedConvolutionTests2, sconv2d_bp_2) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests2, sconv2d_bp_3) { - auto input = NDArrayFactory::create('c', {3, 3, 16, 16}); - auto weightsD = NDArrayFactory::create('c', {1, 3, 2, 2}); - auto weightsP = NDArrayFactory::create('c', {2, 3, 1, 1}); - auto bias = NDArrayFactory::create('c', {1, 2}); + auto input = NDArrayFactory::create({3, 3, 16, 16}); + auto weightsD = NDArrayFactory::create({1, 3, 2, 2}); + auto weightsP = NDArrayFactory::create({2, 3, 1, 1}); + auto bias = NDArrayFactory::create({1, 2}); weightsD.permutei({2,3,1,0}); weightsP.permutei({2,3,1,0}); - auto epsilonNext = NDArrayFactory::create('c', {3, 2, 14, 14}); + auto epsilonNext = NDArrayFactory::create({3, 2, 14, 14}); - auto epsilon = NDArrayFactory::create('c', {3, 3, 16, 16}); + auto epsilon = NDArrayFactory::create({3, 3, 16, 16}); sd::ops::sconv2d_bp op; auto result = op.evaluate({&input, &epsilonNext, &weightsD, &weightsP}, {}, {2, 2, 1, 1, 0, 0, 2, 2, 0}); @@ -353,15 +353,15 @@ TYPED_TEST(TypedConvolutionTests2, sconv2d_bp_4) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weightsDepth = NDArrayFactory::create('c', {kH, kW, iC, mC}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3,4}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, oC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto weightsDepth = NDArrayFactory::create({kH, kW, iC, mC}); + auto bias = NDArrayFactory::create({oC}, {1,2,3,4}); + auto gradO = NDArrayFactory::create({bS, oH, oW, oC}); - auto expGradI = NDArrayFactory::create('c', {bS, iH, iW, iC},{0.07f, 0.19f, 0.348f, 0.652f, 0.588f, 0.956f, 0.387f, 0.687f, 1.326f, 2.022f, 1.878f, 2.67f, 1.071f, 1.515f, 2.982f, 3.966f, 3.534f, 4.614f, 1.606f, 1.982f, 3.932f, 4.748f, 4.428f, 5.308f, + auto expGradI = NDArrayFactory::create({bS, iH, iW, iC},{0.07f, 0.19f, 0.348f, 0.652f, 0.588f, 0.956f, 0.387f, 0.687f, 1.326f, 2.022f, 1.878f, 2.67f, 1.071f, 1.515f, 2.982f, 3.966f, 3.534f, 4.614f, 1.606f, 1.982f, 3.932f, 4.748f, 4.428f, 5.308f, 1.126f, 1.63f, 3.228f, 4.3f, 3.468f, 4.604f, 3.123f, 3.999f, 7.95f, 9.798f, 8.502f, 10.446f, 3.807f, 4.827f, 9.606f, 11.742f,10.158f, 12.39f, 4.198f, 4.958f, 9.884f, 11.468f,10.38f, 12.028f}); - auto expGradW = NDArrayFactory::create('c', {kH, kW, iC, mC},{19.08f, 19.44f, 19.8f, 20.16f, 12.24f, 12.48f, 12.72f, 12.96f, 22.56f, 23.04f, 23.52f, 24.f, 14.4f, 14.72f, 15.04f, 15.36f, 14.76f, 15.12f, 15.48f, 15.84f, 9.36f, 9.6f, 9.84f, 10.08f}); + auto expGradW = NDArrayFactory::create({kH, kW, iC, mC},{19.08f, 19.44f, 19.8f, 20.16f, 12.24f, 12.48f, 12.72f, 12.96f, 22.56f, 23.04f, 23.52f, 24.f, 14.4f, 14.72f, 15.04f, 15.36f, 14.76f, 15.12f, 15.48f, 15.84f, 9.36f, 9.6f, 9.84f, 10.08f}); input = 2.; weightsDepth.linspace(0.1, 0.1); @@ -391,16 +391,16 @@ TEST_F(ConvolutionTests2, sconv2d_bp_5) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, oC, oH, oW}); - auto weightsDepth = NDArrayFactory::create('c', {kH, kW, iC, mC}); - auto weightsPoint = NDArrayFactory::create('c', {1, 1, iC*mC, oC}); - auto bias = NDArrayFactory::create('c', {1,oC}, {1,2}); + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, oC, oH, oW}); + auto weightsDepth = NDArrayFactory::create({kH, kW, iC, mC}); + auto weightsPoint = NDArrayFactory::create({1, 1, iC*mC, oC}); + auto bias = NDArrayFactory::create({1,oC}, {1,2}); - auto gradI = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradWD = NDArrayFactory::create('f', {kH, kW, iC, mC}); - auto gradWP = NDArrayFactory::create('c', {1, 1, iC*mC, oC}); - auto gradB = NDArrayFactory::create('c', {1,oC}, {1,2}); + auto gradI = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradWD = NDArrayFactory::create({kH, kW, iC, mC}, {}, sd::kArrayOrderFortran); + auto gradWP = NDArrayFactory::create({1, 1, iC*mC, oC}); + auto gradB = NDArrayFactory::create({1,oC}, {1,2}); input = 2.; weightsDepth.linspace(0.1, 0.1); @@ -438,9 +438,9 @@ TEST_F(ConvolutionTests2, deconv3d_test1) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, oD, oH, oW, oC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto exp = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}, {0.3 , 0.75, 1.5 , 2.4 , 1.5 , 2.4 , 1.2 , 1.65, 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 4.2 , 5.1 , 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 4.2 , 5.1 , 2.1 , 2.55, 5.1 , 6. , 5.1 , 6. , 3. , 3.45, + auto input = NDArrayFactory::create({bS, oD, oH, oW, oC}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto exp = NDArrayFactory::create({bS, iD, iH, iW, iC}, {0.3 , 0.75, 1.5 , 2.4 , 1.5 , 2.4 , 1.2 , 1.65, 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 4.2 , 5.1 , 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 4.2 , 5.1 , 2.1 , 2.55, 5.1 , 6. , 5.1 , 6. , 3. , 3.45, 4.2 , 5.1 ,10.2 ,12. ,10.2 ,12. , 6. , 6.9 ,12. ,13.8 ,27.6 ,31.2 ,27.6 ,31.2 ,15.6 ,17.4 ,12. ,13.8 ,27.6 ,31.2 ,27.6 ,31.2 ,15.6 ,17.4 , 7.8 , 8.7 ,17.4 ,19.2 ,17.4 ,19.2 , 9.6 ,10.5 , 4.2 , 5.1 ,10.2 ,12. ,10.2 ,12. , 6. , 6.9 ,12. ,13.8 ,27.6 ,31.2 ,27.6 ,31.2 ,15.6 ,17.4 ,12. ,13.8 ,27.6 ,31.2 ,27.6 ,31.2 ,15.6 ,17.4 , 7.8 , 8.7 ,17.4 ,19.2 ,17.4 ,19.2 , 9.6 ,10.5 , 3.9 , 4.35, 8.7 , 9.6 , 8.7 , 9.6 , 4.8 , 5.25, 9.6 ,10.5 ,21. ,22.8 ,21. ,22.8 ,11.4 ,12.3 , 9.6 ,10.5 ,21. ,22.8 ,21. ,22.8 ,11.4 ,12.3 , 5.7 , 6.15,12.3 ,13.2 ,12.3 ,13.2 , 6.6 , 7.05, @@ -471,9 +471,9 @@ TEST_F(ConvolutionTests2, deconv3d_test2) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, oD, oH, oW, oC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto exp = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}, {0.3 , 0.75, 1.5 , 2.4 , 1.5 , 2.4 , 1.5 , 2.4 , 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 6.6 , 8.4 , 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 6.6 , 8.4 , 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 6.6 , 8.4 , + auto input = NDArrayFactory::create({bS, oD, oH, oW, oC}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto exp = NDArrayFactory::create({bS, iD, iH, iW, iC}, {0.3 , 0.75, 1.5 , 2.4 , 1.5 , 2.4 , 1.5 , 2.4 , 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 6.6 , 8.4 , 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 6.6 , 8.4 , 2.4 , 3.3 , 6.6 , 8.4 , 6.6 , 8.4 , 6.6 , 8.4 , 4.2 , 5.1 ,10.2 , 12. ,10.2 , 12. ,10.2 , 12. ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 , 4.2 , 5.1 ,10.2 , 12. ,10.2 , 12. ,10.2 , 12. ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 , 4.2 , 5.1 ,10.2 , 12. ,10.2 , 12. ,10.2 , 12. ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 ,12. , 13.8 ,27.6 , 31.2 ,27.6 , 31.2 ,27.6 , 31.2 , @@ -502,9 +502,9 @@ TEST_F(ConvolutionTests2, deconv3d_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, oC, oD, oH, oW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kD, kH, kW}); - auto exp = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}, {2.55, 5.25, 5.25, 2.7, 5.4 , 11.1 , 11.1 , 5.7, 5.4 , 11.1 , 11.1 , 5.7, 2.85, 5.85, 5.85, 3. , 5.7 , 11.7 , 11.7 , 6. ,12. , 24.6 , 24.6 , 12.6,12. , 24.6 , 24.6 , 12.6, 6.3 , 12.9 , 12.9 , 6.6, + auto input = NDArrayFactory::create({bS, oC, oD, oH, oW}); + auto weights = NDArrayFactory::create({oC, iC, kD, kH, kW}); + auto exp = NDArrayFactory::create({bS, iC, iD, iH, iW}, {2.55, 5.25, 5.25, 2.7, 5.4 , 11.1 , 11.1 , 5.7, 5.4 , 11.1 , 11.1 , 5.7, 2.85, 5.85, 5.85, 3. , 5.7 , 11.7 , 11.7 , 6. ,12. , 24.6 , 24.6 , 12.6,12. , 24.6 , 24.6 , 12.6, 6.3 , 12.9 , 12.9 , 6.6, 5.7 , 11.7 , 11.7 , 6. ,12. , 24.6 , 24.6 , 12.6,12. , 24.6 , 24.6 , 12.6, 6.3 , 12.9 , 12.9 , 6.6, 3.15, 6.45, 6.45, 3.3, 6.6 , 13.5 , 13.5 , 6.9, 6.6 , 13.5 , 13.5 , 6.9, 3.45, 7.05, 7.05, 3.6, 3.75, 7.65, 7.65, 3.9, 7.8 , 15.9 , 15.9 , 8.1, 7.8 , 15.9 , 15.9 , 8.1, 4.05, 8.25, 8.25, 4.2, 8.1 , 16.5 , 16.5 , 8.4,16.8 , 34.2 , 34.2 , 17.4,16.8 , 34.2 , 34.2 , 17.4, 8.7 , 17.7 , 17.7 , 9. , 8.1 , 16.5 , 16.5 , 8.4,16.8 , 34.2 , 34.2 , 17.4,16.8 , 34.2 , 34.2 , 17.4, 8.7 , 17.7 , 17.7 , 9. , 4.35, 8.85, 8.85, 4.5, 9. , 18.3 , 18.3 , 9.3, 9. , 18.3 , 18.3 , 9.3, 4.65, 9.45, 9.45, 4.8, @@ -534,9 +534,9 @@ TEST_F(ConvolutionTests2, deconv3d_test4) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, oC, oD, oH, oW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kD, kH, kW}); - auto exp = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}, {24.6, 24.6,24.6, 24.6,24.6, 24.6,24.6, 24.6,34.2, 34.2,34.2, 34.2,34.2, 34.2,34.2, 34.2,24.6, 24.6,24.6, 24.6, + auto input = NDArrayFactory::create({bS, oC, oD, oH, oW}); + auto weights = NDArrayFactory::create({oC, iC, kD, kH, kW}); + auto exp = NDArrayFactory::create({bS, iC, iD, iH, iW}, {24.6, 24.6,24.6, 24.6,24.6, 24.6,24.6, 24.6,34.2, 34.2,34.2, 34.2,34.2, 34.2,34.2, 34.2,24.6, 24.6,24.6, 24.6, 24.6, 24.6,24.6, 24.6,34.2, 34.2,34.2, 34.2,34.2, 34.2,34.2, 34.2}); input = 0.5; weights.linspace(0.1, 0.1); @@ -559,11 +559,11 @@ TEST_F(ConvolutionTests2, deconv3d_test5) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, oC, iC}); - auto bias = NDArrayFactory::create('c', {oC}); + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto weights = NDArrayFactory::create({kD, kH, kW, oC, iC}); + auto bias = NDArrayFactory::create({oC}); - auto exp = NDArrayFactory::create('c', {bS, oD, oH, oW, oC}, {-2.9f, -6.8f, -10.7f, -2.6f, -6.1f, -9.6f, -16.9f, -23.9f, -30.9f, -13.1f, -16.6f, -20.1f, -11.6f, -14.7f, -17.8f, -2.0f, -4.7f, -7.4f, -1.7f, -4.0f, -6.3f, -11.5f, + auto exp = NDArrayFactory::create({bS, oD, oH, oW, oC}, {-2.9f, -6.8f, -10.7f, -2.6f, -6.1f, -9.6f, -16.9f, -23.9f, -30.9f, -13.1f, -16.6f, -20.1f, -11.6f, -14.7f, -17.8f, -2.0f, -4.7f, -7.4f, -1.7f, -4.0f, -6.3f, -11.5f, -16.1f, -20.7f, -8.6f, -10.9f, -13.2f, -7.1f, -9.0f, -10.9f, -27.4f, -32.8f, -38.2f, -24.4f, -29.0f, -33.6f, -65.0f, -74.2f, -83.4f, -38.2f, -42.8f, -47.4f, -32.8f, -36.6f, -40.4f, -18.2f, -20.9f, -23.6f, -15.5f, -17.8f, -20.1f, -39.1f, -43.7f, -48.3f, -22.4f, -24.7f, -27.0f, -18.5f, -20.4f, -22.3f, -10.1f, -11.6f, -13.1f, -7.4f, -8.5f, -9.6f, -19.3f, -21.5f, -23.7f, -10.7f, -11.8f, -12.9f, -6.8f, -7.5f, -8.2f, -0.2f, -0.5f, -0.8f, 0.1f, 0.2f, 0.3f, -0.7f, -0.5f, -0.3f, 0.4f, 0.5f, 0.6f, 1.9f, 2.4f, @@ -671,10 +671,10 @@ TEST_F(ConvolutionTests2, deconv3d_bp_test1) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, oD, oH, oW, oC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create('c', {iC}); - auto gradO = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); + auto input = NDArrayFactory::create({bS, oD, oH, oW, oC}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto bias = NDArrayFactory::create({iC}); + auto gradO = NDArrayFactory::create({bS, iD, iH, iW, iC}); NDArray expGradI('c', {bS, oD, oH, oW, oC}, {62., 67.6, 68.4, 74.8, 81.2, 89.2, 87.6, 96.4, 119.6, 132.4, 126., 139.6, 138.8, 154., 145.2, 161.2}, sd::DataType::FLOAT32); NDArray expGradW('c', {kD, kH, kW, iC, oC}, {28., 28., 32., 32., 40., 40., 44., 44., 64, 64., 68., 68., 76., 76., 80., 80.}, sd::DataType::FLOAT32); @@ -712,9 +712,9 @@ TEST_F(ConvolutionTests2, deconv3d_bp_test2) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, oD, oH, oW, oC}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}); - auto gradO = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); + auto input = NDArrayFactory::create({bS, oD, oH, oW, oC}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); + auto gradO = NDArrayFactory::create({bS, iD, iH, iW, iC}); NDArray expGradI('c', {bS, oD, oH, oW, oC}, {34, 37.2, 16.6, 18.4, 15.4, 17.4, 7.1, 8.2, 10.6, 13., 4.3, 5.6, 2.9, 4.3, 0.75, 1.5}, sd::DataType::FLOAT32); NDArray expGradW('c', {kD, kH, kW, iC, oC}, {16, 16, 9, 9, 10, 10, 5.5, 5.5, 12, 12, 6.5, 6.5, 7, 7, 3.75, 3.75}, sd::DataType::FLOAT32); @@ -747,9 +747,9 @@ TEST_F(ConvolutionTests2, deconv3d_bp_test3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, oC, oD, oH, oW}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}, {0.1f, 0.9f, 0.2f, 0.1f, 0.3f, 1.1f, 0.4f, 1.2f, 0.5f, 1.3f, 0.6f, 1.4f, 0.7f, 1.5f, 0.8f, 1.6f}); - auto gradO = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); + auto input = NDArrayFactory::create({bS, oC, oD, oH, oW}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}, {0.1f, 0.9f, 0.2f, 0.1f, 0.3f, 1.1f, 0.4f, 1.2f, 0.5f, 1.3f, 0.6f, 1.4f, 0.7f, 1.5f, 0.8f, 1.6f}); + auto gradO = NDArrayFactory::create({bS, iC, iD, iH, iW}); NDArray expGradI('c', {bS, oD, oH, oW, oC}, {33.8, 37.4, 44.6, 48.2, 66.2, 69.8, 77., 80.6, 77.25, 86.35, 104.55, 113.65, 159.15, 168.25, 186.45, 195.55}, sd::DataType::FLOAT32); NDArray expGradW('c', {kD, kH, kW, iC, oC}, {28., 28, 32, 32, 40, 40, 44, 44, 64, 64, 68, 68, 76, 76, 80, 80.}, sd::DataType::FLOAT32); @@ -781,9 +781,9 @@ TEST_F(ConvolutionTests2, deconv3d_bp_test4) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, oC, oD, oH, oW}); - auto weights = NDArrayFactory::create('c', {kD, kH, kW, iC, oC}, {0.1f, 0.9f, 0.2f, 0.1f, 0.3f, 1.1f, 0.4f, 1.2f, 0.5f, 1.3f, 0.6f, 1.4f, 0.7f, 1.5f, 0.8f, 1.6f}); - auto gradO = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); + auto input = NDArrayFactory::create({bS, oC, oD, oH, oW}); + auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}, {0.1f, 0.9f, 0.2f, 0.1f, 0.3f, 1.1f, 0.4f, 1.2f, 0.5f, 1.3f, 0.6f, 1.4f, 0.7f, 1.5f, 0.8f, 1.6f}); + auto gradO = NDArrayFactory::create({bS, iC, iD, iH, iW}); NDArray expGradI('c', {bS, oC, oD, oH, oW}, {0.4, 1.55, 1.05, 2.3, 5.7, 3.2, 1.5, 3.35, 1.75, 3.8, 8.3, 4.3, 9.0, 18.6, 9.2, 4.4, 8.7, 4.1, 1.8, 3.55, 1.65, 3.5, 6.5, 2.8, 1.3, 2.15, 0.75, 0.8, 3.15, 2.25, 4.7, 12.1, 7.2, 3.5, 8.15, 4.55, 7.8, 17.9, 9.9, 19.75, 42.85, 23.6, 9.35, 21.55, 12.9, 5.4, 11.55, 6.05, 8.25, 20.75, 13.2, 0.65, 6.6, 6.75}, sd::DataType::FLOAT32); NDArray expGradW('c', {kD, kH, kW, iC, oC}, {16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.}, sd::DataType::FLOAT32); @@ -899,8 +899,8 @@ TEST_F(ConvolutionTests2, deconv3d_bp_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, maxpool2d_1) { - auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); + auto x = NDArrayFactory::create({bS,iD,iH,iW}); + auto exp = NDArrayFactory::create({bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -943,8 +943,8 @@ TEST_F(ConvolutionTests2, maxpool2d_2) { const int oW = (iW - kW - (kW-1)*(dW-1) + 2*pW)/sW + 1; // output width - auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); + auto x = NDArrayFactory::create({bS,iD,iH,iW}); + auto exp = NDArrayFactory::create({bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -987,8 +987,8 @@ TEST_F(ConvolutionTests2, maxpool2d_3) { const int oW = (int) sd::math::nd4j_ceil(iW * 1.f / sW); - auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); + auto x = NDArrayFactory::create({bS,iD,iH,iW}); + auto exp = NDArrayFactory::create({bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -1031,8 +1031,8 @@ TEST_F(ConvolutionTests2, maxpool2d_4) { const int oW = (iW - kW - (kW-1)*(dW-1) + 2*pW)/sW + 1; // output width - auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); + auto x = NDArrayFactory::create({bS,iD,iH,iW}); + auto exp = NDArrayFactory::create({bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -1075,8 +1075,8 @@ TEST_F(ConvolutionTests2, maxpool2d_5) { const int oW = (int) sd::math::nd4j_ceil(iW * 1.f / sW); - auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); + auto x = NDArrayFactory::create({bS,iD,iH,iW}); + auto exp = NDArrayFactory::create({bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -1102,8 +1102,8 @@ TEST_F(ConvolutionTests2, maxpool2d_5) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests2, maxpool2d_6) { - auto x = NDArrayFactory::create('c', {2, 4, 4, 2}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, {11.f, 12.f, 15.f, 16.f, 27.f, 28.f, 31.f, 32.f, 43.f, 44.f, 47.f, 48.f, 59.f, 60.f, 63.f, 64.f}); + auto x = NDArrayFactory::create({2, 4, 4, 2}); + auto exp = NDArrayFactory::create({2, 2, 2, 2}, {11.f, 12.f, 15.f, 16.f, 27.f, 28.f, 31.f, 32.f, 43.f, 44.f, 47.f, 48.f, 59.f, 60.f, 63.f, 64.f}); x.linspace(1); @@ -1121,8 +1121,8 @@ TYPED_TEST(TypedConvolutionTests2, maxpool2d_6) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests2, maxpool2d_7) { - auto x = NDArrayFactory::create('c', {2, 4, 4, 2}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, {11.f, 12.f, 15.f, 16.f, 27.f, 28.f, 31.f, 32.f, 43.f, 44.f, 47.f, 48.f, 59.f, 60.f, 63.f, 64.f}); + auto x = NDArrayFactory::create({2, 4, 4, 2}); + auto exp = NDArrayFactory::create({2, 2, 2, 2}, {11.f, 12.f, 15.f, 16.f, 27.f, 28.f, 31.f, 32.f, 43.f, 44.f, 47.f, 48.f, 59.f, 60.f, 63.f, 64.f}); x.linspace(1); @@ -1140,8 +1140,8 @@ TYPED_TEST(TypedConvolutionTests2, maxpool2d_7) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedConvolutionTests2, maxpool2d_8) { - auto x = NDArrayFactory::create('c', {2, 2, 5, 5}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, {7.f, 9.f, 17.f, 19.f, 32.f, 34.f, 42.f, 44.f, 57.f, 59.f, 67.f, 69.f, 82.f, 84.f, 92.f, 94.f}); + auto x = NDArrayFactory::create({2, 2, 5, 5}); + auto exp = NDArrayFactory::create({2, 2, 2, 2}, {7.f, 9.f, 17.f, 19.f, 32.f, 34.f, 42.f, 44.f, 57.f, 59.f, 67.f, 69.f, 82.f, 84.f, 92.f, 94.f}); x.linspace(1); @@ -1171,7 +1171,7 @@ TYPED_TEST(TypedConvolutionTests2, maxpool2d_9) { int isSameMode = 0; // 1-SAME, 0-VALID - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); + auto input = NDArrayFactory::create({bS, iC, iH, iW}); sd::ops::maxpool2d op; auto results = op.evaluate({&input}, {}, {kH,kW, sH,sW, pH,pW, dH,dW, isSameMode, 1, 0}); @@ -1190,12 +1190,12 @@ TYPED_TEST(TypedConvolutionTests2, maxpool2d_10) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}, {0.27620894f, 0.21801452f, 0.062078513f, 7.348895E-4f, 0.24149609f, 0.4948205f, 0.93483436f, 0.52035654f, 0.30292067f, 0.3289706f, 0.7977864f, + auto input = NDArrayFactory::create({bS, iC, iH, iW}, {0.27620894f, 0.21801452f, 0.062078513f, 7.348895E-4f, 0.24149609f, 0.4948205f, 0.93483436f, 0.52035654f, 0.30292067f, 0.3289706f, 0.7977864f, 0.03180518f, 0.1455722f, 0.90352905f, 0.9405744f, 0.0048329555f, 0.44062102f, 0.111197524f, 0.31742015f, 0.1933705f, 0.23825112f, 0.35076278f, 0.7135856f, 0.28229436f, 0.18310733f, 0.9613717f, 0.56823575f, 0.78289545f, 0.62195826f, 0.5244586f, 0.5040889f, 0.025349546f, 0.41400263f, 0.28420195f, 0.8536445f, 0.3044107f, 0.7997134f, 0.45762005f, 0.7653578f, 0.07198584f, 0.5304998f, 0.7334402f, 0.85019743f, 0.031957153f, 0.37088063f, 0.85722464f, 0.06376881f, 0.39791203f}); - auto expOutput = NDArrayFactory::create('c', {bS, iC, oH, oW}, {0.4948205f, 0.93483436f, 0.93483436f, 0.4948205f, 0.93483436f, 0.93483436f, 0.90352905f, 0.9405744f, 0.9405744f, 0.44062102f, 0.7135856f, + auto expOutput = NDArrayFactory::create({bS, iC, oH, oW}, {0.4948205f, 0.93483436f, 0.93483436f, 0.4948205f, 0.93483436f, 0.93483436f, 0.90352905f, 0.9405744f, 0.9405744f, 0.44062102f, 0.7135856f, 0.7135856f, 0.9613717f, 0.9613717f, 0.78289545f, 0.9613717f, 0.9613717f, 0.78289545f, 0.7997134f, 0.8536445f, 0.8536445f, 0.7997134f, 0.85019743f, 0.85019743f, 0.85722464f, 0.85722464f, 0.85019743f}); @@ -1232,8 +1232,8 @@ TYPED_TEST(TypedConvolutionTests2, avgpool3d_test1) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto expected = NDArrayFactory::create('c', {bS, iC, oD, oH, oW}, {10.5f, 11.5f, 13.5f, 14.5f, 22.5f, 23.5f, 25.5f, 26.5f, 46.5f, 47.5f, 49.5f, 50.5f, 58.5f, 59.5f, 61.5f, 62.5f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto expected = NDArrayFactory::create({bS, iC, oD, oH, oW}, {10.5f, 11.5f, 13.5f, 14.5f, 22.5f, 23.5f, 25.5f, 26.5f, 46.5f, 47.5f, 49.5f, 50.5f, 58.5f, 59.5f, 61.5f, 62.5f, 82.5f, 83.5f, 85.5f, 86.5f, 94.5f, 95.5f, 97.5f, 98.5f,118.5f,119.5f,121.5f,122.5f,130.5f,131.5f,133.5f,134.5f, 154.5f,155.5f,157.5f,158.5f,166.5f,167.5f,169.5f,170.5f,190.5f,191.5f,193.5f,194.5f,202.5f,203.5f,205.5f,206.5f}); input.linspace(1.); @@ -1256,8 +1256,8 @@ TYPED_TEST(TypedConvolutionTests2, avgpool3d_test2) { int paddingMode = 1; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto expected = NDArrayFactory::create('c', {bS, oD, oH, oW, iC}, { 25.f, 26.f, 27.f, 28.f, 29.f, 30.f, 29.5f, 30.5f, 31.5f, 29.5f, 30.5f, 31.5f, 32.5f, 33.5f, 34.5f, 34.f, 35.f, 36.f, 38.5f, 39.5f, 40.5f, 41.5f, 42.5f, 43.5f, 43.f, 44.f, 45.f, 43.f, 44.f, 45.f, 46.f, 47.f, 48.f, 47.5f, 48.5f, 49.5f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto expected = NDArrayFactory::create({bS, oD, oH, oW, iC}, { 25.f, 26.f, 27.f, 28.f, 29.f, 30.f, 29.5f, 30.5f, 31.5f, 29.5f, 30.5f, 31.5f, 32.5f, 33.5f, 34.5f, 34.f, 35.f, 36.f, 38.5f, 39.5f, 40.5f, 41.5f, 42.5f, 43.5f, 43.f, 44.f, 45.f, 43.f, 44.f, 45.f, 46.f, 47.f, 48.f, 47.5f, 48.5f, 49.5f, 61.f, 62.f, 63.f, 64.f, 65.f, 66.f, 65.5f, 66.5f, 67.5f, 65.5f, 66.5f, 67.5f, 68.5f, 69.5f, 70.5f, 70.f, 71.f, 72.f, 74.5f, 75.5f, 76.5f, 77.5f, 78.5f, 79.5f, 79.f, 80.f, 81.f, 79.f, 80.f, 81.f, 82.f, 83.f, 84.f, 83.5f, 84.5f, 85.5f, 79.f, 80.f, 81.f, 82.f, 83.f, 84.f, 83.5f, 84.5f, 85.5f, 83.5f, 84.5f, 85.5f, 86.5f, 87.5f, 88.5f, 88.f, 89.f, 90.f, 92.5f, 93.5f, 94.5f, 95.5f, 96.5f, 97.5f, 97.f, 98.f, 99.f, 97.f, 98.f, 99.f, 100.f, 101.f, 102.f, 101.5f, 102.5f, 103.5f, 133.f, 134.f, 135.f, 136.f, 137.f, 138.f, 137.5f, 138.5f, 139.5f, 137.5f, 138.5f, 139.5f, 140.5f, 141.5f, 142.5f, 142.f, 143.f, 144.f, 146.5f, 147.5f, 148.5f, 149.5f, 150.5f, 151.5f, 151.f, 152.f, 153.f, 151.f, 152.f, 153.f, 154.f, 155.f, 156.f, 155.5f, 156.5f, 157.5f, @@ -1283,8 +1283,8 @@ TYPED_TEST(TypedConvolutionTests2, avgpool3d_test3) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto expected = NDArrayFactory::create('c', {bS, oD, oH, oW, iC}, { 29.5f, 30.5f, 31.5f, 32.5f, 33.5f, 34.5f, 38.5f, 39.5f, 40.5f, 41.5f, 42.5f, 43.5f, 65.5f, 66.5f, 67.5f, 68.5f, 69.5f, 70.5f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto expected = NDArrayFactory::create({bS, oD, oH, oW, iC}, { 29.5f, 30.5f, 31.5f, 32.5f, 33.5f, 34.5f, 38.5f, 39.5f, 40.5f, 41.5f, 42.5f, 43.5f, 65.5f, 66.5f, 67.5f, 68.5f, 69.5f, 70.5f, 74.5f, 75.5f, 76.5f, 77.5f, 78.5f, 79.5f, 137.5f, 138.5f, 139.5f, 140.5f, 141.5f, 142.5f, 146.5f, 147.5f, 148.5f, 149.5f, 150.5f, 151.5f, 173.5f, 174.5f, 175.5f, 176.5f, 177.5f, 178.5f, 182.5f, 183.5f, 184.5f, 185.5f, 186.5f, 187.5f}); input.linspace(1.); @@ -1307,8 +1307,8 @@ TYPED_TEST(TypedConvolutionTests2, avgpool3d_test4) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto expected = NDArrayFactory::create('c', {bS, iC, oD, oH, oW},{0.416667f, 1.00f, 1.333333f, 0.75f, 1.00f, 2.25f, 2.75f, 1.50f, 1.75f, 3.75f, 4.25f, 2.25f, 1.416667f, 3.00f, 3.333333f, 1.75f, 2.833333f, 6.00f, 6.666667f, 3.50f, 5.00f, 10.50f, 11.50f, 6.00f, 6.50f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto expected = NDArrayFactory::create({bS, iC, oD, oH, oW},{0.416667f, 1.00f, 1.333333f, 0.75f, 1.00f, 2.25f, 2.75f, 1.50f, 1.75f, 3.75f, 4.25f, 2.25f, 1.416667f, 3.00f, 3.333333f, 1.75f, 2.833333f, 6.00f, 6.666667f, 3.50f, 5.00f, 10.50f, 11.50f, 6.00f, 6.50f, 13.50f, 14.50f, 7.50f, 4.833333f, 10.00f, 10.666667f, 5.50f, 6.833333f, 14.00f, 14.666667f, 7.50f, 11.00f, 22.50f, 23.50f, 12.00f, 12.50f, 25.50f, 26.50f, 13.50f, 8.833333f, 18.00f, 18.666666f, 9.50f, 4.416667f, 9.00f, 9.333333f, 4.75f, 7.00f, 14.25f, 14.75f, 7.50f, 7.75f, 15.75f, 16.25f, 8.25f, 5.416667f, 11.00f, 11.333333f, 5.75f, 6.416667f, 13.00f, 13.333333f, 6.75f, 10.00f, 20.25f, 20.75f, 10.50f, 10.75f, 21.75f, 22.25f, 11.25f, 7.416667f, 15.00f, 15.333333f, 7.75f, 14.833333f, 30.00f, 30.666666f, 15.50f, 23.00f, 46.50f, 47.50f, 24.00f, 24.50f, 49.50f, 50.50f, 25.50f, 16.833334f, @@ -1346,8 +1346,8 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_test1) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto expected = NDArrayFactory::create('c', {bS, iC, oD, oH, oW}, {20.f, 21.f, 23.f, 24.f, 32.f, 33.f, 35.f, 36.f, 56.f, 57.f, 59.f, 60.f, 68.f, 69.f, 71.f, 72.f, 92.f, 93.f, 95.f, 96.f, 104.f, 105.f, 107.f, 108.f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto expected = NDArrayFactory::create({bS, iC, oD, oH, oW}, {20.f, 21.f, 23.f, 24.f, 32.f, 33.f, 35.f, 36.f, 56.f, 57.f, 59.f, 60.f, 68.f, 69.f, 71.f, 72.f, 92.f, 93.f, 95.f, 96.f, 104.f, 105.f, 107.f, 108.f, 128.f, 129.f, 131.f, 132.f, 140.f, 141.f, 143.f, 144.f, 164.f, 165.f, 167.f, 168.f, 176.f, 177.f, 179.f, 180.f, 200.f, 201.f, 203.f, 204.f, 212.f, 213.f, 215.f, 216.f}); input.linspace(1.); @@ -1368,8 +1368,8 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_test2) { int paddingMode = 1; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto expected = NDArrayFactory::create('c', {bS, oD, oH, oW, iC}, { 49.f, 50.f, 51.f, 52.f, 53.f, 54.f, 52.f, 53.f, 54.f, 58.f, 59.f, 60.f, 61.f, 62.f, 63.f, 61.f, 62.f, 63.f, 67.f, 68.f, 69.f, 70.f, 71.f, 72.f, 70.f, 71.f, 72.f, 67.f, 68.f, 69.f, 70.f, 71.f, 72.f, 70.f, 71.f, 72.f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto expected = NDArrayFactory::create({bS, oD, oH, oW, iC}, { 49.f, 50.f, 51.f, 52.f, 53.f, 54.f, 52.f, 53.f, 54.f, 58.f, 59.f, 60.f, 61.f, 62.f, 63.f, 61.f, 62.f, 63.f, 67.f, 68.f, 69.f, 70.f, 71.f, 72.f, 70.f, 71.f, 72.f, 67.f, 68.f, 69.f, 70.f, 71.f, 72.f, 70.f, 71.f, 72.f, 85.f, 86.f, 87.f, 88.f, 89.f, 90.f, 88.f, 89.f, 90.f, 94.f, 95.f, 96.f, 97.f, 98.f, 99.f, 97.f, 98.f, 99.f, 103.f, 104.f, 105.f, 106.f, 107.f, 108.f, 106.f, 107.f, 108.f, 103.f, 104.f, 105.f, 106.f, 107.f, 108.f, 106.f, 107.f, 108.f, 85.f, 86.f, 87.f, 88.f, 89.f, 90.f, 88.f, 89.f, 90.f, 94.f, 95.f, 96.f, 97.f, 98.f, 99.f, 97.f, 98.f, 99.f, 103.f, 104.f, 105.f, 106.f, 107.f, 108.f, 106.f, 107.f, 108.f, 103.f, 104.f, 105.f, 106.f, 107.f, 108.f, 106.f, 107.f, 108.f, 157.f, 158.f, 159.f, 160.f, 161.f, 162.f, 160.f, 161.f, 162.f, 166.f, 167.f, 168.f, 169.f, 170.f, 171.f, 169.f, 170.f, 171.f, 175.f, 176.f, 177.f, 178.f, 179.f, 180.f, 178.f, 179.f, 180.f, 175.f, 176.f, 177.f, 178.f, 179.f, 180.f, 178.f, 179.f, 180.f, @@ -1394,8 +1394,8 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_test3) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto expected = NDArrayFactory::create('c', {bS, oD, oH, oW, iC}, {58.f, 59.f, 60.f, 61.f, 62.f, 63.f, 67.f, 68.f, 69.f, 70.f, 71.f, 72.f, 94.f, 95.f, 96.f, 97.f, 98.f, 99.f, 103.f, 104.f, 105.f, 106.f, 107.f, 108.f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto expected = NDArrayFactory::create({bS, oD, oH, oW, iC}, {58.f, 59.f, 60.f, 61.f, 62.f, 63.f, 67.f, 68.f, 69.f, 70.f, 71.f, 72.f, 94.f, 95.f, 96.f, 97.f, 98.f, 99.f, 103.f, 104.f, 105.f, 106.f, 107.f, 108.f, 166.f, 167.f, 168.f, 169.f, 170.f, 171.f, 175.f, 176.f, 177.f, 178.f, 179.f, 180.f, 202.f, 203.f, 204.f, 205.f, 206.f, 207.f, 211.f, 212.f, 213.f, 214.f, 215.f, 216.f}); input.linspace(1.); @@ -1417,8 +1417,8 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_test4) { int paddingMode = 0; // -SAME, 0-VALID int dataFormat = 0; // -NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto expected = NDArrayFactory::create('c', {bS, iC, oD, oH, oW},{ 4.f, 5.f, 6.f, 6.f, 7.f, 8.f, 9.f, 9.f, 10.f, 11.f, 12.f, 12.f, 10.f, 11.f, 12.f, 12.f, 16.f, 17.f, 18.f, 18.f, 19.f, 20.f, 21.f, 21.f, 22.f, 23.f, 24.f, 24.f, 22.f, 23.f, 24.f, 24.f, 28.f, 29.f, 30.f, 30.f, 31.f, 32.f, 33.f, 33.f, 34.f, 35.f, 36.f, 36.f, 34.f, 35.f, 36.f, 36.f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto expected = NDArrayFactory::create({bS, iC, oD, oH, oW},{ 4.f, 5.f, 6.f, 6.f, 7.f, 8.f, 9.f, 9.f, 10.f, 11.f, 12.f, 12.f, 10.f, 11.f, 12.f, 12.f, 16.f, 17.f, 18.f, 18.f, 19.f, 20.f, 21.f, 21.f, 22.f, 23.f, 24.f, 24.f, 22.f, 23.f, 24.f, 24.f, 28.f, 29.f, 30.f, 30.f, 31.f, 32.f, 33.f, 33.f, 34.f, 35.f, 36.f, 36.f, 34.f, 35.f, 36.f, 36.f, 28.f, 29.f, 30.f, 30.f, 31.f, 32.f, 33.f, 33.f, 34.f, 35.f, 36.f, 36.f, 34.f, 35.f, 36.f, 36.f, 40.f, 41.f, 42.f, 42.f, 43.f, 44.f, 45.f, 45.f, 46.f, 47.f, 48.f, 48.f, 46.f, 47.f, 48.f, 48.f, 52.f, 53.f, 54.f, 54.f, 55.f, 56.f, 57.f, 57.f, 58.f, 59.f, 60.f, 60.f, 58.f, 59.f, 60.f, 60.f, 64.f, 65.f, 66.f, 66.f, 67.f, 68.f, 69.f, 69.f, 70.f, 71.f, 72.f, 72.f, 70.f, 71.f, 72.f, 72.f, 64.f, 65.f, 66.f, 66.f, 67.f, 68.f, 69.f, 69.f, 70.f, 71.f, 72.f, 72.f, 70.f, 71.f, 72.f, 72.f, 76.f, 77.f, 78.f, 78.f, 79.f, 80.f, 81.f, 81.f, 82.f, 83.f, 84.f, 84.f, 82.f, 83.f, 84.f, 84.f, 88.f, 89.f, 90.f, 90.f, 91.f, 92.f, 93.f, 93.f, 94.f, 95.f, 96.f, 96.f, 94.f, 95.f, 96.f, 96.f, 100.f, 101.f, 102.f, 102.f, 103.f, 104.f, 105.f, 105.f, 106.f, 107.f, 108.f, 108.f, 106.f, 107.f, 108.f, 108.f, 100.f, 101.f, 102.f, 102.f, 103.f, 104.f, 105.f, 105.f, 106.f, 107.f, 108.f, 108.f, 106.f, 107.f, 108.f, 108.f, @@ -1445,9 +1445,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool3d_bp_test1) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oD, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}, {0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.333333f, 0.666667f, 0.333333f, 0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.666667f, 1.333333f, 0.666667f, 0.666667f, 1.333333f, 0.666667f, 0.333333f, 0.666667f, 0.333333f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oD, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iD, iH, iW}, {0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.333333f, 0.666667f, 0.333333f, 0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.666667f, 1.333333f, 0.666667f, 0.666667f, 1.333333f, 0.666667f, 0.333333f, 0.666667f, 0.333333f, 0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.333333f, 0.666667f, 0.333333f, 0.166667f, 0.333333f, 0.166667f, 0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.333333f, 0.666667f, 0.333333f, 0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.666667f, 1.333333f, 0.666667f, 0.666667f, 1.333333f, 0.666667f, 0.333333f, 0.666667f, 0.333333f, 0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.333333f, 0.666667f, 0.333333f, 0.166667f, 0.333333f, 0.166667f, 0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.333333f, 0.666667f, 0.333333f, 0.166667f, 0.333333f, 0.166667f, 0.333333f, 0.666667f, 0.333333f, 0.666667f, 1.333333f, 0.666667f, 0.666667f, 1.333333f, 0.666667f, 0.333333f, 0.666667f, 0.333333f, @@ -1478,9 +1478,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool3d_bp_test2) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oD, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}, {1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oD, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iD, iH, iW}, {1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 1.333333f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.333333f, 1.333333f, 1.333333f, @@ -1513,9 +1513,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool3d_bp_test3) { int paddingMode = 1; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, oD, oH, oW, iC}); - auto expected = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}, {0.41667f, 0.41667f, 0.41667f, 0.83333f, 0.83333f, 0.83333f, 1.25f, 1.25f, 1.25f, 0.58333f, 0.58333f, 0.58333f, 1.16667f, 1.16667f, 1.16667f, 1.75f, 1.75f, 1.75f, 0.58333f, 0.58333f, 0.58333f, 1.16667f, 1.16667f, 1.16667f, 1.75f, 1.75f, 1.75f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, oD, oH, oW, iC}); + auto expected = NDArrayFactory::create({bS, iD, iH, iW, iC}, {0.41667f, 0.41667f, 0.41667f, 0.83333f, 0.83333f, 0.83333f, 1.25f, 1.25f, 1.25f, 0.58333f, 0.58333f, 0.58333f, 1.16667f, 1.16667f, 1.16667f, 1.75f, 1.75f, 1.75f, 0.58333f, 0.58333f, 0.58333f, 1.16667f, 1.16667f, 1.16667f, 1.75f, 1.75f, 1.75f, 0.41667f, 0.41667f, 0.41667f, 0.83333f, 0.83333f, 0.83333f, 1.25f, 1.25f, 1.25f, 0.83333f, 0.83333f, 0.83333f, 1.66667f, 1.66667f, 1.66667f, 2.5f, 2.5f, 2.5f, 1.16667f, 1.16667f, 1.16667f, 2.33333f, 2.33333f, 2.33333f, 3.5f, 3.5f, 3.5f, 1.16667f, 1.16667f, 1.16667f, 2.33333f, 2.33333f, 2.33333f, 3.5f, 3.5f, 3.5f, 0.83333f, 0.83333f, 0.83333f, 1.66667f, 1.66667f, 1.66667f, 2.5f, 2.5f, 2.5f, 1.25f, 1.25f, 1.25f, 2.5f, 2.5f, 2.5f, 3.75f, 3.75f, 3.75f, 1.75f, 1.75f, 1.75f, 3.5f, 3.5f, 3.5f, 5.25f, 5.25f, 5.25f, 1.75f, 1.75f, 1.75f, 3.5f, 3.5f, 3.5f, 5.25f, 5.25f, 5.25f, 1.25f, 1.25f, 1.25f, 2.5f, 2.5f, 2.5f, 3.75f, 3.75f, 3.75f, @@ -1543,9 +1543,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool3d_bp_test4) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, oD, oH, oW, iC}); - auto expected = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}, {0.16667f, 0.16667f, 0.16667f, 0.33333f, 0.33333f, 0.33333f, 0.5f, 0.5f, 0.5f, 0.33333f, 0.33333f, 0.33333f, 0.66667f, 0.66667f, 0.66667f, 1.f, 1.f, 1.f, 0.58333f, 0.58333f, 0.58333f, 1.16667f, 1.16667f, 1.16667f, 1.75f, 1.75f, 1.75f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, oD, oH, oW, iC}); + auto expected = NDArrayFactory::create({bS, iD, iH, iW, iC}, {0.16667f, 0.16667f, 0.16667f, 0.33333f, 0.33333f, 0.33333f, 0.5f, 0.5f, 0.5f, 0.33333f, 0.33333f, 0.33333f, 0.66667f, 0.66667f, 0.66667f, 1.f, 1.f, 1.f, 0.58333f, 0.58333f, 0.58333f, 1.16667f, 1.16667f, 1.16667f, 1.75f, 1.75f, 1.75f, 0.91667f, 0.91667f, 0.91667f, 1.83333f, 1.83333f, 1.83333f, 2.75f, 2.75f, 2.75f, 0.33333f, 0.33333f, 0.33333f, 0.66667f, 0.66667f, 0.66667f, 1.f, 1.f, 1.f, 0.66667f, 0.66667f, 0.66667f, 1.33333f, 1.33333f, 1.33333f, 2.f, 2.f, 2.f, 1.16667f, 1.16667f, 1.16667f, 2.33333f, 2.33333f, 2.33333f, 3.5f, 3.5f, 3.5f, 1.83333f, 1.83333f, 1.83333f, 3.66667f, 3.66667f, 3.66667f, 5.5f, 5.5f, 5.5f, 0.5f, 0.5f, 0.5f, 1.f, 1.f, 1.f, 1.5f, 1.5f, 1.5f, 1.f, 1.f, 1.f, 2.f, 2.f, 2.f, 3.f, 3.f, 3.f, 1.75f, 1.75f, 1.75f, 3.5f, 3.5f, 3.5f, 5.25f, 5.25f, 5.25f, 2.75f, 2.75f, 2.75f, 5.5f, 5.5f, 5.5f, 8.25f, 8.25f, 8.25f, @@ -1574,9 +1574,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_bp_test1) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oD, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.f, 0.3f, 0.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.5f, 0.6f, 0.f, 0.7f, 0.8f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oD, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iD, iH, iW}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.f, 0.3f, 0.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.5f, 0.6f, 0.f, 0.7f, 0.8f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.9f, 1.f, 0.f, 1.1f, 1.2f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.3f, 1.4f, 0.f, 1.5f, 1.6f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.7f, 1.8f, 0.f, 1.9f, 2.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 2.1f, 2.2f, 0.f, 2.3f, 2.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 2.5f, 2.6f, 0.f, 2.7f, 2.8f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 2.9f, 3.f, 0.f, 3.1f, 3.2f, @@ -1603,9 +1603,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_bp_test2) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oD, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iD, iH, iW}, {0.000e+00f, 0.000e+00f, 0.000e+00f, 1.000e-01f, 2.000e-01f, 7.000e-01f, 5.000e-01f, 6.000e-01f, 1.500e+00f, 2.200e+00f, 2.400e+00f, 5.400e+00f, 0.000e+00f, 0.000e+00f, 0.000e+00f, 1.700e+00f, 1.800e+00f, 3.900e+00f, 2.100e+00f, 2.200e+00f, 4.700e+00f, 5.400e+00f, 5.600e+00f, 1.180e+01f, + auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oD, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iD, iH, iW}, {0.000e+00f, 0.000e+00f, 0.000e+00f, 1.000e-01f, 2.000e-01f, 7.000e-01f, 5.000e-01f, 6.000e-01f, 1.500e+00f, 2.200e+00f, 2.400e+00f, 5.400e+00f, 0.000e+00f, 0.000e+00f, 0.000e+00f, 1.700e+00f, 1.800e+00f, 3.900e+00f, 2.100e+00f, 2.200e+00f, 4.700e+00f, 5.400e+00f, 5.600e+00f, 1.180e+01f, 0.000e+00f, 0.000e+00f, 0.000e+00f, 8.200e+00f, 8.400e+00f, 1.740e+01f, 9.000e+00f, 9.200e+00f, 1.900e+01f, 2.040e+01f, 2.080e+01f, 4.280e+01f, 0.000e+00f, 0.000e+00f, 0.000e+00f, 6.500e+00f, 6.600e+00f, 1.350e+01f, 6.900e+00f, 7.000e+00f, 1.430e+01f, 1.500e+01f, 1.520e+01f, 3.100e+01f, 0.000e+00f, 0.000e+00f, 0.000e+00f, 8.100e+00f, 8.200e+00f, 1.670e+01f, 8.500e+00f, 8.600e+00f, 1.750e+01f, 1.820e+01f, 1.840e+01f, 3.740e+01f, 0.000e+00f, 0.000e+00f, 0.000e+00f, 2.100e+01f, 2.120e+01f, 4.300e+01f, 2.180e+01f, 2.200e+01f, 4.460e+01f, 4.600e+01f, 4.640e+01f, 9.400e+01f, 0.000e+00f, 0.000e+00f, 0.000e+00f, 1.290e+01f, 1.300e+01f, 2.630e+01f, 1.330e+01f, 1.340e+01f, 2.710e+01f, 2.780e+01f, 2.800e+01f, 5.660e+01f, 0.000e+00f, 0.000e+00f, 0.000e+00f, 1.450e+01f, 1.460e+01f, 2.950e+01f, 1.490e+01f, 1.500e+01f, 3.030e+01f, 3.100e+01f, 3.120e+01f, 6.300e+01f, @@ -1634,9 +1634,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_bp_test3) { int paddingMode = 1; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, oD, oH, oW, iC}); - auto expected = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}, { 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, oD, oH, oW, iC}); + auto expected = NDArrayFactory::create({bS, iD, iH, iW, iC}, { 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.3f, 1.1f, 1.3f, 1.5f, 0.f, 0.f, 0.f, 1.f, 1.1f, 1.2f, 2.9f, 3.1f, 3.3f, 0.f, 0.f, 0.f, 4.7f, 4.9f, 5.1f, 11.2f, 11.6f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 11.f, 11.2f, 11.4f, 23.8f, 24.2f, 24.6f, 0.f, 0.f, 0.f, 12.8f, 13.f, 13.2f, 27.4f, 27.8f, 28.2f, 0.f, 0.f, 0.f, 31.f, 31.4f, 31.8f, 65.6f, 66.39999f, 67.2f, @@ -1666,9 +1666,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_bp_test4) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, oD, oH, oW, iC}); - auto expected = NDArrayFactory::create('c', {bS, iD, iH, iW, iC}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, + auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, oD, oH, oW, iC}); + auto expected = NDArrayFactory::create({bS, iD, iH, iW, iC}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.3f, 1.1f, 1.3f, 1.5f, 0.f, 0.f, 0.f, 5.7f, 6.f, 6.3f, 14.1f, 14.7f, 15.3f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 11.f, 11.2f, 11.4f, 23.8f, 24.2f, 24.6f, 0.f, 0.f, 0.f, 43.8f, 44.4f, 45.f, 93.f, 94.2f, 95.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, @@ -1691,9 +1691,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool3d_bp_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, maxpool2d_bp_1) { - auto input = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto epsilon = NDArrayFactory::create('c', {bS,iD,oH,oW}); - auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); + auto input = NDArrayFactory::create({bS,iD,iH,iW}); + auto epsilon = NDArrayFactory::create({bS,iD,oH,oW}); + auto exp = NDArrayFactory::create({bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(input)); @@ -1753,9 +1753,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool2d_bp_3) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iH, iW}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.f, 0.3f, 0.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.5f, 0.6f, 0.f, 0.7f, 0.8f, + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iH, iW}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.f, 0.3f, 0.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.5f, 0.6f, 0.f, 0.7f, 0.8f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.9f, 1.f, 0.f, 1.1f, 1.2f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.3f, 1.4f, 0.f, 1.5f, 1.6f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.7f, 1.8f, 0.f, 1.9f, 2.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 2.1f, 2.2f, 0.f, 2.3f, 2.4f}); input.linspace(1.); @@ -1778,9 +1778,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool2d_bp_4) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iH, iW}, {0.f, 0.f, 0.f, 0.1f, 0.2f, 0.7f, 0.5f, 0.6f, 1.5f, 2.2f, 2.4f, 5.4f, 0.f, 0.f, 0.f, 1.7f, 1.8f, 3.9f, 2.1f, 2.2f, 4.7f, 5.4f, 5.6f, 11.8f, + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iH, iW}, {0.f, 0.f, 0.f, 0.1f, 0.2f, 0.7f, 0.5f, 0.6f, 1.5f, 2.2f, 2.4f, 5.4f, 0.f, 0.f, 0.f, 1.7f, 1.8f, 3.9f, 2.1f, 2.2f, 4.7f, 5.4f, 5.6f, 11.8f, 0.f, 0.f, 0.f, 3.3f, 3.4f, 7.1f, 3.7f, 3.8f, 7.9f, 8.6f, 8.8f, 18.2f, 0.f, 0.f, 0.f, 4.9f, 5.f, 10.3f, 5.3f, 5.4f, 11.1f, 11.8f, 12.f, 24.6f, 0.f, 0.f, 0.f, 6.5f, 6.6f, 13.5f, 6.9f, 7.f, 14.3f, 15.f, 15.2f, 31.f, 0.f, 0.f, 0.f, 8.1f, 8.2f, 16.7f, 8.5f, 8.6f, 17.5f, 18.2f, 18.4f, 37.4f}); input.linspace(1.); @@ -1804,9 +1804,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool2d_bp_5) { int paddingMode = 1; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, iC}); - auto expected = NDArrayFactory::create('c', {bS, iH, iW, iC}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.3f, 1.1f, 1.3f, 1.5f, 0.f, 0.f, 0.f, 1.f, 1.1f, 1.2f, 2.9f, 3.1f, 3.3f, + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, oH, oW, iC}); + auto expected = NDArrayFactory::create({bS, iH, iW, iC}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.3f, 1.1f, 1.3f, 1.5f, 0.f, 0.f, 0.f, 1.f, 1.1f, 1.2f, 2.9f, 3.1f, 3.3f, 0.f, 0.f, 0.f, 4.7f, 4.9f, 5.1f, 11.2f, 11.6f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 3.7f, 3.8f, 3.9f, 8.3f, 8.5f, 8.7f, 0.f, 0.f, 0.f, 4.6f, 4.7f, 4.8f, 10.1f, 10.3f, 10.5f, 0.f, 0.f, 0.f, 11.9f, 12.1f, 12.3f, 25.6f, 26.f, 26.4f}); input.linspace(1.); @@ -1830,9 +1830,9 @@ TYPED_TEST(TypedConvolutionTests2, maxpool2d_bp_6) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, iC}); - auto expected = NDArrayFactory::create('c', {bS, iH, iW, iC}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, oH, oW, iC}); + auto expected = NDArrayFactory::create({bS, iH, iW, iC}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.f, 0.f, 0.f, 0.7f, 0.8f, 0.9f, 1.f, 1.1f, 1.2f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 0.f, 0.f, 0.f, 1.9f, 2.f, 2.1f, 2.2f, 2.3f, 2.4f}); input.linspace(1.); @@ -1856,8 +1856,8 @@ TEST_F(ConvolutionTests2, maxpool2d_bp_7) { int paddingMode = 1; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oH, oW}); + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oH, oW}); input.linspace(1.); gradO.linspace(0.1, 0.1); @@ -1875,9 +1875,9 @@ TEST_F(ConvolutionTests2, maxpool2d_bp_7) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, avgpool2d_bp_1) { - auto input = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto epsilon = NDArrayFactory::create('c', {bS,iD,oH,oW}); - auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); + auto input = NDArrayFactory::create({bS,iD,iH,iW}); + auto epsilon = NDArrayFactory::create({bS,iD,oH,oW}); + auto exp = NDArrayFactory::create({bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(input)); @@ -1911,9 +1911,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool2d_bp_2) { // TypeParam epsilonBuff[] = {3.5 , 4.5 , 5.5, 7.5 , 8.5 , 9.5, 11.5, 12.5, 13.5, 19.5, 20.5, 21.5, 23.5, 24.5, 25.5, 27.5, 28.5, 29.5}; // TypeParam expectedBuff[] = {0.875, 2., 2.5,1.375, 2.75 , 6., 7., 3.75, 4.75 ,10., 11., 5.75, 2.875, 6., 6.5, 3.375, 4.875, 10.,10.5, 5.375, 10.75, 22.,23., 11.75, 12.75, 26.,27., 13.75, 6.875, 14.,14.5, 7.375}; - auto input = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto epsilon = NDArrayFactory::create('c', {bS,iD,oH,oW}, {3.5f, 4.5f, 5.5f, 7.5f, 8.5f, 9.5f, 11.5f, 12.5f, 13.5f, 19.5f, 20.5f, 21.5f, 23.5f, 24.5f, 25.5f, 27.5f, 28.5f, 29.5f}); - auto expected = NDArrayFactory::create('c', {bS,iD,iH,iW}, {0.875f, 2.f, 2.5f, 1.375f, 2.75f, 6.f, 7.f, 3.75f, 4.75f, 10.f, 11.f, 5.75f, 2.875f, 6.f, 6.5f, 3.375f, 4.875f, 10.f, 10.5f, 5.375f, 10.75f, 22.f, 23.f, 11.75f, 12.75f, 26.f, 27.f, 13.75f, 6.875f, 14.f, 14.5f, 7.375f}); + auto input = NDArrayFactory::create({bS,iD,iH,iW}); + auto epsilon = NDArrayFactory::create({bS,iD,oH,oW}, {3.5f, 4.5f, 5.5f, 7.5f, 8.5f, 9.5f, 11.5f, 12.5f, 13.5f, 19.5f, 20.5f, 21.5f, 23.5f, 24.5f, 25.5f, 27.5f, 28.5f, 29.5f}); + auto expected = NDArrayFactory::create({bS,iD,iH,iW}, {0.875f, 2.f, 2.5f, 1.375f, 2.75f, 6.f, 7.f, 3.75f, 4.75f, 10.f, 11.f, 5.75f, 2.875f, 6.f, 6.5f, 3.375f, 4.875f, 10.f, 10.5f, 5.375f, 10.75f, 22.f, 23.f, 11.75f, 12.75f, 26.f, 27.f, 13.75f, 6.875f, 14.f, 14.5f, 7.375f}); input.linspace(1.); @@ -1936,9 +1936,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool2d_bp_3) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iH, iW}, {0.016667f, 0.05f, 0.033333f, 0.066667f, 0.166667f, 0.1f, 0.066667f, 0.166667f, 0.1f, 0.05f, 0.116667f, 0.066667f, + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iH, iW}, {0.016667f, 0.05f, 0.033333f, 0.066667f, 0.166667f, 0.1f, 0.066667f, 0.166667f, 0.1f, 0.05f, 0.116667f, 0.066667f, 0.083333f, 0.183333f, 0.1f, 0.2f, 0.433333f, 0.233333f, 0.2f, 0.433333f, 0.233333f, 0.116667f, 0.25f, 0.133333f, 0.15f, 0.316667f, 0.166667f, 0.333333f, 0.7f, 0.366667f, 0.333333f, 0.7f, 0.366667f, 0.183333f, 0.383333f, 0.2f, 0.216667f, 0.45f, 0.233333f, 0.466667f, 0.966667f, 0.5f, 0.466667f, 0.966667f, 0.5f, 0.25f, 0.516667f, 0.266667f, @@ -1966,9 +1966,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool2d_bp_4) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iH, iW}, {0.233333f, 0.3f, 0.366667f, 0.55f, 0.65f, 0.75f, 0.95f, 1.05f, 1.15f, 0.766667f, 0.833333f, 0.9f, + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iH, iW}, {0.233333f, 0.3f, 0.366667f, 0.55f, 0.65f, 0.75f, 0.95f, 1.05f, 1.15f, 0.766667f, 0.833333f, 0.9f, 1.3f, 1.366667f, 1.433333f, 2.15f, 2.25f, 2.35f, 2.55f, 2.65f, 2.75f, 1.833333f, 1.9f, 1.966667f, 2.366667f, 2.433333f, 2.5f, 3.75f, 3.85f, 3.95f, 4.15f, 4.25f, 4.35f, 2.9f, 2.966667f, 3.033333f, 3.433333f, 3.5f, 3.566667f, 5.35f, 5.45f, 5.55f, 5.75f, 5.85f, 5.95f, 3.966667f, 4.033333f, 4.1f, @@ -1996,9 +1996,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool2d_bp_5) { int paddingMode = 1; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, iC}); - auto expected = NDArrayFactory::create('c', {bS, iH, iW, iC}, {0.19167f, 0.23333f, 0.275f, 0.50833f, 0.59167f, 0.675f, 1.2f, 1.325f, 1.45f, 0.50833f, 0.56667f, 0.625f, 1.19167f, 1.30833f, 1.425f, 2.4f, 2.575f, 2.75f, + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, oH, oW, iC}); + auto expected = NDArrayFactory::create({bS, iH, iW, iC}, {0.19167f, 0.23333f, 0.275f, 0.50833f, 0.59167f, 0.675f, 1.2f, 1.325f, 1.45f, 0.50833f, 0.56667f, 0.625f, 1.19167f, 1.30833f, 1.425f, 2.4f, 2.575f, 2.75f, 1.18333f, 1.24167f, 1.3f, 2.54167f, 2.65833f, 2.775f, 4.425f, 4.6f, 4.775f, 1.01667f, 1.05833f, 1.1f, 2.15833f, 2.24167f, 2.325f, 3.675f, 3.8f, 3.925f, 1.69167f, 1.73333f, 1.775f, 3.50833f, 3.59167f, 3.675f, 5.7f, 5.825f, 5.95f, 2.60833f, 2.66667f, 2.725f, 5.39167f, 5.50833f, 5.625f, 8.7f, 8.875f, 9.05f, 3.28333f, 3.34167f, 3.4f, 6.74167f, 6.85833f, 6.975f, 10.725f, 10.9f, 11.075f, 2.51667f, 2.55833f, 2.6f, 5.15833f, 5.24167f, 5.325f, 8.175f, 8.3f, 8.425f}); @@ -2024,9 +2024,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool2d_bp_6) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, iC}); - auto expected = NDArrayFactory::create('c', {bS, iH, iW, iC}, {0.01667f, 0.03333f, 0.05f, 0.08333f, 0.11667f, 0.15f, 0.06667f, 0.08333f, 0.1f, 0.13333f, 0.16667f, 0.2f, 0.36667f, 0.43333f, 0.5f, 0.23333f, 0.26667f, 0.3f, + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, oH, oW, iC}); + auto expected = NDArrayFactory::create({bS, iH, iW, iC}, {0.01667f, 0.03333f, 0.05f, 0.08333f, 0.11667f, 0.15f, 0.06667f, 0.08333f, 0.1f, 0.13333f, 0.16667f, 0.2f, 0.36667f, 0.43333f, 0.5f, 0.23333f, 0.26667f, 0.3f, 0.13333f, 0.16667f, 0.2f, 0.36667f, 0.43333f, 0.5f, 0.23333f, 0.26667f, 0.3f, 0.11667f, 0.13333f, 0.15f, 0.28333f, 0.31667f, 0.35f, 0.16667f, 0.18333f, 0.2f, 0.21667f, 0.23333f, 0.25f, 0.48333f, 0.51667f, 0.55f, 0.26667f, 0.28333f, 0.3f, 0.53333f, 0.56667f, 0.6f, 1.16667f, 1.23333f, 1.3f, 0.63333f, 0.66667f, 0.7f, 0.53333f, 0.56667f, 0.6f, 1.16667f, 1.23333f, 1.3f, 0.63333f, 0.66667f, 0.7f, 0.31667f, 0.33333f, 0.35f, 0.68333f, 0.71667f, 0.75f, 0.36667f, 0.38333f, 0.4f}); @@ -2046,9 +2046,9 @@ TYPED_TEST(TypedConvolutionTests2, avgpool2d_bp_6) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, pnormpool2d_bp_1) { - auto input = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto epsilon = NDArrayFactory::create('c', {bS,iD,oH,oW}); - auto exp = NDArrayFactory::create('c', {bS,iD,iH,iW}); + auto input = NDArrayFactory::create({bS,iD,iH,iW}); + auto epsilon = NDArrayFactory::create({bS,iD,oH,oW}); + auto exp = NDArrayFactory::create({bS,iD,iH,iW}); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(input)); @@ -2085,9 +2085,9 @@ TYPED_TEST(TypedConvolutionTests2, pnormpool2d_bp_2) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iH, iW}, {9.661570e-04f, 9.671602e-03f, 1.306569e-02f, 3.679184e-02f, 1.297220e-01f, 1.040181e-01f, 1.126750e-01f, 3.320884e-01f, 2.340406e-01f, 1.333333e-01f, 3.352886e-01f, 2.070211e-01f, + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iH, iW}, {9.661570e-04f, 9.671602e-03f, 1.306569e-02f, 3.679184e-02f, 1.297220e-01f, 1.040181e-01f, 1.126750e-01f, 3.320884e-01f, 2.340406e-01f, 1.333333e-01f, 3.352886e-01f, 2.070211e-01f, 8.991618e-02f, 2.160601e-01f, 1.283173e-01f, 2.744226e-01f, 6.364498e-01f, 3.662123e-01f, 3.869788e-01f, 8.808994e-01f, 4.984556e-01f, 2.613189e-01f, 5.818475e-01f, 3.225517e-01f, 2.065654e-01f, 4.553546e-01f, 2.501175e-01f, 5.190718e-01f, 1.131343e+00f, 6.148388e-01f, 6.362602e-01f, 1.377521e+00f, 7.439550e-01f, 3.833026e-01f, 8.227519e-01f, 4.407146e-01f, 3.261206e-01f, 6.969233e-01f, 3.717564e-01f, 7.627507e-01f, 1.620991e+00f, 8.600952e-01f, 8.814538e-01f, 1.866888e+00f, 9.873542e-01f, 5.046682e-01f, 1.064004e+00f, 5.602558e-01f, @@ -2117,9 +2117,9 @@ TYPED_TEST(TypedConvolutionTests2, pnormpool2d_bp_3) { int paddingMode = 0; // 1-SAME, 0-VALID int dataFormat = 0; // 1-NDHWC, 0-NCDHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, oH, oW}); - auto expected = NDArrayFactory::create('c', {bS, iC, iH, iW}, {0.007931f, 0.042891f, 0.040544f, 0.09369f, 0.276841f, 0.191675f, 0.163957f, 0.442946f, 0.287512f, 0.154919f, 0.373153f, 0.221172f, + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, oH, oW}); + auto expected = NDArrayFactory::create({bS, iC, iH, iW}, {0.007931f, 0.042891f, 0.040544f, 0.09369f, 0.276841f, 0.191675f, 0.163957f, 0.442946f, 0.287512f, 0.154919f, 0.373153f, 0.221172f, 0.15901f, 0.365232f, 0.207846f, 0.428282f, 0.959455f, 0.534076f, 0.508585f, 1.128771f, 0.623089f, 0.319794f, 0.698063f, 0.379547f, 0.321068f, 0.692438f, 0.372316f, 0.757521f, 1.620323f, 0.864566f, 0.838684f, 1.787943f, 0.951023f, 0.483194f, 1.023434f, 0.541058f, 0.483937f, 1.019414f, 0.536145f, 1.085348f, 2.276996f, 1.192917f, 1.166749f, 2.443606f, 1.278126f, 0.646499f, 1.349361f, 0.703463f, @@ -2146,11 +2146,11 @@ TEST_F(ConvolutionTests2, upsampling2d_bp_1) { const int factorH=2, factorW=2; const int isNCHW = 1; // data format, default is NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto gradO = NDArrayFactory::create('c', {bS, iC, iH*factorH, iW*factorW}); + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto gradO = NDArrayFactory::create({bS, iC, iH*factorH, iW*factorW}); gradO = 1.; - auto expGradI = NDArrayFactory::create('c', {bS, iC, iH, iW}); + auto expGradI = NDArrayFactory::create({bS, iC, iH, iW}); expGradI = 4.; sd::ops::upsampling2d_bp op; @@ -2170,11 +2170,11 @@ TEST_F(ConvolutionTests2, upsampling2d_bp_2) { const int factorH=2, factorW=2; const int isNCHW = 0; // data format, default is NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto gradO = NDArrayFactory::create('c', {bS, iH*factorH, iW*factorW, iC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto gradO = NDArrayFactory::create({bS, iH*factorH, iW*factorW, iC}); gradO = 1.; - auto expGradI = NDArrayFactory::create('c', {bS, iH, iW, iC}); + auto expGradI = NDArrayFactory::create({bS, iH, iW, iC}); expGradI = 4.; sd::ops::upsampling2d_bp op; @@ -2226,11 +2226,11 @@ TYPED_TEST(TypedConvolutionTests2, depthwise_conv2d_1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, mC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto weights = NDArrayFactory::create({kH, kW, iC, mC}); - auto expOutput = NDArrayFactory::create('c', {bS, oH, oW, oC},{12.f, 12.8f, 13.6f, 14.4f, 12.f, 12.8f, 13.6f, 14.4f, 5.2f, 5.6f, 6.f, 6.4f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 5.4f, 6.f, 6.6f, 7.2f, + auto expOutput = NDArrayFactory::create({bS, oH, oW, oC},{12.f, 12.8f, 13.6f, 14.4f, 12.f, 12.8f, 13.6f, 14.4f, 5.2f, 5.6f, 6.f, 6.4f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 5.4f, 6.f, 6.6f, 7.2f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 5.4f, 6.f, 6.6f, 7.2f, 5.6f, 6.4f, 7.2f, 8.f, 5.6f, 6.4f, 7.2f, 8.f, 2.f, 2.4f, 2.8f, 3.2f, 12.f, 12.8f, 13.6f, 14.4f, 12.f, 12.8f, 13.6f, 14.4f, 5.2f, 5.6f, 6.f, 6.4f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 5.4f, 6.f, 6.6f, 7.2f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 5.4f, 6.f, 6.6f, 7.2f, 5.6f, 6.4f, 7.2f, 8.f, 5.6f, 6.4f, 7.2f, 8.f, 2.f, 2.4f, 2.8f, 3.2f}); @@ -2256,11 +2256,11 @@ TEST_F(ConvolutionTests2, depthwise_conv2d_2) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, mC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto weights = NDArrayFactory::create({kH, kW, iC, mC}); - auto expOutput = NDArrayFactory::create('c', {bS, oH, oW, oC},{13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, + auto expOutput = NDArrayFactory::create({bS, oH, oW, oC},{13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f, 13.2f, 14.4f, 15.6f, 16.8f}); input = 2.; weights.linspace(0.1, 0.1); @@ -2286,9 +2286,9 @@ TEST_F(ConvolutionTests2, depthwise_conv2d_3) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create('c', {mC, iC, kH, kW}); - auto biases = NDArrayFactory::create('c', {iC*mC}, {1.f,2.f,3.f,4.f}); + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto weights = NDArrayFactory::create({mC, iC, kH, kW}); + auto biases = NDArrayFactory::create({iC*mC}, {1.f,2.f,3.f,4.f}); NDArray expOutput('c', {bS, oC, oH, oW},{5.2, 5.2, 5.2, 5.2,20.6,20.6,20.6,20.6,14.4,14.4,14.4,14.4,29.8,29.8,29.8,29.8, 5.2, 5.2, 5.2, 5.2,20.6,20.6,20.6,20.6,14.4,14.4,14.4,14.4,29.8,29.8,29.8,29.8}, sd::DataType::FLOAT32); @@ -2344,8 +2344,8 @@ TEST_F(ConvolutionTests2, depthwise_conv2d_5) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, mC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto weights = NDArrayFactory::create({kH, kW, iC, mC}); NDArray expOutput('c', {bS, oH, oW, oC}, {10., 12., 14., 16., 8., 9., 22., 24., 26., 28., 14., 15., 14., 15., 16., 17., 8.5, 9.}, sd::DataType::FLOAT32); @@ -2576,10 +2576,10 @@ TEST_F(ConvolutionTests2, depthwise_conv2d_bp_test1) { int paddingMode = 1; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, mC}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3,4}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, oC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto weights = NDArrayFactory::create({kH, kW, iC, mC}); + auto bias = NDArrayFactory::create({oC}, {1,2,3,4}); + auto gradO = NDArrayFactory::create({bS, oH, oW, oC}); NDArray expGradI('c', {bS, iH, iW, iC},{0.07 , 0.19 , 0.348, 0.652, 0.588, 0.956, 0.387, 0.687, 1.326, 2.022, 1.878, 2.67 , 1.071, 1.515, 2.982, 3.966, 3.534, 4.614, 1.606, 1.982, 3.932, 4.748, 4.428, 5.308, 1.126, 1.63 , 3.228, 4.3 , 3.468, 4.604, 3.123, 3.999, 7.95 , 9.798, 8.502, 10.446, 3.807, 4.827, 9.606, 11.742,10.158, 12.39 , 4.198, 4.958, 9.884, 11.468,10.38 , 12.028}, sd::DataType::FLOAT32); @@ -2614,10 +2614,10 @@ TEST_F(ConvolutionTests2, depthwise_conv2d_bp_test2) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 1; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, mC}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3,4}); - auto gradO = NDArrayFactory::create('c', {bS, oH, oW, oC}); + auto input = NDArrayFactory::create({bS, iH, iW, iC}); + auto weights = NDArrayFactory::create({kH, kW, iC, mC}); + auto bias = NDArrayFactory::create({oC}, {1,2,3,4}); + auto gradO = NDArrayFactory::create({bS, oH, oW, oC}); NDArray expGradI('c', {bS, iH, iW, iC},{0.005, 0.025,0.034, 0.106,0.061, 0.113,0.058, 0.162,0.292, 0.564,0.298, 0.466,0.234, 0.402,0.772, 1.172,0.602, 0.834,0.333, 0.449,0.882, 1.146,0.581, 0.729, 0.053, 0.137,0.258, 0.458,0.237, 0.353,0.41 , 0.642,1.252, 1.78 ,0.906, 1.202,1.098, 1.394,2.756, 3.412,1.722, 2.082,0.893, 1.073,2.13 , 2.522,1.269, 1.481}, sd::DataType::FLOAT32); @@ -2645,10 +2645,10 @@ TEST_F(ConvolutionTests2, depthwise_conv2d_bp_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(ConvolutionTests2, depthwise_conv2d_bp_test3) { - auto in = NDArrayFactory::create('c', {4, 8, 64, 64}); - auto w = NDArrayFactory::create('c', {2, 2, 8, 2}); - auto b = NDArrayFactory::create('c', {1, 16}); - auto grad = NDArrayFactory::create('c', {4, 16, 64, 64}); + auto in = NDArrayFactory::create({4, 8, 64, 64}); + auto w = NDArrayFactory::create({2, 2, 8, 2}); + auto b = NDArrayFactory::create({1, 16}); + auto grad = NDArrayFactory::create({4, 16, 64, 64}); auto gradI = in.like(); auto gradW = w.like(); @@ -2774,16 +2774,16 @@ TEST_F(ConvolutionTests2, depthwise_conv2d_bp_test6) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create('c', {kH, kW, iC, mC}); - auto bias = NDArrayFactory::create('c', {oC}, {3,4}); - auto gradO = NDArrayFactory::create('c', {bS, oC, oH, oW}); + auto input = NDArrayFactory::create({bS, iC, iH, iW}); + auto weights = NDArrayFactory::create({kH, kW, iC, mC}); + auto bias = NDArrayFactory::create({oC}, {3,4}); + auto gradO = NDArrayFactory::create({bS, oC, oH, oW}); - auto expGradI = NDArrayFactory::create('c', {bS, iC, iH, iW},{0.001, 0.005, 0.006, 0.008, 0.03, 0.026, 0.024, 0.07, 0.05, 0.027, 0.069, 0.044, 0.01, + auto expGradI = NDArrayFactory::create({bS, iC, iH, iW},{0.001, 0.005, 0.006, 0.008, 0.03, 0.026, 0.024, 0.07, 0.05, 0.027, 0.069, 0.044, 0.01, 0.032, 0.024, 0.044, 0.12, 0.08, 0.092, 0.224, 0.136, 0.07, 0.164, 0.096, 0.009, 0.037, 0.03, 0.056, 0.158, 0.106, 0.136, 0.326, 0.194, 0.099, 0.229, 0.132, 0.026, 0.08, 0.056, 0.108, 0.28, 0.176, 0.22, 0.512, 0.296, 0.15, 0.34, 0.192}); - auto expGradW = NDArrayFactory::create('c', {kH, kW, iC, mC}, {1.04, 1.68, 1.04, 1.68, 1.04, 1.68, 1.04, 1.68, 1.04, 1.68, 1.04, 1.68}); + auto expGradW = NDArrayFactory::create({kH, kW, iC, mC}, {1.04, 1.68, 1.04, 1.68, 1.04, 1.68, 1.04, 1.68, 1.04, 1.68, 1.04, 1.68}); input = 2.; weights.linspace(0.1, 0.1); From 3b57398a7169c0d78906aa4fa8c0d1d519f4c6f0 Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 15 Jun 2020 14:55:06 +0300 Subject: [PATCH 43/99] Fixed miscelaneous erros with factory create methods. Signed-off-by: shugeo --- .../layers_tests/DataTypesValidationTests.cpp | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DataTypesValidationTests.cpp b/libnd4j/tests_cpu/layers_tests/DataTypesValidationTests.cpp index 83f3a15f58ef..d82e8522207f 100644 --- a/libnd4j/tests_cpu/layers_tests/DataTypesValidationTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/DataTypesValidationTests.cpp @@ -38,9 +38,9 @@ class DataTypesValidationTests : public testing::Test { }; TEST_F(DataTypesValidationTests, Basic_Test_1) { - auto input = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto weights = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto exp = NDArrayFactory::create('c', {1, 4, 1, 4}, {2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8.}); + auto input = NDArrayFactory::create({1, 1, 1, 4}); + auto weights = NDArrayFactory::create({1, 1, 1, 4}); + auto exp = NDArrayFactory::create({1, 4, 1, 4}, {2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8.}); weights.assign(2.0); input.linspace(1); @@ -52,9 +52,9 @@ TEST_F(DataTypesValidationTests, Basic_Test_1) { } TEST_F(DataTypesValidationTests, Basic_Test_2) { - auto input = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto weights = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto exp = NDArrayFactory::create('c', {1, 4, 1, 4}, {2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8.}); + auto input = NDArrayFactory::create({1, 1, 1, 4}); + auto weights = NDArrayFactory::create({1, 1, 1, 4}); + auto exp = NDArrayFactory::create({1, 4, 1, 4}, {2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8.}); weights.assign(2.0); input.linspace(1); @@ -71,10 +71,10 @@ TEST_F(DataTypesValidationTests, Basic_Test_2) { TEST_F(DataTypesValidationTests, Basic_Test_3) { - auto input = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto weights = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto exp = NDArrayFactory::create('c', {1, 4, 1, 4}, {2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8.}); - auto out = NDArrayFactory::create('c', {1, 4, 1, 4}); + auto input = NDArrayFactory::create({1, 1, 1, 4}); + auto weights = NDArrayFactory::create({1, 1, 1, 4}); + auto exp = NDArrayFactory::create({1, 4, 1, 4}, {2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8.}); + auto out = NDArrayFactory::create({1, 4, 1, 4}); weights.assign(2.0); input.linspace(1); @@ -87,10 +87,10 @@ TEST_F(DataTypesValidationTests, Basic_Test_3) { } TEST_F(DataTypesValidationTests, Basic_Test_4) { - auto input = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto weights = NDArrayFactory::create('c', {1, 1, 1, 4}); - auto exp = NDArrayFactory::create('c', {1, 4, 1, 4}, {2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8.}); - auto out = NDArrayFactory::create('c', {1, 4, 1, 4}); + auto input = NDArrayFactory::create({1, 1, 1, 4}); + auto weights = NDArrayFactory::create({1, 1, 1, 4}); + auto exp = NDArrayFactory::create({1, 4, 1, 4}, {2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8., 2., 4., 6., 8.}); + auto out = NDArrayFactory::create({1, 4, 1, 4}); weights.assign(2.0); input.linspace(1); @@ -101,7 +101,7 @@ TEST_F(DataTypesValidationTests, Basic_Test_4) { } TEST_F(DataTypesValidationTests, test_bfloat16_rand_1) { - auto x = NDArrayFactory::create('c', {5, 10}); + auto x = NDArrayFactory::create({5, 10}); RandomGenerator gen(119, 120); RandomLauncher::fillUniform(LaunchContext::defaultContext(), gen, &x, 1, 6); @@ -109,7 +109,7 @@ TEST_F(DataTypesValidationTests, test_bfloat16_rand_1) { } TEST_F(DataTypesValidationTests, test_bfloat16_rand_2) { - auto x = NDArrayFactory::create('c', {5, 10}); + auto x = NDArrayFactory::create({5, 10}); RandomGenerator gen(119, 120); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), gen, &x, 0, 1); @@ -126,8 +126,8 @@ TEST_F(DataTypesValidationTests, cast_1) { } TEST_F(DataTypesValidationTests, test_bits_hamming_distance_1) { - auto x = NDArrayFactory::create('c', {3}, {0b01011000, 0b01011111, 0b01111110}); - auto y = NDArrayFactory::create('c', {3}, {0b00010110, 0b01011000, 0b01011000}); + auto x = NDArrayFactory::create({3}, {0b01011000, 0b01011111, 0b01111110}); + auto y = NDArrayFactory::create({3}, {0b00010110, 0b01011000, 0b01011000}); auto z = NDArrayFactory::create(0); Context ctx(1); @@ -141,8 +141,8 @@ TEST_F(DataTypesValidationTests, test_bits_hamming_distance_1) { } TEST_F(DataTypesValidationTests, test_bits_hamming_distance_2) { - auto x = NDArrayFactory::create('c', {3}, {0b01011000, 0b01011111, 0b01111110}); - auto y = NDArrayFactory::create('c', {3}, {0b00010110, 0b01011000, 0b01011000}); + auto x = NDArrayFactory::create({3}, {0b01011000, 0b01011111, 0b01111110}); + auto y = NDArrayFactory::create({3}, {0b00010110, 0b01011000, 0b01011000}); auto z = NDArrayFactory::create(0); Context ctx(1); From 317ed6fc3a62bcd030e03c4e0d09054411dd079f Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 15 Jun 2020 17:52:51 +0300 Subject: [PATCH 44/99] Fixed the first test file for ops. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests1.cpp | 529 +++++++++--------- 1 file changed, 264 insertions(+), 265 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp index 521b558ca723..c6d0da6a0a41 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp @@ -97,11 +97,11 @@ TEST_F(DeclarableOpsTests1, BasicInitialization1) { std::string expName("concat"); ASSERT_EQ(expName, *(concat->getOpName())); - auto x0 = NDArrayFactory::create('c', { 1, 5 }); - auto x1 = NDArrayFactory::create('c', { 1, 5 }); - auto x2 = NDArrayFactory::create('c', { 1, 5 }); - auto x3 = NDArrayFactory::create('c', { 1, 5 }); - auto x4 = NDArrayFactory::create('c', { 1, 5 }); + auto x0 = NDArrayFactory::create({ 1, 5 }); + auto x1 = NDArrayFactory::create({ 1, 5 }); + auto x2 = NDArrayFactory::create({ 1, 5 }); + auto x3 = NDArrayFactory::create({ 1, 5 }); + auto x4 = NDArrayFactory::create({ 1, 5 }); x0.assign(1.0f); x1.assign(1.0f); @@ -156,9 +156,9 @@ TEST_F(DeclarableOpsTests1, BasicInitialization2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ApplyGradientDescent_1) { - auto x = NDArrayFactory::create('c', { 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); - auto y = NDArrayFactory::create('c', { 3,4 }, { 0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2 }); - auto exp = NDArrayFactory::create('c', { 3,4 }); + auto x = NDArrayFactory::create({ 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); + auto y = NDArrayFactory::create({ 3,4 }, { 0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2 }); + auto exp = NDArrayFactory::create({ 3,4 }); exp.linspace(0.9, 0.9); sd::ops::apply_sgd op; auto result = op.evaluate({ &x, &y }, { 1. }, {}); @@ -171,9 +171,9 @@ TEST_F(DeclarableOpsTests1, ApplyGradientDescent_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AssignBroadcastTest_1) { - auto x = NDArrayFactory::create('c', { 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); - auto y = NDArrayFactory::create('c', { 1,4 }, { 0.1,0.2,0.3,0.4 }); - auto exp = NDArrayFactory::create('c', { 3,4 }, { 0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3, 0.4 }); + auto x = NDArrayFactory::create({ 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); + auto y = NDArrayFactory::create({ 1,4 }, { 0.1,0.2,0.3,0.4 }); + auto exp = NDArrayFactory::create({ 3,4 }, { 0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3, 0.4 }); sd::ops::assign op; auto result = op.evaluate({ &x, &y }); ASSERT_EQ(result.status(), ND4J_STATUS_OK); @@ -185,11 +185,11 @@ TEST_F(DeclarableOpsTests1, AssignBroadcastTest_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AssignBroadcastTest_2) { - auto x = NDArrayFactory::create('c', { 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); - auto y = NDArrayFactory::create('c', { 1,4 }, { 0.1,0.2,0.3,0.4 }); - auto eps = NDArrayFactory::create('c', { 3,4 }, { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 }); - auto exp1 = NDArrayFactory::create('c', { 3,4 }); // zero - auto exp2 = NDArrayFactory::create('c', { 1,4 }, { 3, 6, 9, 12 }); + auto x = NDArrayFactory::create({ 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); + auto y = NDArrayFactory::create({ 1,4 }, { 0.1,0.2,0.3,0.4 }); + auto eps = NDArrayFactory::create({ 3,4 }, { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 }); + auto exp1 = NDArrayFactory::create({ 3,4 }); // zero + auto exp2 = NDArrayFactory::create({ 1,4 }, { 3, 6, 9, 12 }); sd::ops::assign_bp op; auto result = op.evaluate({ &x, &y, &eps }); ASSERT_EQ(result.status(), ND4J_STATUS_OK); @@ -203,9 +203,9 @@ TEST_F(DeclarableOpsTests1, AssignBroadcastTest_2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AXpY_Test_1) { - auto x = NDArrayFactory::create('c', { 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); - auto y = NDArrayFactory::create('c', { 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); - auto exp = NDArrayFactory::create('c', { 3,4 }); + auto x = NDArrayFactory::create({ 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); + auto y = NDArrayFactory::create({ 3,4 }, { 1,2,3,4,5,6,7,8,9,10,11,12 }); + auto exp = NDArrayFactory::create({ 3,4 }); exp.linspace(3, 3); sd::ops::axpy op; auto result = op.evaluate({ &x, &y }, { 2. }); @@ -324,9 +324,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot4) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot5) { - auto x = NDArrayFactory::create('c', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('c', { 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 2,4,2,4 }, { 44,110,160, 66,132, 38, 88,154, 68,170,224,102,204, 82,136,238, 92,230,288,138,276,126,184,322, 116,290,352,174,348,170,232,406, 76,190,160,114,228,182,152,266, 100,250,224,150,300,226,200,350, 124,310,288,186,372,270,248,434, 148,370,352,222,444,314,296,518 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); + auto y = NDArrayFactory::create({ 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); + auto expected = NDArrayFactory::create({ 2,4,2,4 }, { 44,110,160, 66,132, 38, 88,154, 68,170,224,102,204, 82,136,238, 92,230,288,138,276,126,184,322, 116,290,352,174,348,170,232,406, 76,190,160,114,228,182,152,266, 100,250,224,150,300,226,200,350, 124,310,288,186,372,270,248,434, 148,370,352,222,444,314,296,518 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 1,1,1,2 }); @@ -346,9 +346,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot5) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot6) { - auto x = NDArrayFactory::create('c', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('f', { 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 2,4,2,4 }, { 22, 66,110,154, 44, 88,132,176, 34,102,170,238, 68,136,204,272, 46,138,230,322, 92,184,276,368, 58,174,290,406,116,232,348,464, 38,114,190,266, 76,152,228,304, 50,150,250,350,100,200,300,400, 62,186,310,434,124,248,372,496, 74,222,370,518,148,296,444,592 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); + auto y = NDArrayFactory::create({ 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create({ 2,4,2,4 }, { 22, 66,110,154, 44, 88,132,176, 34,102,170,238, 68,136,204,272, 46,138,230,322, 92,184,276,368, 58,174,290,406,116,232,348,464, 38,114,190,266, 76,152,228,304, 50,150,250,350,100,200,300,400, 62,186,310,434,124,248,372,496, 74,222,370,518,148,296,444,592 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 1,1,1,2 }); @@ -367,9 +367,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot6) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot7) { - auto x = NDArrayFactory::create('f', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('c', { 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 2,4,2,4 }, { 76,166,112,106,196, 62,136,226, 60,174,208, 98,212,230,136,250, 76,214,336,122,260,174,168,306, 124,286,240,178,340,150,232,394, 100,226,176,142,268,106,184,310, 84,234,272,134,284,274,184,334, 100,274,400,158,332,218,216,390, 148,346,304,214,412,194,280,478 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({ 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); + auto expected = NDArrayFactory::create({ 2,4,2,4 }, { 76,166,112,106,196, 62,136,226, 60,174,208, 98,212,230,136,250, 76,214,336,122,260,174,168,306, 124,286,240,178,340,150,232,394, 100,226,176,142,268,106,184,310, 84,234,272,134,284,274,184,334, 100,274,400,158,332,218,216,390, 148,346,304,214,412,194,280,478 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 1,1,1,2 }); @@ -388,9 +388,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot7) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot8) { - auto x = NDArrayFactory::create('f', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('f', { 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 2,4,2,4 }, { 30, 90,150,210, 60,120,180,240, 38,114,190,266, 76,152,228,304, 46,138,230,322, 92,184,276,368, 54,162,270,378,108,216,324,432, 42,126,210,294, 84,168,252,336, 50,150,250,350,100,200,300,400, 58,174,290,406,116,232,348,464, 66,198,330,462,132,264,396,528 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({ 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create({ 2,4,2,4 }, { 30, 90,150,210, 60,120,180,240, 38,114,190,266, 76,152,228,304, 46,138,230,322, 92,184,276,368, 54,162,270,378,108,216,324,432, 42,126,210,294, 84,168,252,336, 50,150,250,350,100,200,300,400, 58,174,290,406,116,232,348,464, 66,198,330,462,132,264,396,528 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 1,1,1,2 }); @@ -417,9 +417,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot9) { // z.printShapeInfo(); // z.printIndexedBuffer(); - auto x = NDArrayFactory::create('f', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('f', { 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 3,4,4,3 }, { 14, 14, 14, 30, 30, 30, 46, 46, 46, 62, 62, 62, 86, 86, 86,198,198,198,310,310,310,422,422,422, 62, 62, 62,142,142,142,222,222,222,302,302,302, 38, 38, 38, 86, 86, 86,134,134,134,182,182,182, 38, 38, 38, 86, 86, 86,134,134,134,182,182,182, 14, 14, 14, 30, 30, 30, 46, 46, 46, 62, 62, 62, 86, 86, 86,198,198,198,310,310,310,422,422,422, 62, 62, 62,142,142,142,222,222,222,302,302,302, 62, 62, 62,142,142,142,222,222,222,302,302,302, 38, 38, 38, 86, 86, 86,134,134,134,182,182,182, 14, 14, 14, 30, 30, 30, 46, 46, 46, 62, 62, 62, 86, 86, 86,198,198,198,310,310,310,422,422,422 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({ 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create({ 3,4,4,3 }, { 14, 14, 14, 30, 30, 30, 46, 46, 46, 62, 62, 62, 86, 86, 86,198,198,198,310,310,310,422,422,422, 62, 62, 62,142,142,142,222,222,222,302,302,302, 38, 38, 38, 86, 86, 86,134,134,134,182,182,182, 38, 38, 38, 86, 86, 86,134,134,134,182,182,182, 14, 14, 14, 30, 30, 30, 46, 46, 46, 62, 62, 62, 86, 86, 86,198,198,198,310,310,310,422,422,422, 62, 62, 62,142,142,142,222,222,222,302,302,302, 62, 62, 62,142,142,142,222,222,222,302,302,302, 38, 38, 38, 86, 86, 86,134,134,134,182,182,182, 14, 14, 14, 30, 30, 30, 46, 46, 46, 62, 62, 62, 86, 86, 86,198,198,198,310,310,310,422,422,422 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 1,0,1,0 }); @@ -438,9 +438,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot9) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot10) { - auto x = NDArrayFactory::create('f', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('f', { 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 4,4 }, { 114,258,402,546, 138,314,490,666, 162,370,578,786, 186,426,666,906 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({ 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create({ 4,4 }, { 114,258,402,546, 138,314,490,666, 162,370,578,786, 186,426,666,906 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 2,0,1, 2,0,2 }); @@ -460,9 +460,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot10) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot11) { - auto x = NDArrayFactory::create('c', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('f', { 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 4,4 }, { 98,218,338,458, 134,302,470,638, 170,386,602,818, 206,470,734,998 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); + auto y = NDArrayFactory::create({ 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create({ 4,4 }, { 98,218,338,458, 134,302,470,638, 170,386,602,818, 206,470,734,998 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 2,0,1, 2,0,2 }); @@ -481,9 +481,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot11) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot12) { - auto x = NDArrayFactory::create('c', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('c', { 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 4,4 }, { 272,292,312,332, 368,396,424,452, 464,500,536,572, 560,604,648,692 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); + auto y = NDArrayFactory::create({ 2,4,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); + auto expected = NDArrayFactory::create({ 4,4 }, { 272,292,312,332, 368,396,424,452, 464,500,536,572, 560,604,648,692 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 2,0,1, 2,0,2 }); @@ -502,9 +502,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot12) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot13) { - auto x = NDArrayFactory::create('c', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('c', { 4,2,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 3,3 }, { 640,560,640, 576,624,576, 640,560,640 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); + auto y = NDArrayFactory::create({ 4,2,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); + auto expected = NDArrayFactory::create({ 3,3 }, { 640,560,640, 576,624,576, 640,560,640 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 2,0,2, 2,1,0 }); @@ -523,9 +523,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot13) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot14) { - auto x = NDArrayFactory::create('f', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('c', { 4,2,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 3,3 }, { 648,600,520, 648,536,648, 520,600,648 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({ 4,2,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); + auto expected = NDArrayFactory::create({ 3,3 }, { 648,600,520, 648,536,648, 520,600,648 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 2,0,2, 2,1,0 }); @@ -544,9 +544,9 @@ TEST_F(DeclarableOpsTests1, TestTensorDot14) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestTensorDot15) { - auto x = NDArrayFactory::create('f', { 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }); - auto y = NDArrayFactory::create('f', { 4,2,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }); - auto expected = NDArrayFactory::create('c', { 3,3 }, { 624,624,624, 656,656,656, 624,624,624 }); + auto x = NDArrayFactory::create({ 2,3,4 }, { 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15, 1,3,5,7,9,11,13,15 }, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({ 4,2,3 }, { 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16, 2,4,6,8,10,12,14,16 }, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create({ 3,3 }, { 624,624,624, 656,656,656, 624,624,624 }); sd::ops::tensormmul op; auto results = op.evaluate({ &x, &y }, {}, { 2,0,2, 2,1,0 }); @@ -609,9 +609,9 @@ TEST_F(DeclarableOpsTests1, DivergentCheck1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AddMatrices1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 5, 3 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 5, 3 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(2.f); y.assign(1.f); exp.assign(3.f); @@ -636,9 +636,9 @@ TEST_F(DeclarableOpsTests1, AddMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AddVectorVector1) { - auto x = NDArrayFactory::create('c', { 1, 15 }); - auto y = NDArrayFactory::create('c', { 1, 15 }); - auto exp = NDArrayFactory::create('c', { 1, 15 }); + auto x = NDArrayFactory::create({ 1, 15 }); + auto y = NDArrayFactory::create({ 1, 15 }); + auto exp = NDArrayFactory::create({ 1, 15 }); x.assign(2); y.assign(1); exp.assign(3); @@ -662,9 +662,9 @@ TEST_F(DeclarableOpsTests1, AddVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(2); y.assign(1); exp.assign(3); @@ -688,9 +688,9 @@ TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, AddScalarScalar1) { - auto x = NDArrayFactory::create('c', { 1, 1 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 1, 1 }); + auto x = NDArrayFactory::create({ 1, 1 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 1, 1 }); x.assign(2); y.assign(1); exp.assign(3); @@ -714,9 +714,9 @@ TEST_F(DeclarableOpsTests1, AddScalarScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractMatrices1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 5, 3 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 5, 3 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(3); y.assign(1); exp.assign(2); @@ -741,9 +741,9 @@ TEST_F(DeclarableOpsTests1, SubtractMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractTest_1) { - auto x = NDArrayFactory::create('c', { 1, 6 }); - auto y = NDArrayFactory::create('c', { 1, 6 }); - auto exp = NDArrayFactory::create('c', { 1, 6 }); + auto x = NDArrayFactory::create({ 1, 6 }); + auto y = NDArrayFactory::create({ 1, 6 }); + auto exp = NDArrayFactory::create({ 1, 6 }); x.assign(3.f); y.assign(1.f); exp.assign(2.f); @@ -767,10 +767,10 @@ TEST_F(DeclarableOpsTests1, SubtractTest_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractTest_2) { - auto x = NDArrayFactory::create('c', { 3, 4, 5, 1 }); - auto y = NDArrayFactory::create('c', { 1, 6 }); + auto x = NDArrayFactory::create({ 3, 4, 5, 1 }); + auto y = NDArrayFactory::create({ 1, 6 }); // auto y({6}, {1,1,1,1,1,1}); - auto exp = NDArrayFactory::create('c', { 3, 4, 5, 6 }); + auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); x.assign(3); y.assign(1); exp.assign(2); @@ -796,7 +796,7 @@ TEST_F(DeclarableOpsTests1, TestRng1) { if (rng == nullptr) throw std::runtime_error("RNG initialization failed"); - auto x = NDArrayFactory::create_('c', {5, 3}); + auto x = NDArrayFactory::create_({5, 3}); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(x)); auto block = new Context(1, variableSpace, true); @@ -824,10 +824,10 @@ TEST_F(DeclarableOpsTests1, TestRng1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MergeSumTest1) { - auto x = NDArrayFactory::create('c', { 5, 5 }); - auto y = NDArrayFactory::create('c', { 5, 5 }); - auto z = NDArrayFactory::create('c', { 5, 5 }); - auto exp = NDArrayFactory::create('c', { 5, 5 }); + auto x = NDArrayFactory::create({ 5, 5 }); + auto y = NDArrayFactory::create({ 5, 5 }); + auto z = NDArrayFactory::create({ 5, 5 }); + auto exp = NDArrayFactory::create({ 5, 5 }); x.assign(3.f); y.assign(1.f); z.assign(2.f); @@ -837,7 +837,7 @@ TEST_F(DeclarableOpsTests1, MergeSumTest1) { variableSpace->putVariable(-1, new NDArray(x)); variableSpace->putVariable(-2, new NDArray(y)); variableSpace->putVariable(-3, new NDArray(z)); - variableSpace->putVariable(1, new NDArray(NDArrayFactory::create('c', { 5, 5 }))); + variableSpace->putVariable(1, new NDArray(NDArrayFactory::create({ 5, 5 }))); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2, -3 }); @@ -857,8 +857,8 @@ TEST_F(DeclarableOpsTests1, MergeSumTest1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ClipByValue1) { - auto x = NDArrayFactory::create('c', { 5, 5 }); - auto exp = NDArrayFactory::create('c', { 5, 5 }); + auto x = NDArrayFactory::create({ 5, 5 }); + auto exp = NDArrayFactory::create({ 5, 5 }); x.assign(4.f); x.p(0, -1.f); x.p(1, 2.f); @@ -888,22 +888,22 @@ TEST_F(DeclarableOpsTests1, ClipByValue1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MergeAvgTest1) { - auto x = NDArrayFactory::create('c', { 5, 5 }); - auto y = NDArrayFactory::create('c', { 5, 5 }); - auto z = NDArrayFactory::create('c', { 5, 5 }); - auto exp = NDArrayFactory::create('c', { 5, 5 }); + auto x = NDArrayFactory::create({ 5, 5 }); + auto y = NDArrayFactory::create({ 5, 5 }); + auto z = NDArrayFactory::create({ 5, 5 }); + auto exp = NDArrayFactory::create({ 5, 5 }); x.assign(3.f); y.assign(1.f); z.assign(2.f); exp.assign(2.f); - auto zu = NDArrayFactory::create('c', { 5, 5 }); + auto zu = NDArrayFactory::create({ 5, 5 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(x)); variableSpace->putVariable(-2, new NDArray(y)); variableSpace->putVariable(-3, new NDArray(z)); - variableSpace->putVariable(1, new NDArray(NDArrayFactory::create('c', { 5, 5 }))); + variableSpace->putVariable(1, new NDArray(NDArrayFactory::create({ 5, 5 }))); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2, -3 }); @@ -923,9 +923,9 @@ TEST_F(DeclarableOpsTests1, MergeAvgTest1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { - auto x = NDArrayFactory::create('c', { 1, 15 }); - auto y = NDArrayFactory::create('c', { 1, 15 }); - auto exp = NDArrayFactory::create('c', { 1, 15 }); + auto x = NDArrayFactory::create({ 1, 15 }); + auto y = NDArrayFactory::create({ 1, 15 }); + auto exp = NDArrayFactory::create({ 1, 15 }); x.assign(3.f); y.assign(1.f); exp.assign(2.f); @@ -951,9 +951,9 @@ TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(3); y.assign(1); exp.assign(2); @@ -978,9 +978,9 @@ TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { - auto x = NDArrayFactory::create('c', { 1, 1 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 1, 1 }); + auto x = NDArrayFactory::create({ 1, 1 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 1, 1 }); x.assign(3.f); y.assign(1.f); exp.assign(2.f); @@ -1004,9 +1004,9 @@ TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractMatrices1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 5, 3 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 5, 3 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(3.f); y.assign(1.f); exp.assign(-2.f); @@ -1030,9 +1030,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractTest_1) { - auto x = NDArrayFactory::create('c', { 1, 6 }); - auto y = NDArrayFactory::create('c', { 1, 6 }); - auto exp = NDArrayFactory::create('c', { 1, 6 }); + auto x = NDArrayFactory::create({ 1, 6 }); + auto y = NDArrayFactory::create({ 1, 6 }); + auto exp = NDArrayFactory::create({ 1, 6 }); x.assign(3.f); y.assign(1.f); exp.assign(-2.f); @@ -1051,9 +1051,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractTest_1) { TEST_F(DeclarableOpsTests1, ReverseSubtractTest_2) { // auto x('c', {1, 6}); - auto x = NDArrayFactory::create('c', { 1, 6 }); - auto y = NDArrayFactory::create('c', { 3, 4, 5, 1 }); - auto exp = NDArrayFactory::create('c', { 3, 4, 5, 6 }); + auto x = NDArrayFactory::create({ 1, 6 }); + auto y = NDArrayFactory::create({ 3, 4, 5, 1 }); + auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); auto z(exp); x.assign(3.f); y.assign(1.f); @@ -1076,9 +1076,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractTest_2) { TEST_F(DeclarableOpsTests1, ReverseSubtractTest_3) { // auto x('c', {1, 6}); - auto x = NDArrayFactory::create('c', { 6 }); - auto y = NDArrayFactory::create('c', { 3, 4, 5, 1 }); - auto exp = NDArrayFactory::create('c', { 3, 4, 5, 6 }); + auto x = NDArrayFactory::create({ 6 }); + auto y = NDArrayFactory::create({ 3, 4, 5, 1 }); + auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); auto z(exp); x.assign(1); y.assign(3); @@ -1098,9 +1098,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractTest_3) { TEST_F(DeclarableOpsTests1, ReverseModTest_1) { // auto x('c', {1, 6}); - auto x = NDArrayFactory::create('c', { 6 }); - auto y = NDArrayFactory::create('c', { 3, 4, 5, 1 }); - auto exp = NDArrayFactory::create('c', { 3, 4, 5, 6 }); + auto x = NDArrayFactory::create({ 6 }); + auto y = NDArrayFactory::create({ 3, 4, 5, 1 }); + auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); auto z(exp); x.assign(2.); y.assign(9.f); @@ -1126,9 +1126,9 @@ TEST_F(DeclarableOpsTests1, ReverseModTest_1) { TEST_F(DeclarableOpsTests1, ReverseModTest_2) { // auto x('c', {1, 6}); - auto x = NDArrayFactory::create('c', { 3, 4, 5 }); - auto y = NDArrayFactory::create('c', { 3, 4, 5 }); - auto exp = NDArrayFactory::create('c', { 3, 4, 5 }); + auto x = NDArrayFactory::create({ 3, 4, 5 }); + auto y = NDArrayFactory::create({ 3, 4, 5 }); + auto exp = NDArrayFactory::create({ 3, 4, 5 }); auto z(exp); x.assign(2.f); y.assign(9.f); @@ -1149,9 +1149,9 @@ TEST_F(DeclarableOpsTests1, ReverseModTest_2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { - auto x = NDArrayFactory::create('c', { 1, 15 }); - auto y = NDArrayFactory::create('c', { 1, 15 }); - auto exp = NDArrayFactory::create('c', { 1, 15 }); + auto x = NDArrayFactory::create({ 1, 15 }); + auto y = NDArrayFactory::create({ 1, 15 }); + auto exp = NDArrayFactory::create({ 1, 15 }); x.assign(3.f); y.assign(1.f); exp.assign(-2.f); @@ -1176,9 +1176,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(3.f); y.assign(1.f); exp.assign(-2.f); @@ -1203,9 +1203,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { - auto x = NDArrayFactory::create('c', { 1, 1 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 1, 1 }); + auto x = NDArrayFactory::create({ 1, 1 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 1, 1 }); x.assign(3); y.assign(1); exp.assign(-2); @@ -1229,9 +1229,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 5, 3 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 5, 3 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(2.f); y.assign(3.f); exp.assign(6.f); @@ -1255,9 +1255,9 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { - auto x = NDArrayFactory::create('c', { 1, 15 }); - auto y = NDArrayFactory::create('c', { 1, 15 }); - auto exp = NDArrayFactory::create('c', { 1, 15 }); + auto x = NDArrayFactory::create({ 1, 15 }); + auto y = NDArrayFactory::create({ 1, 15 }); + auto exp = NDArrayFactory::create({ 1, 15 }); x.assign(2); y.assign(3); exp.assign(6); @@ -1281,9 +1281,9 @@ TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(2); y.assign(3); exp.assign(6); @@ -1307,9 +1307,9 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { - auto x = NDArrayFactory::create('c', { 1, 1 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 1, 1 }); + auto x = NDArrayFactory::create({ 1, 1 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 1, 1 }); x.assign(2); y.assign(3); exp.assign(6); @@ -1333,20 +1333,20 @@ TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestSoftMax_bp_1) { - auto input = NDArrayFactory::create('c', { 2, 2 }); + auto input = NDArrayFactory::create({ 2, 2 }); for (int e = 0; e < input.lengthOf(); e++) input.p(e, e + 1); - auto epsilon = NDArrayFactory::create('c', { 2, 2 }); + auto epsilon = NDArrayFactory::create({ 2, 2 }); epsilon.p(0, 0.1f); epsilon.p(1, 0.2f); epsilon.p(2, 0.3f); epsilon.p(3, 0.4f); - auto output = NDArrayFactory::create('c', { 2, 2 }); + auto output = NDArrayFactory::create({ 2, 2 }); output.assign(1.0f); - auto exp = NDArrayFactory::create('c', { 2, 2 }); + auto exp = NDArrayFactory::create({ 2, 2 }); exp.p(0, -0.019661194f); exp.p(1, 0.019661194f); exp.p(2, -0.019661194f); @@ -1376,9 +1376,9 @@ TEST_F(DeclarableOpsTests1, TestSoftMax_bp_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, BroadcastDivideTest_1) { - auto x = NDArrayFactory::create('c', { 3, 4, 5, 1 }); - auto y = NDArrayFactory::create('c', { 1, 6 }); - auto exp = NDArrayFactory::create('c', { 3, 4, 5, 6 }); + auto x = NDArrayFactory::create({ 3, 4, 5, 1 }); + auto y = NDArrayFactory::create({ 1, 6 }); + auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); x.assign(6); y.assign(2); exp.assign(3); @@ -1396,9 +1396,9 @@ TEST_F(DeclarableOpsTests1, BroadcastDivideTest_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, BroadcastDivideTest_2) { - auto x = NDArrayFactory::create('c', { 3, 4, 5, 1 }); - auto y = NDArrayFactory::create('c', { 1, 6 }); - auto exp = NDArrayFactory::create('c', { 3, 4, 5, 6 }); + auto x = NDArrayFactory::create({ 3, 4, 5, 1 }); + auto y = NDArrayFactory::create({ 1, 6 }); + auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); x.assign(6); y.assign(2); exp.assign(3); @@ -1431,9 +1431,9 @@ TEST_F(DeclarableOpsTests1, BroadcastDivideTest_3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, BroadcastReverseDivideTest_1) { - auto x = NDArrayFactory::create('c', { 3, 4, 5, 1 }); - auto y = NDArrayFactory::create('c', { 1, 6 }); - auto exp = NDArrayFactory::create('c', { 3, 4, 5, 6 }); + auto x = NDArrayFactory::create({ 3, 4, 5, 1 }); + auto y = NDArrayFactory::create({ 1, 6 }); + auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); x.assign(3.f); y.assign(6.f); exp.assign(2.f); @@ -1457,9 +1457,9 @@ TEST_F(DeclarableOpsTests1, BroadcastReverseDivideTest_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, DivideMatrices1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 5, 3 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 5, 3 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(6); y.assign(2); exp.assign(3); @@ -1483,9 +1483,9 @@ TEST_F(DeclarableOpsTests1, DivideMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, DivideVectorVector1) { - auto x = NDArrayFactory::create('c', { 1, 15 }); - auto y = NDArrayFactory::create('c', { 1, 15 }); - auto exp = NDArrayFactory::create('c', { 1, 15 }); + auto x = NDArrayFactory::create({ 1, 15 }); + auto y = NDArrayFactory::create({ 1, 15 }); + auto exp = NDArrayFactory::create({ 1, 15 }); x.assign(6); y.assign(2); exp.assign(3); @@ -1509,9 +1509,9 @@ TEST_F(DeclarableOpsTests1, DivideVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(6); y.assign(2); exp.assign(3); @@ -1536,9 +1536,9 @@ TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { - auto x = NDArrayFactory::create('c', { 5, 1 }); - auto y = NDArrayFactory::create('c', { 5, 1 }); - auto exp = NDArrayFactory::create('c', { 5, 1 }); + auto x = NDArrayFactory::create({ 5, 1 }); + auto y = NDArrayFactory::create({ 5, 1 }); + auto exp = NDArrayFactory::create({ 5, 1 }); x.assign(6); y.assign(2); exp.assign(3); @@ -1562,9 +1562,9 @@ TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 5, 3 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 5, 3 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(2); y.assign(6); exp.assign(3); @@ -1588,9 +1588,9 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { - auto x = NDArrayFactory::create('c', { 1, 15 }); - auto y = NDArrayFactory::create('c', { 1, 15 }); - auto exp = NDArrayFactory::create('c', { 1, 15 }); + auto x = NDArrayFactory::create({ 1, 15 }); + auto y = NDArrayFactory::create({ 1, 15 }); + auto exp = NDArrayFactory::create({ 1, 15 }); x.assign(2); y.assign(6); exp.assign(3); @@ -1614,9 +1614,9 @@ TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { - auto x = NDArrayFactory::create('c', { 5, 3 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 5, 3 }); + auto x = NDArrayFactory::create({ 5, 3 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 5, 3 }); x.assign(2); y.assign(6); exp.assign(3); @@ -1640,9 +1640,9 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ReverseDivideScalarScalar1) { - auto x = NDArrayFactory::create('c', { 1, 1 }); - auto y = NDArrayFactory::create('c', { 1, 1 }); - auto exp = NDArrayFactory::create('c', { 1, 1 }); + auto x = NDArrayFactory::create({ 1, 1 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 1, 1 }); x.assign(2); y.assign(6); exp.assign(3); @@ -1665,8 +1665,8 @@ TEST_F(DeclarableOpsTests1, ReverseDivideScalarScalar1) { TEST_F(DeclarableOpsTests1, Test_Cast_1) { // TODO: right now there's no real cast implementation, but genera idea should be the same: arrays equality to be expected - auto x = NDArrayFactory::create('c', { 5, 5 }); - auto yExp = NDArrayFactory::create('c', { 5, 5 }); + auto x = NDArrayFactory::create({ 5, 5 }); + auto yExp = NDArrayFactory::create({ 5, 5 }); x.linspace(1); yExp.linspace(1); sd::ops::cast op; @@ -1687,15 +1687,15 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // ////////////////////////////////////////////////////////////////////// // TEST_F(DeclarableOpsTests1, TestLegacyExecution1) { -// auto x = NDArrayFactory::create_('c', {10, 10}); +// auto x = NDArrayFactory::create_({10, 10}); // x.assign(1.0f); -// auto y = NDArrayFactory::create_('c', {10, 10}); +// auto y = NDArrayFactory::create_({10, 10}); // y->assign(2.0f); -// auto z = NDArrayFactory::create_('c', {10, 10}); +// auto z = NDArrayFactory::create_({10, 10}); -// auto exp = NDArrayFactory::create_('c', {10, 10}); +// auto exp = NDArrayFactory::create_({10, 10}); // exp->assign(3.0f); // z->assign(120.0f); // std::string opName("add"); @@ -1737,15 +1737,15 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // ////////////////////////////////////////////////////////////////////// // TEST_F(DeclarableOpsTests1, TestLegacyExecution2) { -// auto x = NDArrayFactory::create_('c', {10, 10}); +// auto x = NDArrayFactory::create_({10, 10}); // x.assign(1.0f); -// auto y = NDArrayFactory::create_('c', {10, 10}); +// auto y = NDArrayFactory::create_({10, 10}); // y->assign(2.0f); -// auto z = NDArrayFactory::create_('c', {10, 10}); +// auto z = NDArrayFactory::create_({10, 10}); -// auto exp = NDArrayFactory::create_('c', {10, 10}); +// auto exp = NDArrayFactory::create_({10, 10}); // exp->assign(3.0); // std::string opName("add"); @@ -1813,8 +1813,8 @@ TEST_F(DeclarableOpsTests1, TestGemv1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, Transpose1) { - auto x = NDArrayFactory::create('c', { 3,5,2 }); - auto exp = NDArrayFactory::create('c', { 2,5,3 }); + auto x = NDArrayFactory::create({ 3,5,2 }); + auto exp = NDArrayFactory::create({ 2,5,3 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(x)); @@ -1901,7 +1901,7 @@ TEST_F(DeclarableOpsTests1, TestArgumentsValidation1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestReductionShape1) { - auto input = NDArrayFactory::create('c', { 4, 5, 5, 10, 10 }); + auto input = NDArrayFactory::create({ 4, 5, 5, 10, 10 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(input)); @@ -1936,7 +1936,7 @@ TEST_F(DeclarableOpsTests1, TestReductionShape1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestReductionShape2) { - auto input = NDArrayFactory::create('c', { 4, 5, 5, 10, 10 }); + auto input = NDArrayFactory::create({ 4, 5, 5, 10, 10 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(input)); @@ -1968,7 +1968,7 @@ TEST_F(DeclarableOpsTests1, TestReductionShape2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, TestCustomShape1) { - auto input = NDArrayFactory::create('c', { 2, 3, 4 }); + auto input = NDArrayFactory::create({ 2, 3, 4 }); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(input)); @@ -2034,8 +2034,8 @@ TEST_F(DeclarableOpsTests1, Sum1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, Pnormpool2d1) { - auto x = NDArrayFactory::create('c', { bS,iD,iH,iW }); - auto exp = NDArrayFactory::create('c', { bS,iD,oH,oW }); + auto x = NDArrayFactory::create({ bS,iD,iH,iW }); + auto exp = NDArrayFactory::create({ bS,iD,oH,oW }); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -2159,9 +2159,9 @@ TEST_F(DeclarableOpsTests1, IsMax3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, IsMax4) { - auto x = NDArrayFactory::create('c', { 6 }, { 0, 0, 0, 2, 2, 0 }); - auto z = NDArrayFactory::create('c', { 6 }); - auto e = NDArrayFactory::create('c', { 6 }, { false, false, false, true, false, false }); + auto x = NDArrayFactory::create({ 6 }, { 0, 0, 0, 2, 2, 0 }); + auto z = NDArrayFactory::vector(6); + auto e = NDArrayFactory::vector({ false, false, false, true, false, false }); sd::ops::ismax op; auto result = op.execute({ &x }, { &z }); @@ -2252,19 +2252,19 @@ TEST_F(DeclarableOpsTests1, sru_bp) { std::vector expGradInitBuff = { 1.1421, 1.1421, 1.1421, 1.1421, 1.1421, 1.1421 }; std::vector stateBuff = { 0.847983, 0.874549, 0.896109, 0.913715, 0.847983, 0.874549, 0.896109, 0.913715, 0.847983, 0.874549, 0.896109, 0.913715, 0.847983, 0.874549, 0.896109, 0.913715, 0.847983, 0.874549, 0.896109, 0.913715, 0.847983, 0.874549, 0.896109, 0.913715 }; - auto input = NDArrayFactory::create('c', { bS,K,N }); - auto weights = NDArrayFactory::create('c', { 3 * K,K }); - auto bias = NDArrayFactory::create('c', { 1,2 * K }); - auto init = NDArrayFactory::create('c', { bS,K }); - auto mask = NDArrayFactory::create('c', { bS,K }); - auto state = NDArrayFactory::create('c', { bS,K,N }, stateBuff); - auto inGradCt = NDArrayFactory::create('c', { bS,K }); - auto inGradH = NDArrayFactory::create('c', { bS,K,N }); + auto input = NDArrayFactory::create({ bS,K,N }); + auto weights = NDArrayFactory::create({ 3 * K,K }); + auto bias = NDArrayFactory::create({ 1,2 * K }); + auto init = NDArrayFactory::create({ bS,K }); + auto mask = NDArrayFactory::create({ bS,K }); + auto state = NDArrayFactory::create({ bS,K,N }, stateBuff); + auto inGradCt = NDArrayFactory::create({ bS,K }); + auto inGradH = NDArrayFactory::create({ bS,K,N }); - auto expGradX = NDArrayFactory::create('c', { bS,K,N }, expGradXBuff); - auto expGradW = NDArrayFactory::create('c', { bS,3 * K,K }, expGradWBuff); - auto expGradB = NDArrayFactory::create('c', { 1,2 * K }, expGradBBuff); - auto expGradInit = NDArrayFactory::create('c', { bS,K }, expGradInitBuff); + auto expGradX = NDArrayFactory::create({ bS,K,N }, expGradXBuff); + auto expGradW = NDArrayFactory::create({ bS,3 * K,K }, expGradWBuff); + auto expGradB = NDArrayFactory::create({ 1,2 * K }, expGradBBuff); + auto expGradInit = NDArrayFactory::create({ bS,K }, expGradInitBuff); input.assign(1.5); weights.assign(0.5); @@ -2339,20 +2339,20 @@ TEST_F(DeclarableOpsTests1, sru_bi_bp_1) { std::vector expGradBBuff = { -0.0734389, -0.0734389, -0.0734389, -0.0717151, -0.0717151, -0.0717151, -0.0734389, -0.0734389, -0.0734389, -0.0717151, -0.0717151, -0.0717151, -0.00869156, -0.00869156, -0.00869156, -0.00856306, -0.00856306, -0.00856306, -0.00869156, -0.00869156, -0.00869156, -0.00856306, -0.00856306, -0.00856306 }; std::vector stateBuff = { 1.028569, 1.028569, 1.028569, 1.112884, 1.112884, 1.112884, 1.028569, 1.028569, 1.028569, 1.112884,1.112884, 1.112884, 1.056905, 1.056905, 1.056905, 1.085009, 1.085009, 1.085009, 1.056905, 1.056905,1.056905, 1.085009, 1.085009, 1.085009, 1.085009, 1.085009, 1.085009, 1.056905, 1.056905, 1.056905,1.085009, 1.085009, 1.085009, 1.056905, 1.056905, 1.056905 }; - auto input = NDArrayFactory::create('c', { N,bS,2 * K }); - auto weights = NDArrayFactory::create('c', { 2 * K,6 * K }); - auto bias = NDArrayFactory::create('c', { 4 * K }); - auto init = NDArrayFactory::create('c', { bS,2 * K }); - auto mask = NDArrayFactory::create('c', { bS,2 * K }); + auto input = NDArrayFactory::create({ N,bS,2 * K }); + auto weights = NDArrayFactory::create({ 2 * K,6 * K }); + auto bias = NDArrayFactory::create({ 4 * K }); + auto init = NDArrayFactory::create({ bS,2 * K }); + auto mask = NDArrayFactory::create({ bS,2 * K }); NDArray state('c', { N,bS,2 * K }, stateBuff); - auto inGradCt = NDArrayFactory::create('c', { bS,2 * K }); - auto inGradH = NDArrayFactory::create('c', { N,bS,2 * K }); + auto inGradCt = NDArrayFactory::create({ bS,2 * K }); + auto inGradH = NDArrayFactory::create({ N,bS,2 * K }); NDArray gradBias('c', { bS,4 * K }, expGradBBuff); NDArray expGradX('c', { N,bS,2 * K }, expGradXBuff); NDArray expGradW('c', { N,2 * K,6 * K }, expGradWBuff); - auto expGradB = NDArrayFactory::create('c', { 4 * K }); + auto expGradB = NDArrayFactory::create({ 4 * K }); gradBias.reduceAlongDimension(reduce::Sum, expGradB, { 0 }); // [bS, 4K] -> [4K] NDArray expGradInit('c', { bS,2 * K }, expGradInitBuff); @@ -2382,9 +2382,9 @@ TEST_F(DeclarableOpsTests1, sru_bi_bp_1) { } TEST_F(DeclarableOpsTests1, ArgMax1) { - auto x = NDArrayFactory::create('c', { 3, 5 }); + auto x = NDArrayFactory::create({ 3, 5 }); x.linspace(1); - auto exp = NDArrayFactory::create('c', { 3 }); + auto exp = NDArrayFactory::create({ 3 }); exp.assign(4); sd::ops::argmax op; @@ -2403,9 +2403,9 @@ TEST_F(DeclarableOpsTests1, ArgMax1) { TEST_F(DeclarableOpsTests1, ArgMax2) { - auto x = NDArrayFactory::create('c', { 3, 5 }); + auto x = NDArrayFactory::create({ 3, 5 }); x.linspace(1); - auto exp = NDArrayFactory::create('c', { 5 }); + auto exp = NDArrayFactory::create({ 5 }); exp.assign(2); sd::ops::argmax op; @@ -2424,10 +2424,10 @@ TEST_F(DeclarableOpsTests1, ArgMax2) { TEST_F(DeclarableOpsTests1, ArgMax3) { - auto x = NDArrayFactory::create('c', { 3, 5 }); - auto dim = NDArrayFactory::create('c', { 1, 1 }, { 0. }); + auto x = NDArrayFactory::create({ 3, 5 }); + auto dim = NDArrayFactory::create({ 1, 1 }, { 0. }); x.linspace(1); - auto exp = NDArrayFactory::create('c', { 5 }); + auto exp = NDArrayFactory::create({ 5 }); exp.assign(2); sd::ops::argmax op; @@ -2445,10 +2445,10 @@ TEST_F(DeclarableOpsTests1, ArgMax3) { } TEST_F(DeclarableOpsTests1, ArgMax4) { - auto x = NDArrayFactory::create('c', { 3, 5 }); - auto dim = NDArrayFactory::create('c', { 1, 1 }, { 1 }); + auto x = NDArrayFactory::create({ 3, 5 }); + auto dim = NDArrayFactory::create({ 1, 1 }, { 1 }); x.linspace(1); - auto exp = NDArrayFactory::create('c', { 3 }); + auto exp = NDArrayFactory::create({ 3 }); exp.assign(4); sd::ops::argmax op; @@ -2467,8 +2467,8 @@ TEST_F(DeclarableOpsTests1, ArgMax4) { TEST_F(DeclarableOpsTests1, ArgMax5) { - auto x = NDArrayFactory::create('c', { 3, 5 }); - auto dim = NDArrayFactory::create('c', { 1, 2 }, { 0, 1 }); + auto x = NDArrayFactory::create({ 3, 5 }); + auto dim = NDArrayFactory::create({ 1, 2 }, { 0, 1 }); x.linspace(1); auto exp = NDArrayFactory::create(14); @@ -2488,7 +2488,7 @@ TEST_F(DeclarableOpsTests1, ArgMax5) { } TEST_F(DeclarableOpsTests1, ArgMax6) { - auto x = NDArrayFactory::create('c', { 3, 4, 5 }); + auto x = NDArrayFactory::create({ 3, 4, 5 }); auto dim = NDArrayFactory::create(-1.f); x.linspace(1); @@ -2510,10 +2510,10 @@ TEST_F(DeclarableOpsTests1, ArgMax6) { TEST_F(DeclarableOpsTests1, ArgMin1) { - auto x = NDArrayFactory::create('c', { 3, 5 }); + auto x = NDArrayFactory::create({ 3, 5 }); x.linspace(1); // auto exp('c', {3, 1}); - auto exp = NDArrayFactory::create('c', { 3 }); + auto exp = NDArrayFactory::create({ 3 }); exp.assign(0.0f); sd::ops::argmin op; @@ -2532,10 +2532,10 @@ TEST_F(DeclarableOpsTests1, ArgMin1) { TEST_F(DeclarableOpsTests1, SquareTests1) { - auto x = NDArrayFactory::create('c', { 3, 5 }); + auto x = NDArrayFactory::create({ 3, 5 }); x.linspace(1); - auto exp = NDArrayFactory::create('c', { 3, 5 }); + auto exp = NDArrayFactory::create({ 3, 5 }); exp.linspace(1); exp *= exp; @@ -2553,9 +2553,9 @@ TEST_F(DeclarableOpsTests1, SquareTests1) { TEST_F(DeclarableOpsTests1, OneHotTests_1) { - auto indices = NDArrayFactory::create('c', { 1, 4 }, { 0.0f, 2.0f, -1.0f, 1.0f }); + auto indices = NDArrayFactory::create({ 1, 4 }, { 0.0f, 2.0f, -1.0f, 1.0f }); - auto exp = NDArrayFactory::create('c', { 1, 4, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f }); + auto exp = NDArrayFactory::create({ 1, 4, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f }); sd::ops::onehot op; @@ -2572,9 +2572,9 @@ TEST_F(DeclarableOpsTests1, OneHotTests_1) { } TEST_F(DeclarableOpsTests1, OneHotTests_2) { - auto indices = NDArrayFactory::create('c', { 2, 2 }, { 0.f, 2.f, 1.f, -1.f }); + auto indices = NDArrayFactory::create({ 2, 2 }, { 0.f, 2.f, 1.f, -1.f }); - auto exp = NDArrayFactory::create('c', { 2, 2, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f }); + auto exp = NDArrayFactory::create({ 2, 2, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f }); sd::ops::onehot op; auto result = op.evaluate({ &indices }, { 1.0f, 0.0f }, { -1, 3 }); @@ -2591,9 +2591,9 @@ TEST_F(DeclarableOpsTests1, OneHotTests_2) { } TEST_F(DeclarableOpsTests1, OneHotTests_3) { - auto indices = NDArrayFactory::create('c', { 4 }, { 0.0f, 2.0f, -1.0f, 1.0f }); + auto indices = NDArrayFactory::create({ 4 }, { 0.0f, 2.0f, -1.0f, 1.0f }); - auto exp = NDArrayFactory::create('c', { 4, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f }); + auto exp = NDArrayFactory::create({ 4, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f }); sd::ops::onehot op; @@ -2611,10 +2611,10 @@ TEST_F(DeclarableOpsTests1, OneHotTests_3) { } TEST_F(DeclarableOpsTests1, OneHotTests_4) { - auto indices = NDArrayFactory::create('c', { 4 }, { 0.0f, 2.0f, -1.0f, 1.0f }); + auto indices = NDArrayFactory::create({ 4 }, { 0.0f, 2.0f, -1.0f, 1.0f }); auto depth = NDArrayFactory::create(3.0f); - auto exp = NDArrayFactory::create('c', { 4, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f }); + auto exp = NDArrayFactory::create({ 4, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f }); sd::ops::onehot op; @@ -2630,12 +2630,12 @@ TEST_F(DeclarableOpsTests1, OneHotTests_4) { } TEST_F(DeclarableOpsTests1, OneHotTests_5) { - auto indices = NDArrayFactory::create('c', { 4 }, { 0.0f, 2.0f, -1.0f, 1.0f }); + auto indices = NDArrayFactory::create({ 4 }, { 0.0f, 2.0f, -1.0f, 1.0f }); auto depth = NDArrayFactory::create(3.0f); auto on = NDArrayFactory::create(1.0f); auto off = NDArrayFactory::create(0.0f); - auto exp = NDArrayFactory::create('c', { 4, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f }); + auto exp = NDArrayFactory::create({ 4, 3 }, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f }); sd::ops::onehot op; @@ -2651,8 +2651,8 @@ TEST_F(DeclarableOpsTests1, OneHotTests_5) { } TEST_F(DeclarableOpsTests1, OneHotTests_6) { - auto indices = NDArrayFactory::create('c', { 3 }, { 0.f, 1.f, 2.f }); - auto e = NDArrayFactory::create('c', { 3, 3 }, { 1.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 1.f }); + auto indices = NDArrayFactory::create({ 3 }, { 0.f, 1.f, 2.f }); + auto e = NDArrayFactory::create({ 3, 3 }, { 1.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 1.f }); sd::ops::onehot op; auto result = op.evaluate({ &indices }, { 1.0, 0.0 }, { 0, 3 }); @@ -2664,8 +2664,8 @@ TEST_F(DeclarableOpsTests1, OneHotTests_6) { } TEST_F(DeclarableOpsTests1, OneHotTests_7) { - auto indices = NDArrayFactory::create('c', { 3 }, { 0, 1, 2 }); - auto e = NDArrayFactory::create('c', { 3, 3 }, { 1., 0., 0., 0., 1., 0., 0., 0., 1. }); + auto indices = NDArrayFactory::create({ 3 }, { 0, 1, 2 }); + auto e = NDArrayFactory::create({ 3, 3 }, { 1., 0., 0., 0., 1., 0., 0., 0., 1. }); sd::ops::onehot op; auto result = op.evaluate({ &indices }, { 1.0, 0.0 }, { 0, 3 }, {}, { sd::DataType::HALF }, false); @@ -2677,7 +2677,7 @@ TEST_F(DeclarableOpsTests1, OneHotTests_7) { } TEST_F(DeclarableOpsTests1, FillAs_1) { - auto x = NDArrayFactory::create('c', { 2, 2 }); + auto x = NDArrayFactory::create({ 2, 2 }); x.assign(117); float scalar = 119.f; @@ -2702,7 +2702,7 @@ TEST_F(DeclarableOpsTests1, LRN1) { } TEST_F(DeclarableOpsTests1, Test_Range_Integer_1) { - auto exp = NDArrayFactory::create('c', { 4 }); + auto exp = NDArrayFactory::create({ 4 }); exp.linspace(1); sd::ops::range op; @@ -2722,12 +2722,12 @@ TEST_F(DeclarableOpsTests1, Test_Range_Integer_1) { TEST_F(DeclarableOpsTests1, Test_Range_Integer_2) { - auto exp = NDArrayFactory::create('c', { 4 }); + auto exp = NDArrayFactory::create({ 4 }); exp.linspace(1); - auto start = NDArrayFactory::create('c', { 1, 1 }); - auto stop = NDArrayFactory::create('c', { 1, 1 }); - auto step = NDArrayFactory::create('c', { 1, 1 }); + auto start = NDArrayFactory::create({ 1, 1 }); + auto stop = NDArrayFactory::create({ 1, 1 }); + auto step = NDArrayFactory::create({ 1, 1 }); start.p(0, 1.f); stop.p(0, 5.f); step.p(0, 1.f); @@ -2749,7 +2749,7 @@ TEST_F(DeclarableOpsTests1, Test_Range_Integer_2) { TEST_F(DeclarableOpsTests1, Test_Range_Integer_3) { - auto exp = NDArrayFactory::create('c', { 4 }); + auto exp = NDArrayFactory::create({ 4 }); exp.linspace(1); sd::ops::range op; @@ -3196,9 +3196,9 @@ TEST_F(DeclarableOpsTests1, Reverse_9) { } TEST_F(DeclarableOpsTests1, Reverse_10) { - auto x = NDArrayFactory::create('c', { 4, 3 }, { 1.5375735, 0.1592365, 0.09966054, 0.677872, 1.144433, -1.0355669, 0.48456487, -0.67863184, 0.85020787, 0.13950661, 0.20998026, -1.1660044 }); - auto i = NDArrayFactory::create('c', { 1 }, { -1 }); - auto e = NDArrayFactory::create('c', { 4, 3 }, { 0.09966054, 0.1592365, 1.5375735, -1.0355669, 1.144433, 0.677872,0.85020787, -0.67863184, 0.48456487, -1.1660044, 0.20998026, 0.13950661 }); + auto x = NDArrayFactory::create({ 4, 3 }, { 1.5375735, 0.1592365, 0.09966054, 0.677872, 1.144433, -1.0355669, 0.48456487, -0.67863184, 0.85020787, 0.13950661, 0.20998026, -1.1660044 }); + auto i = NDArrayFactory::create({ 1 }, { -1 }); + auto e = NDArrayFactory::create({ 4, 3 }, { 0.09966054, 0.1592365, 1.5375735, -1.0355669, 1.144433, 0.677872,0.85020787, -0.67863184, 0.48456487, -1.1660044, 0.20998026, 0.13950661 }); sd::ops::reverse op; auto result = op.evaluate({ &x, &i }, {}, {}, {}); @@ -3215,8 +3215,8 @@ TEST_F(DeclarableOpsTests1, Reverse_10) { TEST_F(DeclarableOpsTests1, Reverse_11) { - auto input = NDArrayFactory::create('c', { 2,3,4 }); - auto expected = NDArrayFactory::create('c', { 2,3,4 }, { 24.f, 23.f, 22.f, 21.f, 20.f, 19.f, 18.f, 17.f, 16.f, + auto input = NDArrayFactory::create({ 2,3,4 }); + auto expected = NDArrayFactory::create({ 2,3,4 }, { 24.f, 23.f, 22.f, 21.f, 20.f, 19.f, 18.f, 17.f, 16.f, 15.f, 14.f, 13.f, 12.f, 11.f, 10.f, 9.f, 8.f, 7.f, 6.f, 5.f, 4.f, 3.f, 2.f, 1.f }); @@ -3238,8 +3238,8 @@ TEST_F(DeclarableOpsTests1, Reverse_11) { TEST_F(DeclarableOpsTests1, Reverse_12) { - auto input = NDArrayFactory::create({ 0.f, 1.f, 2.f, 3.f, 4.f }); - auto expected = NDArrayFactory::create({ 4.f, 3.f, 2.f, 1.f, 0.f }); + auto input = NDArrayFactory::vector({ 0.f, 1.f, 2.f, 3.f, 4.f }); + auto expected = NDArrayFactory::vector({ 4.f, 3.f, 2.f, 1.f, 0.f }); //input.linspace(1); sd::ops::reverse op; @@ -3260,8 +3260,8 @@ TEST_F(DeclarableOpsTests1, Reverse_12) { TEST_F(DeclarableOpsTests1, Reverse_13) { - auto input = NDArrayFactory::create({ 0.f, 1.f, 2.f, 3.f, 4.f }); - auto expected = NDArrayFactory::create({ 4.f, 3.f, 2.f, 1.f, 0.f }); + auto input = NDArrayFactory::vector({ 0.f, 1.f, 2.f, 3.f, 4.f }); + auto expected = NDArrayFactory::vector({ 4.f, 3.f, 2.f, 1.f, 0.f }); //input.linspace(1); sd::ops::reverse op; @@ -3281,8 +3281,8 @@ TEST_F(DeclarableOpsTests1, Reverse_13) { TEST_F(DeclarableOpsTests1, Reverse_14) { - auto input = NDArrayFactory::create({ 0.f, 1.f, 2.f, 3.f, 4.f }); - auto expected = NDArrayFactory::create({ 0.f, 1.f, 2.f, 3.f, 4.f }); + auto input = NDArrayFactory::vector({ 0.f, 1.f, 2.f, 3.f, 4.f }); + auto expected = NDArrayFactory::vector({ 0.f, 1.f, 2.f, 3.f, 4.f }); //input.linspace(1); sd::ops::reverse op; @@ -3299,8 +3299,8 @@ TEST_F(DeclarableOpsTests1, Reverse_14) { } TEST_F(DeclarableOpsTests1, Test_Expose_1) { - auto input0 = NDArrayFactory::create('c', { 2, 3 }, { 1, 2, 3, 6, 5, 4 }); - auto input1 = NDArrayFactory::create('c', { 2, 3 }, { 3, 2, 1, 4, 5, 6 }); + auto input0 = NDArrayFactory::create({ 2, 3 }, { 1, 2, 3, 6, 5, 4 }); + auto input1 = NDArrayFactory::create({ 2, 3 }, { 3, 2, 1, 4, 5, 6 }); sd::ops::expose op; @@ -3343,10 +3343,9 @@ TEST_F(DeclarableOpsTests1, Test_Expose_2) { auto list1 = var1->getNDArrayList(); ASSERT_TRUE(list == list1); - } TEST_F(DeclarableOpsTests1, Test_Release) { - auto x = NDArrayFactory::create('c', { 8, 8 }); + auto x = NDArrayFactory::create({ 8, 8 }); // x.printShapeInfo("x shape"); } From b2cd6e7b4715606ba9049335347e05377a1b11e1 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 16 Jun 2020 10:35:16 +0300 Subject: [PATCH 45/99] Fixed factory create usage with tenth test file. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests10.cpp | 580 +++++++++--------- 1 file changed, 290 insertions(+), 290 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp index 2ffc2c22d39a..fb404eb8835c 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp @@ -53,7 +53,7 @@ typedef ::testing::Types TestingTypes; TYPED_TEST_CASE(TypedDeclarableOpsTests10, TestingTypes); TEST_F(DeclarableOpsTests10, Test_ArgMax_1) { - auto x = NDArrayFactory::create('c', {3, 3}); + auto x = NDArrayFactory::create({3, 3}); auto e = NDArrayFactory::create(8); x.linspace(1.0); @@ -70,9 +70,9 @@ TEST_F(DeclarableOpsTests10, Test_ArgMax_1) { } TEST_F(DeclarableOpsTests10, Test_ArgMax_2) { - auto x = NDArrayFactory::create('c', {3, 3}); - auto y = NDArrayFactory::create('c', {1}, {1}); - auto e = NDArrayFactory::create('c', {3}, {2, 2, 2}); + auto x = NDArrayFactory::create({3, 3}); + auto y = NDArrayFactory::create({1}, {1}); + auto e = NDArrayFactory::create({3}, {2, 2, 2}); x.linspace(1.0); @@ -89,9 +89,9 @@ TEST_F(DeclarableOpsTests10, Test_ArgMax_2) { } TEST_F(DeclarableOpsTests10, Test_And_1) { - auto x = NDArrayFactory::create('c', {4}, {1, 1, 0, 1}); - auto y = NDArrayFactory::create('c', {4}, {0, 0, 0, 1}); - auto e = NDArrayFactory::create('c', {4}, {0, 0, 0, 1}); + auto x = NDArrayFactory::create({4}, {1, 1, 0, 1}); + auto y = NDArrayFactory::create({4}, {0, 0, 0, 1}); + auto e = NDArrayFactory::create({4}, {0, 0, 0, 1}); sd::ops::boolean_and op; auto result = op.evaluate({&x, &y}); @@ -101,9 +101,9 @@ TEST_F(DeclarableOpsTests10, Test_And_1) { } TEST_F(DeclarableOpsTests10, Test_Or_1) { - auto x = NDArrayFactory::create('c', {4}, {1, 1, 0, 1}); - auto y = NDArrayFactory::create('c', {4}, {0, 0, 0, 1}); - auto e = NDArrayFactory::create('c', {4}, {1, 1, 0, 1}); + auto x = NDArrayFactory::create({4}, {1, 1, 0, 1}); + auto y = NDArrayFactory::create({4}, {0, 0, 0, 1}); + auto e = NDArrayFactory::create({4}, {1, 1, 0, 1}); sd::ops::boolean_or op; auto result = op.evaluate({&x, &y}); @@ -113,10 +113,10 @@ TEST_F(DeclarableOpsTests10, Test_Or_1) { } TEST_F(DeclarableOpsTests10, Test_Not_1) { - auto x = NDArrayFactory::create('c', {4}, {true, true, false, true}); - auto y = NDArrayFactory::create('c', {4}, {false, false, false, true}); -// auto e = NDArrayFactory::create('c', {4}, {1, 1, 1, 0}); - auto e = NDArrayFactory::create('c', {4}, {false, false, true, false}); + auto x = NDArrayFactory::create({4}, {true, true, false, true}); + auto y = NDArrayFactory::create({4}, {false, false, false, true}); +// auto e = NDArrayFactory::create({4}, {1, 1, 1, 0}); + auto e = NDArrayFactory::create({4}, {false, false, true, false}); sd::ops::boolean_not op; auto result = op.evaluate({&x, &y}); @@ -127,7 +127,7 @@ TEST_F(DeclarableOpsTests10, Test_Not_1) { } TEST_F(DeclarableOpsTests10, Test_Size_at_1) { - auto x = NDArrayFactory::create('c', {10, 20, 30}); + auto x = NDArrayFactory::create({10, 20, 30}); auto e = NDArrayFactory::create(20); sd::ops::size_at op; @@ -141,12 +141,12 @@ TEST_F(DeclarableOpsTests10, Test_Size_at_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, MirrorPad_SGO_Test_1) { - auto in = NDArrayFactory::create({1., 2., 3., 4., 5.}); + auto in = NDArrayFactory::vector({1., 2., 3., 4., 5.}); // auto pad('c', {1, 2}, {1., 1.});// = Nd4j.create(new double[]{1, 1}, new long[]{1, 2}); - auto pad = NDArrayFactory::create('c', {1, 2}, {1, 1}); + auto pad = NDArrayFactory::create({1, 2}, {1, 1}); // auto value(10.0); - auto exp = NDArrayFactory::create({2., 1., 2., 3., 4., 5., 4.}); + auto exp = NDArrayFactory::vector({2., 1., 2., 3., 4., 5., 4.}); sd::ops::mirror_pad op; @@ -158,9 +158,9 @@ TEST_F(DeclarableOpsTests10, MirrorPad_SGO_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Unique_SGO_Test_1) { - auto input = NDArrayFactory::create({3., 4., 3., 1., 3., 0., 2., 4., 2., 4.}); - auto expIdx = NDArrayFactory::create({0, 1, 0, 2, 0, 3, 4, 1, 4, 1}); - auto exp = NDArrayFactory::create({3., 4., 1., 0., 2.}); + auto input = NDArrayFactory::vector({3., 4., 3., 1., 3., 0., 2., 4., 2., 4.}); + auto expIdx = NDArrayFactory::vector({0, 1, 0, 2, 0, 3, 4, 1, 4, 1}); + auto exp = NDArrayFactory::vector({3., 4., 1., 0., 2.}); sd::ops::unique op; auto res = op.evaluate({&input}, {}, {}); @@ -175,9 +175,9 @@ TEST_F(DeclarableOpsTests10, Unique_SGO_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Where_SGO_Test_1) { - auto input = NDArrayFactory::create('c', {3, 3}, {true, false, false, true, true, false, true, true, true}); + auto input = NDArrayFactory::create({3, 3}, {true, false, false, true, true, false, true, true, true}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto exp = NDArrayFactory::create('c', {6, 2}, {0LL, 0LL, 1LL, 0LL, 1LL, 1LL, 2LL, 0LL, 2LL, 1LL, 2LL, 2LL}); + auto exp = NDArrayFactory::create({6, 2}, {0LL, 0LL, 1LL, 0LL, 1LL, 1LL, 2LL, 0LL, 2LL, 1LL, 2LL, 2LL}); sd::ops::Where op; auto res = op.evaluate({&input}, {}, {}); @@ -192,9 +192,9 @@ TEST_F(DeclarableOpsTests10, Where_SGO_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Where_SGO_Test_02) { - auto input = NDArrayFactory::create('c', {2, 2, 2}, {true, false, false, true, true, true, true, false}); + auto input = NDArrayFactory::create({2, 2, 2}, {true, false, false, true, true, true, true, false}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto exp = NDArrayFactory::create('c', {5, 3}, {0LL, 0LL, 0LL, 0LL, 1LL, 1LL, 1LL, 0LL, 0LL, 1LL, 0LL, 1LL, 1LL, 1LL, 0LL}); + auto exp = NDArrayFactory::create({5, 3}, {0LL, 0LL, 0LL, 0LL, 1LL, 1LL, 1LL, 0LL, 0LL, 1LL, 0LL, 1LL, 1LL, 1LL, 0LL}); sd::ops::Where op; auto res = op.evaluate({&input}, {}, {}); @@ -209,7 +209,7 @@ TEST_F(DeclarableOpsTests10, Where_SGO_Test_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_1) { - auto cond3d = NDArrayFactory::create('c', {2, 2, 2}, {true, false, false, true, true, true, true, false}); + auto cond3d = NDArrayFactory::create({2, 2, 2}, {true, false, false, true, true, true, true, false}); // auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); auto exp1 = NDArrayFactory::create({0, 0, 1, 1, 1}); auto exp2 = NDArrayFactory::create({0, 1, 0, 0, 1}); @@ -233,7 +233,7 @@ TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_2) { - auto cond2d = NDArrayFactory::create('c', {3, 5}, {true, true, false, false, true, true, true, + auto cond2d = NDArrayFactory::create({3, 5}, {true, true, false, false, true, true, true, true, true, true, false, true, true, true, true}); // auto expIdx({0, 1, 0, 2, 0, 3, 4, 1, 4, 1}); auto exp1 = NDArrayFactory::create({0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2}); @@ -252,7 +252,7 @@ TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_2) { TEST_F(DeclarableOpsTests10, Where_SGO_Test_2) { auto input = NDArrayFactory::create({true, false, true, true, true}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto exp = NDArrayFactory::create('c', {4,1}, {0, 2, 3, 4}); + auto exp = NDArrayFactory::create({4,1}, {0, 2, 3, 4}); sd::ops::Where op; auto res = op.evaluate({&input}); @@ -268,9 +268,9 @@ TEST_F(DeclarableOpsTests10, Where_SGO_Test_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Where_SGO_Test_3) { - auto input = NDArrayFactory::create('c', {5, 1}, {true, false, true, true, true}); + auto input = NDArrayFactory::create({5, 1}, {true, false, true, true, true}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto exp = NDArrayFactory::create('c', {4, 2}, {0, 0, 2, 0, 3, 0, 4, 0}); + auto exp = NDArrayFactory::create({4, 2}, {0, 0, 2, 0, 3, 0, 4, 0}); sd::ops::Where op; auto res = op.evaluate({&input}, {}, {}); @@ -286,9 +286,9 @@ TEST_F(DeclarableOpsTests10, Where_SGO_Test_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Where_SGO_Test_4) { - auto input = NDArrayFactory::create('c', {5, 1}, {false, false, false, false, false}); + auto input = NDArrayFactory::create({5, 1}, {false, false, false, false, false}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto exp = NDArrayFactory::create('c', {4, 2}, {0, 0, 2, 0, 3, 0, 4, 0}); + auto exp = NDArrayFactory::create({4, 2}, {0, 0, 2, 0, 3, 0, 4, 0}); sd::ops::Where op; auto res = op.evaluate({&input}, {}, {}); @@ -305,9 +305,9 @@ TEST_F(DeclarableOpsTests10, Where_SGO_Test_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Where_SGO_Test_5) { - auto input = NDArrayFactory::create('c', {5}, {1, 0, 0, 2, 3}); + auto input = NDArrayFactory::create({5}, {1, 0, 0, 2, 3}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto exp = NDArrayFactory::create('c', {3, 1}, {0, 3, 4}); + auto exp = NDArrayFactory::create({3, 1}, {0, 3, 4}); sd::ops::Where op; auto res = op.evaluate({&input}, {}, {}); @@ -323,9 +323,9 @@ TEST_F(DeclarableOpsTests10, Where_SGO_Test_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_4) { - auto input = NDArrayFactory::create('c', {5, 1}, {false, false, false, false, false}); + auto input = NDArrayFactory::create({5, 1}, {false, false, false, false, false}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto exp = NDArrayFactory::create('c', {4, 2}, {0, 0, 2, 0, 3, 0, 4, 0}); + auto exp = NDArrayFactory::create({4, 2}, {0, 0, 2, 0, 3, 0, 4, 0}); sd::ops::where_np op; auto res = op.evaluate({&input}, {}, {}); @@ -342,10 +342,10 @@ TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, CosineDistance_SGO_Test_1) { - auto labels = NDArrayFactory::create('c', {2, 3}, {1.0, 2.0, 3.0, -1.0, 2.0, 1.0}); + auto labels = NDArrayFactory::create({2, 3}, {1.0, 2.0, 3.0, -1.0, 2.0, 1.0}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto predictions = NDArrayFactory::create('c', {2, 3}, {-0.3, -0.2, -0.1, 0, 0.1, 0.2}); - auto weights = NDArrayFactory::create('c', {2, 1}, {0., 1.}); + auto predictions = NDArrayFactory::create({2, 3}, {-0.3, -0.2, -0.1, 0, 0.1, 0.2}); + auto weights = NDArrayFactory::create({2, 1}, {0., 1.}); auto exp = NDArrayFactory::create(0.6); sd::ops::cosine_distance_loss op; @@ -359,10 +359,10 @@ TEST_F(DeclarableOpsTests10, CosineDistance_SGO_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, CosineDistance_SGO_Test_2) { - auto labels = NDArrayFactory::create('c', {2, 3}, {1.0, 2.0, 3.0, -1.0, 2.0, 1.0}); + auto labels = NDArrayFactory::create({2, 3}, {1.0, 2.0, 3.0, -1.0, 2.0, 1.0}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto predictions = NDArrayFactory::create('c', {2, 3}, {-0.3, -0.2, -0.1, 0, 0.1, 0.2}); - auto weights = NDArrayFactory::create('c', {2, 1}, {0., 1.}); + auto predictions = NDArrayFactory::create({2, 3}, {-0.3, -0.2, -0.1, 0, 0.1, 0.2}); + auto weights = NDArrayFactory::create({2, 1}, {0., 1.}); auto exp = NDArrayFactory::create(0.6); sd::ops::cosine_distance_loss op; @@ -377,9 +377,9 @@ TEST_F(DeclarableOpsTests10, CosineDistance_SGO_Test_2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, TestMarixBandPart_Test_1) { - auto x = NDArrayFactory::create('c', {2, 3, 3}); + auto x = NDArrayFactory::create({2, 3, 3}); - auto exp = NDArrayFactory::create('c', {2, 3, 3}); + auto exp = NDArrayFactory::create({2, 3, 3}); x.linspace(1); exp.linspace(1); exp.p(0, 0, 2, 0.); @@ -399,10 +399,10 @@ TEST_F(DeclarableOpsTests10, TestMarixBandPart_Test_1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, TestMarixBandPart_Test_2) { - auto x = NDArrayFactory::create('c', {2, 3, 3}); + auto x = NDArrayFactory::create({2, 3, 3}); auto minD = NDArrayFactory::create(1); auto maxD = NDArrayFactory::create(1); - auto exp = NDArrayFactory::create('c', {2, 3, 3}); + auto exp = NDArrayFactory::create({2, 3, 3}); x.linspace(1); exp.linspace(1); exp.p(0, 0, 2, 0.); @@ -422,10 +422,10 @@ TEST_F(DeclarableOpsTests10, TestMarixBandPart_Test_2) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, atan2_test1) { - auto y = NDArrayFactory::create('c', {2, 3, 4}, {-1.001 ,-0.915 ,-0.829 ,-0.743 ,-0.657 ,-0.571 ,-0.485 ,-0.399 ,-0.313 ,-0.227 ,-0.141 ,-0.055 ,0.031 ,0.117 ,0.203 ,0.289 ,0.375 ,0.461 ,0.547 ,0.633 ,0.719 ,0.805 ,0.891 ,0.977}); - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-0.51, -0.46, -0.41, -0.36, -0.31, -0.26, -0.21, -0.16, -0.11, -0.06, -0.01, 0.04, 0.09, 0.14, 0.19, 0.24, 0.29, 0.34, 0.39, 0.44, 0.49, 0.54, 0.59, 0.61}); + auto y = NDArrayFactory::create({2, 3, 4}, {-1.001 ,-0.915 ,-0.829 ,-0.743 ,-0.657 ,-0.571 ,-0.485 ,-0.399 ,-0.313 ,-0.227 ,-0.141 ,-0.055 ,0.031 ,0.117 ,0.203 ,0.289 ,0.375 ,0.461 ,0.547 ,0.633 ,0.719 ,0.805 ,0.891 ,0.977}); + auto x = NDArrayFactory::create({2, 3, 4}, {-0.51, -0.46, -0.41, -0.36, -0.31, -0.26, -0.21, -0.16, -0.11, -0.06, -0.01, 0.04, 0.09, 0.14, 0.19, 0.24, 0.29, 0.34, 0.39, 0.44, 0.49, 0.54, 0.59, 0.61}); - auto exp = NDArrayFactory::create('c', {2,3,4}, {-2.04201, -2.03663, -2.03009, -2.02199,-2.01166, -1.99808, -1.97941, -1.95217,-1.90875, -1.8292 , -1.6416 , -0.942 , + auto exp = NDArrayFactory::create({2,3,4}, {-2.04201, -2.03663, -2.03009, -2.02199,-2.01166, -1.99808, -1.97941, -1.95217,-1.90875, -1.8292 , -1.6416 , -0.942 , 0.33172, 0.69614, 0.81846, 0.87776, 0.91253, 0.93533, 0.95141, 0.96336, 0.97259, 0.97993, 0.98591, 1.01266,}); sd::ops::tf_atan2 op; @@ -440,10 +440,10 @@ TEST_F(DeclarableOpsTests10, atan2_test1) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, atan2_test2) { - auto y = NDArrayFactory::create('c', {2, 3, 4}, {-1.001 ,-0.915 ,-0.829 ,-0.743 ,-0.657 ,-0.571 ,-0.485 ,-0.399 ,-0.313 ,-0.227 ,-0.141 ,-0.055 ,0.031 ,0.117 ,0.203 ,0.289 ,0.375 ,0.461 ,0.547 ,0.633 ,0.719 ,0.805 ,0.891 ,0.977}); - auto x = NDArrayFactory::create('c', { 3, 4}, {-1.05, -0.82, -0.639, -0.458, -0.277, -0.096, 0.085, 0.266, 0.447, 0.628, 0.809, 0.99}); + auto y = NDArrayFactory::create({2, 3, 4}, {-1.001 ,-0.915 ,-0.829 ,-0.743 ,-0.657 ,-0.571 ,-0.485 ,-0.399 ,-0.313 ,-0.227 ,-0.141 ,-0.055 ,0.031 ,0.117 ,0.203 ,0.289 ,0.375 ,0.461 ,0.547 ,0.633 ,0.719 ,0.805 ,0.891 ,0.977}); + auto x = NDArrayFactory::create({ 3, 4}, {-1.05, -0.82, -0.639, -0.458, -0.277, -0.096, 0.085, 0.266, 0.447, 0.628, 0.809, 0.99}); - auto exp = NDArrayFactory::create('c', {2,3,4}, {-2.38008, -2.30149, -2.22748, -2.1232 ,-1.96979, -1.73736, -1.3973 , -0.98279,-0.61088, -0.34685, -0.17256, -0.0555 , + auto exp = NDArrayFactory::create({2,3,4}, {-2.38008, -2.30149, -2.22748, -2.1232 ,-1.96979, -1.73736, -1.3973 , -0.98279,-0.61088, -0.34685, -0.17256, -0.0555 , 3.11208, 2.99987, 2.83399, 2.57869, 2.207 , 1.77611, 1.41664, 1.17298, 1.01458, 0.90829, 0.8336 , 0.77879}); sd::ops::tf_atan2 op; @@ -461,10 +461,10 @@ TEST_F(DeclarableOpsTests10, atan2_test2) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, atan2_test3) { - auto y = NDArrayFactory::create('c', {2, 3, 4}, {-1.001 ,-0.915 ,-0.829 ,-0.743 ,-0.657 ,-0.571 ,-0.485 ,-0.399 ,-0.313 ,-0.227 ,-0.141 ,-0.055 ,0.031 ,0.117 ,0.203 ,0.289 ,0.375 ,0.461 ,0.547 ,0.633 ,0.719 ,0.805 ,0.891 ,0.977}); - auto x = NDArrayFactory::create('c', { 3, 4}, {-1.05, -0.82, -0.639, -0.458, -0.277, -0.096, 0.085, 0.266, 0.447, 0.628, 0.809, 0.99}); + auto y = NDArrayFactory::create({2, 3, 4}, {-1.001 ,-0.915 ,-0.829 ,-0.743 ,-0.657 ,-0.571 ,-0.485 ,-0.399 ,-0.313 ,-0.227 ,-0.141 ,-0.055 ,0.031 ,0.117 ,0.203 ,0.289 ,0.375 ,0.461 ,0.547 ,0.633 ,0.719 ,0.805 ,0.891 ,0.977}); + auto x = NDArrayFactory::create({ 3, 4}, {-1.05, -0.82, -0.639, -0.458, -0.277, -0.096, 0.085, 0.266, 0.447, 0.628, 0.809, 0.99}); - auto exp = NDArrayFactory::create('c', {2,3,4}, {-2.33231, -2.41089, -2.48491, -2.58919,-2.74259, -2.97502, 2.9681 , 2.55359, 2.18167, 1.91765, 1.74335, 1.62629, + auto exp = NDArrayFactory::create({2,3,4}, {-2.33231, -2.41089, -2.48491, -2.58919,-2.74259, -2.97502, 2.9681 , 2.55359, 2.18167, 1.91765, 1.74335, 1.62629, -1.54128, -1.42907, -1.2632 , -1.00789,-0.63621, -0.20531, 0.15416, 0.39782, 0.55622, 0.6625 , 0.7372 , 0.79201}); sd::ops::tf_atan2 op; @@ -479,10 +479,10 @@ TEST_F(DeclarableOpsTests10, atan2_test3) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, atan2_test4) { - auto y = NDArrayFactory::create('c', {1, 3, 4}, {-1.001 ,-0.829 ,-0.657 ,-0.485 ,-0.313 ,-0.141 ,0.031 ,0.203 ,0.375 ,0.547 ,0.719 ,0.891}); - auto x = NDArrayFactory::create('c', {2, 3, 1}, {-0.82, -0.458, -0.096, 0.085, 0.447, 0.809}); + auto y = NDArrayFactory::create({1, 3, 4}, {-1.001 ,-0.829 ,-0.657 ,-0.485 ,-0.313 ,-0.141 ,0.031 ,0.203 ,0.375 ,0.547 ,0.719 ,0.891}); + auto x = NDArrayFactory::create({2, 3, 1}, {-0.82, -0.458, -0.096, 0.085, 0.447, 0.809}); - auto exp = NDArrayFactory::create('c', {2,3,4}, {-2.45527, -2.36165, -2.24628, -2.10492,-2.1703 , -1.86945, -1.50321, -1.15359,-0.25062, -0.17373, -0.13273, -0.10733, + auto exp = NDArrayFactory::create({2,3,4}, {-2.45527, -2.36165, -2.24628, -2.10492,-2.1703 , -1.86945, -1.50321, -1.15359,-0.25062, -0.17373, -0.13273, -0.10733, 3.05688, 3.03942, 3.01293, 2.9681 , 2.18167, 1.87635, 1.50156, 1.14451, 1.13674, 0.97626, 0.84423, 0.7372 }); sd::ops::tf_atan2 op; @@ -497,10 +497,10 @@ TEST_F(DeclarableOpsTests10, atan2_test4) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, atan2_test5) { - auto y = NDArrayFactory::create('c', {1, 3, 4}, {-1.001 ,-0.829 ,-0.657 ,-0.485 ,-0.313 ,-0.141 ,0.031 ,0.203 ,0.375 ,0.547 ,0.719 ,0.891}); - auto x = NDArrayFactory::create('c', {2, 3, 1}, {-0.82, -0.458, -0.096, 0.085, 0.447, 0.809}); + auto y = NDArrayFactory::create({1, 3, 4}, {-1.001 ,-0.829 ,-0.657 ,-0.485 ,-0.313 ,-0.141 ,0.031 ,0.203 ,0.375 ,0.547 ,0.719 ,0.891}); + auto x = NDArrayFactory::create({2, 3, 1}, {-0.82, -0.458, -0.096, 0.085, 0.447, 0.809}); - auto exp = NDArrayFactory::create('c', {2,3,4}, {-2.25712, -2.35074, -2.46611, -2.60747,-2.54209, -2.84294, 3.07401, 2.72438, 1.82141, 1.74453, 1.70353, 1.67813, + auto exp = NDArrayFactory::create({2,3,4}, {-2.25712, -2.35074, -2.46611, -2.60747,-2.54209, -2.84294, 3.07401, 2.72438, 1.82141, 1.74453, 1.70353, 1.67813, -1.48608, -1.46862, -1.44214, -1.3973 ,-0.61088, -0.30556, 0.06924, 0.42629, 0.43405, 0.59453, 0.72657, 0.8336 }); sd::ops::tf_atan2 op; @@ -515,10 +515,10 @@ TEST_F(DeclarableOpsTests10, atan2_test5) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, atan2_test6) { - auto y = NDArrayFactory::create('c', {1, 3, 4}, {-1.001 ,-0.829 ,-0.657 ,-0.485 ,-0.313 ,-0.141 ,0.031 ,0.203 ,0.375 ,0.547 ,0.719 ,0.891}); - auto x = NDArrayFactory::create('c', { 4}, {-0.82, -0.096, 0.085, 0.809}); + auto y = NDArrayFactory::create({1, 3, 4}, {-1.001 ,-0.829 ,-0.657 ,-0.485 ,-0.313 ,-0.141 ,0.031 ,0.203 ,0.375 ,0.547 ,0.719 ,0.891}); + auto x = NDArrayFactory::create({ 4}, {-0.82, -0.096, 0.085, 0.809}); - auto exp = NDArrayFactory::create('c', {1,3,4}, {-2.25712, -1.68608, -1.44214, -0.54006,-2.77695, -2.16855, 0.34972, 0.24585, 2.71267, 1.74453, 1.45312, 0.8336 }); + auto exp = NDArrayFactory::create({1,3,4}, {-2.25712, -1.68608, -1.44214, -0.54006,-2.77695, -2.16855, 0.34972, 0.24585, 2.71267, 1.74453, 1.45312, 0.8336 }); sd::ops::tf_atan2 op; auto result = op.evaluate({&y, &x}, {}, {}, {}); @@ -532,10 +532,10 @@ TEST_F(DeclarableOpsTests10, atan2_test6) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, IGamma_Test1) { - auto y = NDArrayFactory::create('c', {1, 3, 4}, {1.1 , 2.1 , 3.1 ,4.1 , 5.1 , 6.1 ,7.1 ,8.1 ,9.1 ,10.1,11.1 ,12.1}); - auto x = NDArrayFactory::create('c', { 4}, {1.2, 2.2, 3.2, 4.2}); + auto y = NDArrayFactory::create({1, 3, 4}, {1.1 , 2.1 , 3.1 ,4.1 , 5.1 , 6.1 ,7.1 ,8.1 ,9.1 ,10.1,11.1 ,12.1}); + auto x = NDArrayFactory::create({ 4}, {1.2, 2.2, 3.2, 4.2}); - auto exp = NDArrayFactory::create('c', {1,3,4}, { + auto exp = NDArrayFactory::create({1,3,4}, { 0.659917, 0.61757898, 0.59726304, 0.58478117, 0.0066205109, 0.022211598, 0.040677428, 0.059117373, 0.0000039433403, 0.000086064574, 0.000436067, 0.0012273735}); @@ -553,10 +553,10 @@ TEST_F(DeclarableOpsTests10, IGamma_Test1) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, IGamma_Test2) { - auto y = NDArrayFactory::create('c', {1, 3, 4}, {1.1 , 2.1 , 3.1 ,4.1 , 5.1 , 6.1 , + auto y = NDArrayFactory::create({1, 3, 4}, {1.1 , 2.1 , 3.1 ,4.1 , 5.1 , 6.1 , 7.1 ,8.1 ,9.1 ,10.1,11.1 ,12.1}); - auto x = NDArrayFactory::create('c', { 4}, {1.2, 2.2, 3.2, 4.2}); - auto exp = NDArrayFactory::create('c', {1,3,4}, {0.340083, 0.382421, 0.402737, 0.415221, + auto x = NDArrayFactory::create({ 4}, {1.2, 2.2, 3.2, 4.2}); + auto exp = NDArrayFactory::create({1,3,4}, {0.340083, 0.382421, 0.402737, 0.415221, 0.993379, 0.977788, 0.959323, 0.940883, 0.999996, 0.999914, 0.999564, 0.998773}); @@ -573,9 +573,9 @@ TEST_F(DeclarableOpsTests10, IGamma_Test2) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, LGamma_Test1) { - auto x = NDArrayFactory::create('c', {3, 3}, {0.1, 0.5, 0.7, 1.5, 1.7, 2.0, 2.5, 2.7, 3.}); + auto x = NDArrayFactory::create({3, 3}, {0.1, 0.5, 0.7, 1.5, 1.7, 2.0, 2.5, 2.7, 3.}); - auto exp = NDArrayFactory::create('c', {3,3}, { + auto exp = NDArrayFactory::create({3,3}, { 2.2527127 , 0.5723649 , 0.26086727, -0.12078223, -0.09580769, 0., 0.28468287, 0.4348206 , 0.6931472 @@ -596,9 +596,9 @@ TEST_F(DeclarableOpsTests10, LGamma_Test1) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, range_test10) { - auto limit = NDArrayFactory::create('c', {1, 3, 4}); + auto limit = NDArrayFactory::create({1, 3, 4}); limit = 5.; - auto exp = NDArrayFactory::create('c', {5}, {0.,1.,2.,3.,4.}); + auto exp = NDArrayFactory::create({5}, {0.,1.,2.,3.,4.}); sd::ops::range op; auto result = op.evaluate({&limit}, {}, {}, {}); @@ -614,11 +614,11 @@ TEST_F(DeclarableOpsTests10, range_test10) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, range_test11) { - auto limit = NDArrayFactory::create('c', {1, 3, 4}); - auto start = NDArrayFactory::create('c', {2, 4}); + auto limit = NDArrayFactory::create({1, 3, 4}); + auto start = NDArrayFactory::create({2, 4}); limit = 5.; start = 0.5; - auto exp = NDArrayFactory::create('c', {5}, {0.5,1.5,2.5,3.5,4.5}); + auto exp = NDArrayFactory::create({5}, {0.5,1.5,2.5,3.5,4.5}); sd::ops::range op; auto result = op.evaluate({&start, &limit}, {}, {}, {}); @@ -634,7 +634,7 @@ TEST_F(DeclarableOpsTests10, range_test11) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, range_test12) { - auto exp = NDArrayFactory::create('c', {9}, {0.5f, 1.f , 1.5f, 2.f , 2.5f, 3.f , 3.5f, 4.f , 4.5f}); + auto exp = NDArrayFactory::create({9}, {0.5f, 1.f , 1.5f, 2.f , 2.5f, 3.f , 3.5f, 4.f , 4.5f}); sd::ops::range op; auto result = op.evaluate({}, {0.5, 5, 0.5}, {}, {}); @@ -650,9 +650,9 @@ TEST_F(DeclarableOpsTests10, range_test12) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, top_k_permuted_test1) { - auto x = NDArrayFactory::create({7., 3., 1., 2., 5., 0., 4., 6., 9., 8.}); - auto expUnsorted = NDArrayFactory::create({7., 6., 9., 8.}); // Sorted = False - auto expSorted = NDArrayFactory::create({9., 8., 7., 6., 5.}); // Sorted = False + auto x = NDArrayFactory::vector({7., 3., 1., 2., 5., 0., 4., 6., 9., 8.}); + auto expUnsorted = NDArrayFactory::vector({7., 6., 9., 8.}); // Sorted = False + auto expSorted = NDArrayFactory::vector({9., 8., 7., 6., 5.}); // Sorted = False sd::ops::top_k op; @@ -680,9 +680,9 @@ TEST_F(DeclarableOpsTests10, top_k_permuted_test1) { ////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, top_k_permuted_test2) { - auto x = NDArrayFactory::create({7., 3., 1., 2., 5., 0., 4., 6., 9., 8.}); - auto expUnsorted = NDArrayFactory::create({7., 5., 6., 9., 8.}); // Sorted = False - auto expSorted = NDArrayFactory::create({9., 8., 7., 6., 5.}); // Sorted = False + auto x = NDArrayFactory::vector({7., 3., 1., 2., 5., 0., 4., 6., 9., 8.}); + auto expUnsorted = NDArrayFactory::vector({7., 5., 6., 9., 8.}); // Sorted = False + auto expSorted = NDArrayFactory::vector({9., 8., 7., 6., 5.}); // Sorted = False sd::ops::top_k op; @@ -710,9 +710,9 @@ TEST_F(DeclarableOpsTests10, top_k_permuted_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, sparse_softmax_cross_entropy_loss_with_logits_test1) { - auto labels = NDArrayFactory::create('c', {2,3},{3, 2, 1, 0, 1, 2}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3}, {1.24254, 1.34254, 1.44254, 1.54254, 1.44254, 1.34254}); + auto labels = NDArrayFactory::create({2,3},{3, 2, 1, 0, 1, 2}); + auto logits = NDArrayFactory::create({2,3,4}); + auto expected = NDArrayFactory::create({2,3}, {1.24254, 1.34254, 1.44254, 1.54254, 1.44254, 1.34254}); logits.linspace(0.1, 0.1); @@ -730,9 +730,9 @@ TEST_F(DeclarableOpsTests10, sparse_softmax_cross_entropy_loss_with_logits_test1 /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, sparse_softmax_cross_entropy_loss_with_logits_test2) { - auto labels = NDArrayFactory::create('c', {2},{1, 0}); - auto logits = NDArrayFactory::create('c', {2,3}); - auto expected = NDArrayFactory::create('c', {2}, {1.10194, 1.20194}); + auto labels = NDArrayFactory::create({2},{1, 0}); + auto logits = NDArrayFactory::create({2,3}); + auto expected = NDArrayFactory::create({2}, {1.10194, 1.20194}); logits.linspace(0.1, 0.1); @@ -751,8 +751,8 @@ TEST_F(DeclarableOpsTests10, sparse_softmax_cross_entropy_loss_with_logits_test2 TEST_F(DeclarableOpsTests10, sparse_softmax_cross_entropy_loss_with_logits_test3) { NDArray labels('c', {1}, std::vector{0}, sd::DataType::INT32); - auto logits = NDArrayFactory::create('c', {1,3}); - auto expected = NDArrayFactory::create('c', {1}, {1.20194}); + auto logits = NDArrayFactory::create({1,3}); + auto expected = NDArrayFactory::create({1}, {1.20194}); logits.linspace(0.1, 0.1); @@ -770,9 +770,9 @@ TEST_F(DeclarableOpsTests10, sparse_softmax_cross_entropy_loss_with_logits_test3 /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, sparse_softmax_cross_entropy_loss_with_logits_test4) { - auto labels = NDArrayFactory::create('c', {2},{0, 0}); - auto logits = NDArrayFactory::create('c', {2,1}); - auto expected = NDArrayFactory::create('c', {2}, {0., 0.}); + auto labels = NDArrayFactory::create({2},{0, 0}); + auto logits = NDArrayFactory::create({2,1}); + auto expected = NDArrayFactory::create({2}, {0., 0.}); logits.linspace(0.1, 0.1); @@ -790,9 +790,9 @@ TEST_F(DeclarableOpsTests10, sparse_softmax_cross_entropy_loss_with_logits_test4 /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, histogram_fixed_width_test1) { - auto input = NDArrayFactory::create('c', {2,3},{-1.f, 0.f, 1.5f, 2.f, 5.f, 15.f}); - auto range = NDArrayFactory::create('c', {2}, {0, 5}); - auto exp = NDArrayFactory::create('c', {5}, {2, 1, 1, 0, 2}); + auto input = NDArrayFactory::create({2,3},{-1.f, 0.f, 1.5f, 2.f, 5.f, 15.f}); + auto range = NDArrayFactory::create({2}, {0, 5}); + auto exp = NDArrayFactory::create({5}, {2, 1, 1, 0, 2}); sd::ops::histogram_fixed_width op; auto results = op.evaluate({&input, &range}, {}, {5}, {}); @@ -808,9 +808,9 @@ TEST_F(DeclarableOpsTests10, histogram_fixed_width_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, histogram_fixed_width_test2) { - auto input = NDArrayFactory::create('c', {2,3,4},{0.f, 5.f, 2.f, 1.f, -1.f, 2.f, 5.f, 3.f, 2.f, 3.f, -1.f, 5.f, 3.f, 2.f, 1.f, 4.f, 2.f, 5.f, 5.f, 5.f, 6.f, 6.f, -1.f, 0.f}); - auto range = NDArrayFactory::create('c', {2}, {0, 5}); - auto exp = NDArrayFactory::create('c', {5}, {5, 2, 5, 3, 9}); + auto input = NDArrayFactory::create({2,3,4},{0.f, 5.f, 2.f, 1.f, -1.f, 2.f, 5.f, 3.f, 2.f, 3.f, -1.f, 5.f, 3.f, 2.f, 1.f, 4.f, 2.f, 5.f, 5.f, 5.f, 6.f, 6.f, -1.f, 0.f}); + auto range = NDArrayFactory::create({2}, {0, 5}); + auto exp = NDArrayFactory::create({5}, {5, 2, 5, 3, 9}); sd::ops::histogram_fixed_width op; auto results = op.evaluate({&input, &range}, {}, {5}, {}); @@ -826,9 +826,9 @@ TEST_F(DeclarableOpsTests10, histogram_fixed_width_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, histogram_fixed_width_test3) { - auto input = NDArrayFactory::create('c', {2,3,1,4,1},{0.f, 5.f, 2.001f, 1.f, -1.f, 2.f, 5.f, 3.f, 2.999f, 3.00001f, -1.f, 3.99999f, 3.f, 2.f, 1.f, 4.f, 2.f, 5.f, 5.f, 5.f, 6.f, 6.f, -1.f, 0.00001f}); - auto range = NDArrayFactory::create('c', {1,2,1}, {0, 5}); - auto exp = NDArrayFactory::create('c', {5}, {5, 2, 5, 4, 8}); + auto input = NDArrayFactory::create({2,3,1,4,1},{0.f, 5.f, 2.001f, 1.f, -1.f, 2.f, 5.f, 3.f, 2.999f, 3.00001f, -1.f, 3.99999f, 3.f, 2.f, 1.f, 4.f, 2.f, 5.f, 5.f, 5.f, 6.f, 6.f, -1.f, 0.00001f}); + auto range = NDArrayFactory::create({1,2,1}, {0, 5}); + auto exp = NDArrayFactory::create({5}, {5, 2, 5, 4, 8}); sd::ops::histogram_fixed_width op; auto results = op.evaluate({&input, &range}, {}, {5}, {}); @@ -844,14 +844,14 @@ TEST_F(DeclarableOpsTests10, histogram_fixed_width_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, histogram_fixed_width_test4) { - auto input = NDArrayFactory::create('c', {20,5},{13.8387f,0.1509f,50.39f,30.403f,13.5174f,9.7351f,37.6652f,28.9215f,22.7011f,45.2834f,40.7628f,50.4995f,26.8003f,27.479f,44.633f,6.9109f,48.5004f, + auto input = NDArrayFactory::create({20,5},{13.8387f,0.1509f,50.39f,30.403f,13.5174f,9.7351f,37.6652f,28.9215f,22.7011f,45.2834f,40.7628f,50.4995f,26.8003f,27.479f,44.633f,6.9109f,48.5004f, 46.5971f,1.6203f,23.6381f,38.9661f,50.8146f,17.2482f,8.0429f,7.5666f,7.9709f,21.8403f,20.1694f,23.3004f,50.9151f,46.239f,38.7323f,29.6946f,32.9876f, 23.0013f,39.7318f,19.4486f,37.6147f,-0.1506f,5.3246f,3.6173f,24.2573f,4.3941f,9.7105f,24.0364f,35.3681f,17.7805f,35.7681f,16.4144f,17.4362f,8.4987f, 26.8108f,36.2937f,31.6442f,29.7221f,8.7445f,33.3301f,4.0939f,13.078f,45.1481f,29.0172f,21.6548f,35.408f,27.1861f,2.2576f,40.6804f,36.2201f,29.7352f, 29.1244f,38.7444f,5.8721f,33.5983f,48.2694f,34.4161f,19.7148f,13.8085f,13.6075f,22.5042f,37.8002f,50.0543f,48.5314f,20.3694f,28.5042f,-0.4679f,4.4245f, 18.9837f,40.7724f,2.7611f,44.0431f,37.186f,27.7361f,14.6001f,9.1721f,14.6087f,21.4072f,49.3344f,11.4668f,14.6171f,15.2502f,5.244f}); - auto range = NDArrayFactory::create('c', {1,2}, {0, 50}); - auto exp = NDArrayFactory::create('c', {5}, {22, 17, 24, 19, 18}); + auto range = NDArrayFactory::create({1,2}, {0, 50}); + auto exp = NDArrayFactory::create({5}, {22, 17, 24, 19, 18}); sd::ops::histogram_fixed_width op; auto results = op.evaluate({&input, &range}, {}, {5}, {}); @@ -867,15 +867,15 @@ TEST_F(DeclarableOpsTests10, histogram_fixed_width_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, histogram_fixed_width_test5) { - auto input = NDArrayFactory::create('c', {5,20},{20.f, 0.f, 60.f, 40.f, 20.f, 0.f, 40.f, 0.f, 40.f, 40.f,40.f,60.f, 20.f, 20.f, 60.f, 0.f, 40.f, + auto input = NDArrayFactory::create({5,20},{20.f, 0.f, 60.f, 40.f, 20.f, 0.f, 40.f, 0.f, 40.f, 40.f,40.f,60.f, 20.f, 20.f, 60.f, 0.f, 40.f, 46.5971f,1.6203f,23.6381f,38.9661f,50.8146f,17.2482f,8.0429f,7.5666f,7.9709f,21.8403f,20.1694f,23.3004f,50.9151f,46.239f,38.7323f,29.6946f,32.9876f, 23.0013f,39.7318f,19.4486f,37.6147f,-0.1506f,5.3246f,3.6173f,24.2573f,4.3941f,9.7105f,24.0364f,35.3681f,17.7805f,35.7681f,16.4144f,17.4362f,8.4987f, 26.8108f,36.2937f,31.6442f,29.7221f,8.7445f,33.3301f,4.0939f,13.078f,45.1481f,29.0172f,21.6548f,35.408f,27.1861f,2.2576f,40.6804f,36.2201f,29.7352f, 29.1244f,38.7444f,5.8721f,33.5983f,48.2694f,34.4161f,19.7148f,13.8085f,13.6075f,22.5042f,37.8002f,50.0543f,48.5314f,20.3694f,28.5042f,-0.4679f,4.4245f, 18.9837f,40.7724f,2.7611f,44.0431f,37.186f,27.7361f,14.6001f,9.1721f,14.6087f,21.4072f,49.3344f,11.4668f,14.6171f,15.2502f,5.244f}); - auto range = NDArrayFactory::create('c', {1,2}, {0, 50}); -// auto exp = NDArrayFactory::create('c', {5}, {23, 19, 20, 23, 15}); // 23, 15, 24, 17, 21 - auto exp = NDArrayFactory::create('c', {5}, {23, 15, 24, 17, 21}); + auto range = NDArrayFactory::create({1,2}, {0, 50}); +// auto exp = NDArrayFactory::create({5}, {23, 19, 20, 23, 15}); // 23, 15, 24, 17, 21 + auto exp = NDArrayFactory::create({5}, {23, 15, 24, 17, 21}); sd::ops::histogram_fixed_width op; auto results = op.evaluate({&input, &range}, {}, {5}, {}); @@ -892,11 +892,11 @@ TEST_F(DeclarableOpsTests10, histogram_fixed_width_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, histogram_fixed_width_test6) { - auto input = NDArrayFactory::create('c', {7},{0.0, 0.1, 0.1, 0.3, 0.5, 0.5, 0.9}); - auto range = NDArrayFactory::create('c', {2}, {0, 1}); + auto input = NDArrayFactory::create({7},{0.0, 0.1, 0.1, 0.3, 0.5, 0.5, 0.9}); + auto range = NDArrayFactory::create({2}, {0, 1}); auto bins = NDArrayFactory::create(5); - auto exp = NDArrayFactory::create('c', {5}, {3, 1, 2, 0, 1}); + auto exp = NDArrayFactory::create({5}, {3, 1, 2, 0, 1}); sd::ops::histogram_fixed_width op; auto results = op.evaluate({&input, &range, &bins}, {}, {}, {}); @@ -914,7 +914,7 @@ TEST_F(DeclarableOpsTests10, histogram_fixed_width_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_1) { - NDArray input = NDArrayFactory::create('c', {12}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); + NDArray input = NDArrayFactory::create({12}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); NDArray n = NDArrayFactory::create(4.f); NDArray exp = NDArrayFactory::create(5.f); @@ -934,9 +934,9 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_2) { - NDArray input = NDArrayFactory::create('c', {3, 4}, {10, 11, 9, 12, 8, 7, 6, 5, 1, 3, 2, 4}); + NDArray input = NDArrayFactory::create({3, 4}, {10, 11, 9, 12, 8, 7, 6, 5, 1, 3, 2, 4}); NDArray n = NDArrayFactory::create(3); - NDArray exp = NDArrayFactory::create({12.f, 8.f, 4.f}); + NDArray exp = NDArrayFactory::vector({12.f, 8.f, 4.f}); // input.linspace(1.f); @@ -954,9 +954,9 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_3) { - NDArray input = NDArrayFactory::create('c', {3,4}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); + NDArray input = NDArrayFactory::create({3,4}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); NDArray n = NDArrayFactory::create(3); - NDArray exp = NDArrayFactory::create({1.f, 5.f, 2.f}); + NDArray exp = NDArrayFactory::vector({1.f, 5.f, 2.f}); //input.linspace(1.f); @@ -974,9 +974,9 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_4) { - NDArray input = NDArrayFactory::create('c', {2, 2, 3}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); + NDArray input = NDArrayFactory::create({2, 2, 3}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); NDArray n = NDArrayFactory::create(2); - NDArray exp = NDArrayFactory::create('c', {2,2}, {10.f, 11.f, 12.f, 4.f}); + NDArray exp = NDArrayFactory::create({2,2}, {10.f, 11.f, 12.f, 4.f}); //input.linspace(1.f); @@ -993,9 +993,9 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_04) { - NDArray input = NDArrayFactory::create('c', {6, 15}); + NDArray input = NDArrayFactory::create({6, 15}); NDArray n = NDArrayFactory::create(4); - NDArray exp = NDArrayFactory::create('c', {6}, {5.f, 20.f, 35.f, 50.f, 65.f, 80.f}); + NDArray exp = NDArrayFactory::create({6}, {5.f, 20.f, 35.f, 50.f, 65.f, 80.f}); input.linspace(1.f); @@ -1012,9 +1012,9 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_04) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_5) { - NDArray input = NDArrayFactory::create('c', {2, 2, 3}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); + NDArray input = NDArrayFactory::create({2, 2, 3}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); NDArray n = NDArrayFactory::create(2); - NDArray exp = NDArrayFactory::create('c', {2,2}, {1.f, 7.f, 5.f, 2.f}); + NDArray exp = NDArrayFactory::create({2,2}, {1.f, 7.f, 5.f, 2.f}); // input.linspace(1.f); @@ -1032,9 +1032,9 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_6) { - NDArray input = NDArrayFactory::create('c', {12}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); + NDArray input = NDArrayFactory::create({12}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); NDArray n = NDArrayFactory::create(0); - NDArray exp = NDArrayFactory::create(1.f);//NDArrayFactory::create('c', {2,2}, {1.f, 4.f, 7.f, 10.f}); + NDArray exp = NDArrayFactory::create(1.f);//NDArrayFactory::create({2,2}, {1.f, 4.f, 7.f, 10.f}); // input.linspace(1.f); @@ -1050,9 +1050,9 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_06) { - NDArray input = NDArrayFactory::create('c', {12}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); + NDArray input = NDArrayFactory::create({12}, {10, 1, 9, 8, 11, 7, 6, 5, 12, 3, 2, 4}); NDArray n = NDArrayFactory::create(4); - NDArray exp = NDArrayFactory::create(8.f);//NDArrayFactory::create('c', {2,2}, {1.f, 4.f, 7.f, 10.f}); + NDArray exp = NDArrayFactory::create(8.f);//NDArrayFactory::create({2,2}, {1.f, 4.f, 7.f, 10.f}); // input.linspace(1.f); @@ -1068,7 +1068,7 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_06) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_7) { - NDArray input = NDArrayFactory::create('c', {2, 3, 4}, {0.7788f, 0.8012f, 0.7244f, 0.2309f, + NDArray input = NDArrayFactory::create({2, 3, 4}, {0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, @@ -1076,7 +1076,7 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_7) { 0.1548f, 0.4695f, 0.9939f, 0.6113f, 0.6765f, 0.1800f, 0.6750f, 0.2246f}); NDArray n = NDArrayFactory::create(2); - NDArray exp = NDArrayFactory::create('c', {2,3}, {0.7788f, 0.7271f, 0.7938f, 0.5555f, 0.6113f, 0.675f}); + NDArray exp = NDArrayFactory::create({2,3}, {0.7788f, 0.7271f, 0.7938f, 0.5555f, 0.6113f, 0.675f}); //input.linspace(1.f); @@ -1093,7 +1093,7 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, NTH_Element_Test_8) { - NDArray input = NDArrayFactory::create('c', {2, 3, 4}, {0.7788f, 0.8012f, 0.7244f, 0.2309f, + NDArray input = NDArrayFactory::create({2, 3, 4}, {0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, @@ -1101,7 +1101,7 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_8) { 0.1548f, 0.4695f, 0.9939f, 0.6113f, 0.6765f, 0.1800f, 0.6750f, 0.2246f}); NDArray n = NDArrayFactory::create(2); - NDArray exp = NDArrayFactory::create('c', {2,3}, {0.7244f, 0.5056f, 0.5461f, 0.3087f, 0.4695f, 0.2246f}); + NDArray exp = NDArrayFactory::create({2,3}, {0.7244f, 0.5056f, 0.5461f, 0.3087f, 0.4695f, 0.2246f}); //input.linspace(1.f); @@ -1119,9 +1119,9 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, broadcast_to_test1) { - auto input = NDArrayFactory::create('c', {3}); - auto shape = NDArrayFactory::create('c', {2}, {3, 3}); - auto exp = NDArrayFactory::create('c', {3,3}, {1, 2, 3,1, 2, 3, 1, 2, 3}); + auto input = NDArrayFactory::create({3}); + auto shape = NDArrayFactory::create({2}, {3, 3}); + auto exp = NDArrayFactory::create({3,3}, {1, 2, 3,1, 2, 3, 1, 2, 3}); input.linspace(1.f); @@ -1139,9 +1139,9 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, broadcast_to_test2) { - auto input = NDArrayFactory::create('c', {1,3}); - auto shape = NDArrayFactory::create('c', {2}, {3.f, 3.f}); - auto exp = NDArrayFactory::create('c', {3,3}, {1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f}); + auto input = NDArrayFactory::create({1,3}); + auto shape = NDArrayFactory::create({2}, {3.f, 3.f}); + auto exp = NDArrayFactory::create({3,3}, {1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f}); input.linspace(1.f); @@ -1159,9 +1159,9 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, broadcast_to_test3) { - auto input = NDArrayFactory::create('c', {3,1}); - auto shape = NDArrayFactory::create('c', {2}, {3.f, 3.f}); - auto exp = NDArrayFactory::create('c', {3,3}, {1.f, 1.f, 1.f,2.f, 2.f, 2.f,3.f, 3.f, 3.f}); + auto input = NDArrayFactory::create({3,1}); + auto shape = NDArrayFactory::create({2}, {3.f, 3.f}); + auto exp = NDArrayFactory::create({3,3}, {1.f, 1.f, 1.f,2.f, 2.f, 2.f,3.f, 3.f, 3.f}); input.linspace(1.f); @@ -1180,8 +1180,8 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test3) { TEST_F(DeclarableOpsTests10, broadcast_to_test4) { auto input = NDArrayFactory::create(10.); - auto shape = NDArrayFactory::create('c', {2}, {3.f, 3.f}); - auto exp = NDArrayFactory::create('c', {3,3}, {10.f, 10.f, 10.f,10.f, 10.f, 10.f, 10.f, 10.f, 10.f}); + auto shape = NDArrayFactory::create({2}, {3.f, 3.f}); + auto exp = NDArrayFactory::create({3,3}, {10.f, 10.f, 10.f,10.f, 10.f, 10.f, 10.f, 10.f, 10.f}); sd::ops::broadcast_to op; auto results = op.evaluate({&input, &shape}, {}, {}, {}); @@ -1198,8 +1198,8 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test4) { TEST_F(DeclarableOpsTests10, broadcast_to_test5) { auto input = NDArrayFactory::create(10.f); - auto shape = NDArrayFactory::create('c', {1}, {3.f}); - auto exp = NDArrayFactory::create('c', {3}, {10.f, 10.f, 10.f}); + auto shape = NDArrayFactory::create({1}, {3.f}); + auto exp = NDArrayFactory::create({3}, {10.f, 10.f, 10.f}); sd::ops::broadcast_to op; auto results = op.evaluate({&input, &shape}, {}, {}, {}); @@ -1217,7 +1217,7 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test6) { auto input = NDArrayFactory::create(10.f); auto shape = NDArrayFactory::create(1.f); - auto exp = NDArrayFactory::create('c', {1}, {10.f}); + auto exp = NDArrayFactory::create({1}, {10.f}); sd::ops::broadcast_to op; auto results = op.evaluate({&input, &shape}, {}, {}, {}); @@ -1235,7 +1235,7 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test7) { auto input = NDArrayFactory::create(10.f); auto shape = NDArrayFactory::create(1); - auto exp = NDArrayFactory::create('c', {1}, {10.}); + auto exp = NDArrayFactory::create({1}, {10.}); sd::ops::broadcast_to op; auto results = op.evaluate({&input, &shape}, {}, {}, {}); @@ -1251,9 +1251,9 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, broadcast_to_test8) { - auto input = NDArrayFactory::create('c', {3}); - auto shape = NDArrayFactory::create('c', {3}, {1.f, 3.f, 3.f}); - auto exp = NDArrayFactory::create('c', {1,3,3}, {1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f}); + auto input = NDArrayFactory::create({3}); + auto shape = NDArrayFactory::create({3}, {1.f, 3.f, 3.f}); + auto exp = NDArrayFactory::create({1,3,3}, {1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f}); input.linspace(1.f); @@ -1271,9 +1271,9 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, broadcast_to_test9) { - auto input = NDArrayFactory::create('c', {5,1,1}); - auto shape = NDArrayFactory::create('c', {5}, {2.f,1.f,5.f,1.f,3.f}); - auto exp = NDArrayFactory::create('c', {2,1,5,1,3}, {1.f, 1.f, 1.f,2.f, 2.f, 2.f,3.f, 3.f, 3.f,4.f, 4.f, 4.f,5.f, 5.f, 5.f, + auto input = NDArrayFactory::create({5,1,1}); + auto shape = NDArrayFactory::create({5}, {2.f,1.f,5.f,1.f,3.f}); + auto exp = NDArrayFactory::create({2,1,5,1,3}, {1.f, 1.f, 1.f,2.f, 2.f, 2.f,3.f, 3.f, 3.f,4.f, 4.f, 4.f,5.f, 5.f, 5.f, 1.f, 1.f, 1.f,2.f, 2.f, 2.f,3.f, 3.f, 3.f,4.f, 4.f, 4.f,5.f, 5.f, 5.f}); input.linspace(1.f); @@ -1291,9 +1291,9 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, broadcast_to_test10) { - auto input = NDArrayFactory::create('c', {5,1,3}); - auto shape = NDArrayFactory::create('c', {5}, {2.f,1.f,5.f,1.f,3.f}); - auto exp = NDArrayFactory::create('c', {2,1,5,1,3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f,10.f, 11.f, 12.f,13.f, 14.f, 15.f, + auto input = NDArrayFactory::create({5,1,3}); + auto shape = NDArrayFactory::create({5}, {2.f,1.f,5.f,1.f,3.f}); + auto exp = NDArrayFactory::create({2,1,5,1,3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f,10.f, 11.f, 12.f,13.f, 14.f, 15.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f,10.f, 11.f, 12.f,13.f, 14.f, 15.f}); input.linspace(1.f); @@ -1311,10 +1311,10 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test10) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test1) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}); + NDArray input = NDArrayFactory::create({1, 2, 3, 4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {1, 10, 10, 4}, {1., 2., 3., 4., 2.2, 3.2, 4.2, 5.2, 3.4, 4.4, 5.4, 6.4, + NDArray expected = NDArrayFactory::create({1, 10, 10, 4}, {1., 2., 3., 4., 2.2, 3.2, 4.2, 5.2, 3.4, 4.4, 5.4, 6.4, 4.6, 5.6, 6.6, 7.6, 5.8, 6.8, 7.8, 8.8, 7., 8., 9., 10., 8.2, 9.2, 10.2, 11.2, 9., 10., 11., 12., 9., 10., 11., 12., 9., 10., 11., 12., 3.4, 4.4, 5.4, 6.4, 4.6, 5.6, 6.6, 7.6, @@ -1368,11 +1368,11 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test_11) { - NDArray input = NDArrayFactory::create('c', {1, 1, 1, 256}); + NDArray input = NDArrayFactory::create({1, 1, 1, 256}); input.assign(0.8f); //linspace(1); auto size = NDArrayFactory::create({65,65}); - auto ex = NDArrayFactory::create('c', {1,65,65,256}); + auto ex = NDArrayFactory::create({1,65,65,256}); sd::ops::resize_bilinear op; auto results = op.evaluate({&input, &size}, {}, {}, {false}); @@ -1385,11 +1385,11 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test_11) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test_12) { - NDArray input = NDArrayFactory::create('c', {1, 1, 1, 256}); + NDArray input = NDArrayFactory::create({1, 1, 1, 256}); input.assign(0.8f); //linspace(1); auto size = NDArrayFactory::create({65,65}); - auto ex = NDArrayFactory::create('c', {1,65,65,256}); + auto ex = NDArrayFactory::create({1,65,65,256}); sd::ops::resize_bilinear op; auto results = op.evaluate({&input, &size}, {}, {}, {true}); @@ -1401,10 +1401,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test_12) { TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test1_1) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}); + NDArray input = NDArrayFactory::create({1, 2, 3, 4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {1, 4, 5, 4}, { + NDArray expected = NDArrayFactory::create({1, 4, 5, 4}, { 1., 2., 3., 4., 2.6, 3.6, 4.6, 5.6, 5., 6., 7., 8., @@ -1448,10 +1448,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test1_1) { TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test1_2) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}); + NDArray input = NDArrayFactory::create({1, 2, 3, 4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {1, 4, 5, 4}, { + NDArray expected = NDArrayFactory::create({1, 4, 5, 4}, { 1.f, 2.f, 3.f, 4.f, 2.6f, 3.6f, 4.6f, 5.6f, 5.f, 6.f, 7.f, 8.f, @@ -1495,10 +1495,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test1_2) { TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test01) { - NDArray input = NDArrayFactory::create('c', {2,3,4}); + NDArray input = NDArrayFactory::create({2,3,4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {10, 10, 4}, {1., 2., 3., 4., 2.2, 3.2, 4.2, 5.2, 3.4, 4.4, 5.4, 6.4, + NDArray expected = NDArrayFactory::create({10, 10, 4}, {1., 2., 3., 4., 2.2, 3.2, 4.2, 5.2, 3.4, 4.4, 5.4, 6.4, 4.6, 5.6, 6.6, 7.6, 5.8, 6.8, 7.8, 8.8, 7., 8., 9., 10., 8.2, 9.2, 10.2, 11.2, 9., 10., 11., 12., 9., 10., 11., 12., 9., 10., 11., 12., 3.4, 4.4, 5.4, 6.4, 4.6, 5.6, 6.6, 7.6, @@ -1553,10 +1553,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test01) { TEST_F(DeclarableOpsTests10, ResizeImages_Test1) { - NDArray input = NDArrayFactory::create('c', {2, 4, 5, 3}); + NDArray input = NDArrayFactory::create({2, 4, 5, 3}); input.linspace(1.); - auto expected = NDArrayFactory::create('c', {2, 7, 9, 3}, { + auto expected = NDArrayFactory::create({2, 7, 9, 3}, { 1.f, 2.f, 3.f, 2.6666667f, 3.6666667f, 4.666667f, 4.3333335f, 5.3333335f, 6.3333335f, 6.f, 7.f, 8.f, 7.666667f, 8.666667f, 9.666667f, 9.333334f, 10.333334f, 11.333334f, 11.f, 12.f, 13.f, 12.666667f, 13.666667f, 14.666667f, 13.f, 14.f, 15.f, 9.571429f, 10.571429f, 11.571429f, @@ -1618,7 +1618,7 @@ TEST_F(DeclarableOpsTests10, ResizeImages_Test1) { } TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test02) { - NDArray input = NDArrayFactory::create('c', {2, 5,5,3}, { + NDArray input = NDArrayFactory::create({2, 5,5,3}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, @@ -1670,7 +1670,7 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test02) { 0.4739f, 0.7014f, 0.4473f, 0.5171f, 0.1744f, 0.3487f}); - NDArray expected = NDArrayFactory::create('c', {2, 9, 9, 3}, { + NDArray expected = NDArrayFactory::create({2, 9, 9, 3}, { 0.7788f, 0.8012f, 0.7244f, 0.4744111f, 0.7600333f, 0.42217776f, 0.26142225f, 0.7454778f, 0.22103335f, 0.41403335f, 0.8373667f, 0.42420003f, 0.59844446f, 0.71318877f, 0.6011445f, 0.83055556f, 0.264911f, 0.7387556f, @@ -1774,10 +1774,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test02) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test2) { - NDArray input = NDArrayFactory::create('c', {1, 2,3,4}); + NDArray input = NDArrayFactory::create({1, 2,3,4}); NDArray size = NDArrayFactory::create({10, 10}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {1, 10, 10, 4}, {1., 2., 3., 4., 2.2, 3.2, 4.2, 5.2, 3.4, 4.4, 5.4, 6.4, + NDArray expected = NDArrayFactory::create({1, 10, 10, 4}, {1., 2., 3., 4., 2.2, 3.2, 4.2, 5.2, 3.4, 4.4, 5.4, 6.4, 4.6, 5.6, 6.6, 7.6, 5.8, 6.8, 7.8, 8.8, 7., 8., 9., 10., 8.2, 9.2, 10.2, 11.2, 9., 10., 11., 12., 9., 10., 11., 12., 9., 10., 11., 12., 3.4, 4.4, 5.4, 6.4, 4.6, 5.6, 6.6, 7.6, @@ -1828,10 +1828,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test3) { - NDArray input = NDArrayFactory::create('c', {1, 2,3,4}); + NDArray input = NDArrayFactory::create({1, 2,3,4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {1, 10, 10, 4}, + NDArray expected = NDArrayFactory::create({1, 10, 10, 4}, { 1., 2., 3., 4. , 1.8888888, 2.8888888, 3.8888888, 4.888889, 2.7777777, 3.7777777, 4.7777777, 5.7777777, @@ -1956,9 +1956,9 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test3) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test4) { - NDArray input = NDArrayFactory::create('c', {1, 2,3,4}); + NDArray input = NDArrayFactory::create({1, 2,3,4}); NDArray size = NDArrayFactory::create({10, 10}); - NDArray expected = NDArrayFactory::create('c', {1, 10, 10, 4}, + NDArray expected = NDArrayFactory::create({1, 10, 10, 4}, { 1., 2., 3., 4. , 1.8888888, 2.8888888, 3.8888888, 4.888889, 2.7777777, 3.7777777, 4.7777777, 5.7777777, @@ -2088,7 +2088,7 @@ TEST_F(DeclarableOpsTests10, LinSpace_Test1) { NDArray start = NDArrayFactory::create(1.); NDArray finish = NDArrayFactory::create(12.); NDArray num = NDArrayFactory::create(23); - NDArray expect = NDArrayFactory::create({1., 1.5, 2., 2.5, 3., 3.5, 4., 4.5, 5., 5.5, 6., 6.5, 7., 7.5, + NDArray expect = NDArrayFactory::vector({1., 1.5, 2., 2.5, 3., 3.5, 4., 4.5, 5., 5.5, 6., 6.5, 7., 7.5, 8., 8.5, 9., 9.5, 10., 10.5, 11., 11.5, 12.}); sd::ops::lin_space op; @@ -2102,7 +2102,7 @@ TEST_F(DeclarableOpsTests10, LinSpace_Test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, LinSpace_Test2) { - NDArray expect = NDArrayFactory::create({1., 1.5, 2., 2.5, 3., 3.5, 4., 4.5, 5., 5.5, 6., 6.5, 7., 7.5, + NDArray expect = NDArrayFactory::vector({1., 1.5, 2., 2.5, 3., 3.5, 4., 4.5, 5., 5.5, 6., 6.5, 7., 7.5, 8., 8.5, 9., 9.5, 10., 10.5, 11., 11.5, 12.}); sd::ops::lin_space op; @@ -2130,10 +2130,10 @@ TEST_F(DeclarableOpsTests10, LinSpace_Test3) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ImageResizeNeighbor_Test1) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}); + NDArray input = NDArrayFactory::create({1, 2, 3, 4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {1, 4, 5, 4}, { + NDArray expected = NDArrayFactory::create({1, 4, 5, 4}, { 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, @@ -2176,10 +2176,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeNeighbor_Test1) { TEST_F(DeclarableOpsTests10, ImageResizeNeighbor_Test1_1) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}); + NDArray input = NDArrayFactory::create({1, 2, 3, 4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {1, 4, 5, 4}, { + NDArray expected = NDArrayFactory::create({1, 4, 5, 4}, { 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, @@ -2222,10 +2222,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeNeighbor_Test1_1) { TEST_F(DeclarableOpsTests10, ImageResizeNeighbor_Test1_1_1) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}); + NDArray input = NDArrayFactory::create({1, 2, 3, 4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {1, 4, 5, 4}, { + NDArray expected = NDArrayFactory::create({1, 4, 5, 4}, { 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, @@ -2268,10 +2268,10 @@ TEST_F(DeclarableOpsTests10, ImageResizeNeighbor_Test1_1_1) { TEST_F(DeclarableOpsTests10, ImageResizeNeighbor_Test01) { - NDArray input = NDArrayFactory::create('c', {2, 3, 4}); + NDArray input = NDArrayFactory::create({2, 3, 4}); //NDArray paddings('c', {3,2}, {0,0, 0,1, 0,0}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); - NDArray expected = NDArrayFactory::create('c', {4, 5, 4}, { 1, 2, 3, 4, + NDArray expected = NDArrayFactory::create({4, 5, 4}, { 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 5, 6, 7, 8, @@ -2314,7 +2314,7 @@ TEST_F(DeclarableOpsTests10, ImageResizeNeighbor_Test01) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ReduceLogSumExpTest_1) { - NDArray input = NDArrayFactory::create ('c', {3,3}, {0, 1, 0, 0, 1, 0, 0, 0, 0}); + NDArray input = NDArrayFactory::create ({3,3}, {0, 1, 0, 0, 1, 0, 0, 0, 0}); NDArray expected = NDArrayFactory::create(2.5206409f); @@ -2333,9 +2333,9 @@ TEST_F(DeclarableOpsTests10, ReduceLogSumExpTest_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ReduceLogSumExpTest_2) { - NDArray input = NDArrayFactory::create('c', {3,3}, {0, 1, 0, 0, 1, 0, 0, 0, 0}); + NDArray input = NDArrayFactory::create({3,3}, {0, 1, 0, 0, 1, 0, 0, 0, 0}); - NDArray expected = NDArrayFactory::create({1.0986123f, 1.8619947f, 1.0986123f}); + NDArray expected = NDArrayFactory::vector({1.0986123f, 1.8619947f, 1.0986123f}); sd::ops::reduce_logsumexp op; auto results = op.evaluate({&input}, {}, {0}); @@ -2353,9 +2353,9 @@ TEST_F(DeclarableOpsTests10, ReduceLogSumExpTest_2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, ReduceLogSumExpTest_3) { - NDArray input = NDArrayFactory::create('c', {3,3}, {0, 1, 0, 0, 1, 0, 0, 0, 0}); + NDArray input = NDArrayFactory::create({3,3}, {0, 1, 0, 0, 1, 0, 0, 0, 0}); - NDArray expected = NDArrayFactory::create('c', {1,3}, {1.0986123f, 1.8619947f, 1.0986123f}); + NDArray expected = NDArrayFactory::create({1,3}, {1.0986123f, 1.8619947f, 1.0986123f}); sd::ops::reduce_logsumexp op; auto results = op.evaluate({&input}, {1.f}, {0}); @@ -2371,9 +2371,9 @@ TEST_F(DeclarableOpsTests10, ReduceLogSumExpTest_3) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_1) { - NDArray boxes = NDArrayFactory::create('c', {3,4}); - NDArray scores = NDArrayFactory::create('c', {3}, {1, 2, 3}); - NDArray expected = NDArrayFactory::create('c', {3}, {2, 1, 0}); + NDArray boxes = NDArrayFactory::create({3,4}); + NDArray scores = NDArrayFactory::create({3}, {1, 2, 3}); + NDArray expected = NDArrayFactory::create({3}, {2, 1, 0}); boxes.linspace(1.f); sd::ops::non_max_suppression op; @@ -2393,10 +2393,10 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_2) { - NDArray boxes = NDArrayFactory::create('c', {6,4}, {0, 0, 1, 1, 0, 0.1f, 1, 1.1f, 0, -0.1f, 1.f, 0.9f, + NDArray boxes = NDArrayFactory::create({6,4}, {0, 0, 1, 1, 0, 0.1f, 1, 1.1f, 0, -0.1f, 1.f, 0.9f, 0, 10, 1, 11, 0, 10.1f, 1.f, 11.1f, 0, 100, 1, 101}); - NDArray scales = NDArrayFactory::create('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); //3, 0, 1, 2, 4, 5 - NDArray expected = NDArrayFactory::create('c', {3}, {3,0,5}); + NDArray scales = NDArrayFactory::create({6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); //3, 0, 1, 2, 4, 5 + NDArray expected = NDArrayFactory::create({3}, {3,0,5}); sd::ops::non_max_suppression op; auto results = op.evaluate({&boxes, &scales}, {0.5}, {3}); @@ -2412,11 +2412,11 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_3) { - NDArray boxes = NDArrayFactory::create('c', {3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, + NDArray boxes = NDArrayFactory::create({3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, 0.7412f, 0.7607f, 0.1543f, 0.5479f, 0.8223f, 0.2246f, 0.0049f, 0.6465f}); - NDArray scales = NDArrayFactory::create('c', {3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 - NDArray expected = NDArrayFactory::create('c', {1}, {1}); + NDArray scales = NDArrayFactory::create({3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 + NDArray expected = NDArrayFactory::create({1}, {1}); sd::ops::non_max_suppression op; auto results = op.evaluate({&boxes, &scales}, {0.5, 0.5}, {2}); @@ -2431,11 +2431,11 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_3) { TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_4) { - NDArray boxes = NDArrayFactory::create('c', {3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, + NDArray boxes = NDArrayFactory::create({3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, 0.7412f, 0.7607f, 0.1543f, 0.5479f, 0.8223f, 0.2246f, 0.0049f, 0.6465f}); - NDArray scales = NDArrayFactory::create('c', {3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 - NDArray expected = NDArrayFactory::create('c', {1}, {1}); + NDArray scales = NDArrayFactory::create({3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 + NDArray expected = NDArrayFactory::create({1}, {1}); NDArray maxSize = NDArrayFactory::create(2); NDArray threshold = NDArrayFactory::create(0.5f); NDArray scoreThreshold = NDArrayFactory::create(0.5); @@ -2451,11 +2451,11 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_4) { } TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_5) { - NDArray boxes = NDArrayFactory::create('c', {3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, + NDArray boxes = NDArrayFactory::create({3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, 0.7412f, 0.7607f, 0.1543f, 0.5479f, 0.8223f, 0.2246f, 0.0049f, 0.6465f}); - NDArray scales = NDArrayFactory::create('c', {3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 - NDArray expected = NDArrayFactory::create('c', {2}, {1, 2}); + NDArray scales = NDArrayFactory::create({3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 + NDArray expected = NDArrayFactory::create({2}, {1, 2}); NDArray maxSize = NDArrayFactory::create(2); NDArray threshold = NDArrayFactory::create(0.5f); NDArray scoreThreshold = NDArrayFactory::create(-DataTypeUtils::infOrMax()); @@ -2472,11 +2472,11 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_5) { TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_6) { - NDArray boxes = NDArrayFactory::create('c', {3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, + NDArray boxes = NDArrayFactory::create({3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, 0.7412f, 0.7607f, 0.1543f, 0.5479f, 0.8223f, 0.2246f, 0.0049f, 0.6465f}); - NDArray scales = NDArrayFactory::create('c', {3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 - NDArray expected = NDArrayFactory::create('c', {2}, {1,2}); + NDArray scales = NDArrayFactory::create({3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 + NDArray expected = NDArrayFactory::create({2}, {1,2}); NDArray maxSize = NDArrayFactory::create(2); NDArray threshold = NDArrayFactory::create(0.5f); NDArray scoreThreshold = NDArrayFactory::create(-DataTypeUtils::infOrMax()); @@ -2494,11 +2494,11 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_6) { TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_06) { - NDArray boxes = NDArrayFactory::create('c', {3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, + NDArray boxes = NDArrayFactory::create({3, 4}, {0.8115f, 0.4121f, 0.0771f, 0.4863f, 0.7412f, 0.7607f, 0.1543f, 0.5479f, 0.8223f, 0.2246f, 0.0049f, 0.6465f}); - NDArray scales = NDArrayFactory::create('c', {3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 - NDArray expected = NDArrayFactory::create('c', {2}, {1,2}); + NDArray scales = NDArrayFactory::create({3}, {0.0029f, 0.8135f, 0.4873f}); //3, 0, 1, 2, 4, 5 + NDArray expected = NDArrayFactory::create({2}, {1,2}); NDArray maxSize = NDArrayFactory::create(2); NDArray threshold = NDArrayFactory::create(0.5f); NDArray scoreThreshold = NDArrayFactory::create(-DataTypeUtils::infOrMax()); @@ -2516,10 +2516,10 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_06) { TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_7) { - NDArray boxes = NDArrayFactory::create('c', {3, 4}, {0.7788f, 0.8012f, 0.7244f, 0.2329f, + NDArray boxes = NDArrayFactory::create({3, 4}, {0.7788f, 0.8012f, 0.7244f, 0.2329f, 0.7271f, 0.1804f, 0.5056f, 0.8929f, 0.5461f, 0.9234f, 0.0856f, 0.7938f}); - NDArray scales = NDArrayFactory::create('c', {3}, {0.7717f, 0.9281f, 0.9846f}); //3, 0, 1, 2, 4, 5 + NDArray scales = NDArrayFactory::create({3}, {0.7717f, 0.9281f, 0.9846f}); //3, 0, 1, 2, 4, 5 NDArray maxSize = NDArrayFactory::create(0); NDArray threshold = NDArrayFactory::create(0.5f); NDArray scoreThreshold = NDArrayFactory::create(0.5f); @@ -2537,14 +2537,14 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressing_7) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressingOverlap_1) { - NDArray boxes = NDArrayFactory::create('c', {4,4}, { + NDArray boxes = NDArrayFactory::create({4,4}, { 0, 0, 1, 1, 0, 0.1, 1, 1.1, 0, -0.1, 1, 0.9, 0, 10, 1, 11}); - NDArray scores = NDArrayFactory::create('c', {4}, {0.9, .75, .6, .95}); //3 + NDArray scores = NDArrayFactory::create({4}, {0.9, .75, .6, .95}); //3 NDArray max_num = NDArrayFactory::create(3); - NDArray expected = NDArrayFactory::create('c', {1,}, {3}); + NDArray expected = NDArrayFactory::create({1,}, {3}); sd::ops::non_max_suppression_overlaps op; auto results = op.evaluate({&boxes, &scores, &max_num}, {0.5, 0.}, {}); @@ -2560,14 +2560,14 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressingOverlap_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressingOverlap_2) { - NDArray boxes = NDArrayFactory::create('c', {4,4}, { + NDArray boxes = NDArrayFactory::create({4,4}, { 0, 0, 1, 1, 0, 0.1, 1, 1.1, 0, -0.1, 1, 0.9, 0, 10, 1, 11}); - NDArray scores = NDArrayFactory::create('c', {4}, {0.9, .95, .6, .75}); //3 + NDArray scores = NDArrayFactory::create({4}, {0.9, .95, .6, .75}); //3 NDArray max_num = NDArrayFactory::create(3); - NDArray expected = NDArrayFactory::create('c', {3,}, {1,1,1}); + NDArray expected = NDArrayFactory::create({3,}, {1,1,1}); sd::ops::non_max_suppression_overlaps op; auto results = op.evaluate({&boxes, &scores, &max_num}, {0.5, 0.}, {}); @@ -2583,14 +2583,14 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressingOverlap_2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressingOverlap_3) { - NDArray boxes = NDArrayFactory::create('c', {4,4}, { + NDArray boxes = NDArrayFactory::create({4,4}, { 0, 0, 1, 1, 0, 0.1, 1, 1.1, 0, -0.1, 1, 0.9, 0, 10, 1, 11}); - NDArray scores = NDArrayFactory::create('c', {4}, {0.5, .95, -.6, .75}); //3 + NDArray scores = NDArrayFactory::create({4}, {0.5, .95, -.6, .75}); //3 NDArray max_num = NDArrayFactory::create(5); - NDArray expected = NDArrayFactory::create('c', {5,}, {1,1,1,1,1}); + NDArray expected = NDArrayFactory::create({5,}, {1,1,1,1,1}); sd::ops::non_max_suppression_overlaps op; auto results = op.evaluate({&boxes, &scores, &max_num}, {0.5, 0.}, {}); @@ -2606,13 +2606,13 @@ TEST_F(DeclarableOpsTests10, Image_NonMaxSuppressingOverlap_3) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_CropAndResize_1) { int axis = 0; - NDArray images = NDArrayFactory::create('c', {1,2,2,1}, {1,2,3,4}); - NDArray boxes = NDArrayFactory::create('c', {1,4}, {0,0,1,1}); - NDArray boxI = NDArrayFactory::create('c', {1}, {axis}); + NDArray images = NDArrayFactory::create({1,2,2,1}, {1,2,3,4}); + NDArray boxes = NDArrayFactory::create({1,4}, {0,0,1,1}); + NDArray boxI = NDArrayFactory::create({1}, {axis}); NDArray cropSize = NDArrayFactory::create({1, 1}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); - NDArray expected = NDArrayFactory::create('c', {1,1,1,1}, {2.5f}); + NDArray expected = NDArrayFactory::create({1,1,1,1}, {2.5f}); sd::ops::crop_and_resize op; auto results = op.evaluate({&images, &boxes, &boxI, &cropSize}, {}, {}); @@ -2629,13 +2629,13 @@ TEST_F(DeclarableOpsTests10, Image_CropAndResize_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_CropAndResize_2) { int axis = 0; - NDArray images = NDArrayFactory::create('c', {1,2,2,1}, {1.f, 2.f, 3.f, 4.f}); - NDArray boxes = NDArrayFactory::create('c', {1,4}, {0.f, 0.f, 1.f, 1.f}); - NDArray boxI = NDArrayFactory::create('c', {1}, {axis}); + NDArray images = NDArrayFactory::create({1,2,2,1}, {1.f, 2.f, 3.f, 4.f}); + NDArray boxes = NDArrayFactory::create({1,4}, {0.f, 0.f, 1.f, 1.f}); + NDArray boxI = NDArrayFactory::create({1}, {axis}); NDArray cropSize = NDArrayFactory::create({1, 1}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); - NDArray expected = NDArrayFactory::create('c', {1,1,1,1}, {4.f}); + NDArray expected = NDArrayFactory::create({1,1,1,1}, {4.f}); sd::ops::crop_and_resize op; auto results = op.evaluate({&images, &boxes, &boxI, &cropSize}, {}, {1}); @@ -2716,16 +2716,16 @@ TEST_F(DeclarableOpsTests10, Image_CropAndResize_5) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_DrawBoundingBoxes_1) { - NDArray images = NDArrayFactory::create('c', {2,4,5,3}); - NDArray boxes = NDArrayFactory::create('c', {2, 2, 4}, { + NDArray images = NDArrayFactory::create({2,4,5,3}); + NDArray boxes = NDArrayFactory::create({2, 2, 4}, { 0.f , 0.f , 1.f , 1.f , 0.1f, 0.2f, 0.9f, 0.8f, 0.3f, 0.3f, 0.7f, 0.7f, 0.4f, 0.4f, 0.6f, 0.6f }); - NDArray colors = NDArrayFactory::create('c', {2, 3}, {201.f, 202.f, 203.f, 127.f, 128.f, 129.f}); + NDArray colors = NDArrayFactory::create({2, 3}, {201.f, 202.f, 203.f, 127.f, 128.f, 129.f}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); - NDArray expected = NDArrayFactory::create('c', {2,4,5,3}, { + NDArray expected = NDArrayFactory::create({2,4,5,3}, { 127.f, 128.f, 129.f, 127.f, 128.f, 129.f, 127.f, 128.f, 129.f, 127.f, 128.f, 129.f, 201.f, 202.f, 203.f, 127.f, 128.f, 129.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 127.f, 128.f, 129.f, 201.f, 202.f, 203.f, 127.f, 128.f, 129.f, 127.f, 128.f, 129.f, 127.f, 128.f, 129.f, 127.f, 128.f, 129.f, 201.f, 202.f, 203.f, @@ -2752,12 +2752,12 @@ TEST_F(DeclarableOpsTests10, Image_DrawBoundingBoxes_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_DrawBoundingBoxes_2) { - NDArray images = NDArrayFactory::create('c', {1,9,9,1}); - NDArray boxes = NDArrayFactory::create('c', {1, 1, 4}, {0.2f, 0.2f, 0.7f, 0.7f}); - NDArray colors = NDArrayFactory::create('c', {1, 1}, {0.95f}); + NDArray images = NDArrayFactory::create({1,9,9,1}); + NDArray boxes = NDArrayFactory::create({1, 1, 4}, {0.2f, 0.2f, 0.7f, 0.7f}); + NDArray colors = NDArrayFactory::create({1, 1}, {0.95f}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); - NDArray expected = NDArrayFactory::create('c', {1,9,9,1}, { + NDArray expected = NDArrayFactory::create({1,9,9,1}, { 1.1f , 2.1f, 3.1f, 4.1f, 5.1f, 6.1f, 7.1f , 8.1f , 9.1f , 10.1f , 0.95f, 0.95f, 0.95f, 0.95f, 0.95f, 16.1f , 17.1f , 18.1f , 19.1f , 0.95f, 21.1f, 22.1f, 23.1f, 0.95f, 25.1f , 26.1f , 27.1f , @@ -2783,7 +2783,7 @@ TEST_F(DeclarableOpsTests10, Image_DrawBoundingBoxes_2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Image_DrawBoundingBoxes_3) { - NDArray images = NDArrayFactory::create('c', {2,5,5,1}, {0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, + NDArray images = NDArrayFactory::create({2,5,5,1}, {0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.6591f, 0.5555f, 0.1596f, 0.3087f, 0.1548f, 0.4695f, 0.9939f, 0.6113f, 0.6765f, 0.1800f, 0.6750f, 0.2246f, @@ -2793,21 +2793,21 @@ TEST_F(DeclarableOpsTests10, Image_DrawBoundingBoxes_3) { 0.0755f, 0.6245f, 0.3491f, 0.5793f, 0.5730f, 0.1822f, 0.6420f, 0.9143f}); - NDArray boxes = NDArrayFactory::create('c', {2, 2, 4}, {0.7717f, 0.9281f, 0.9846f, 0.4838f, + NDArray boxes = NDArrayFactory::create({2, 2, 4}, {0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f, 0.7605f, 0.3948f, 0.9493f, 0.8600f, 0.7876f, 0.8945f, 0.4638f, 0.7157f}); - NDArray colors = NDArrayFactory::create('c', {1, 2}, {0.9441f, 0.5957f}); + NDArray colors = NDArrayFactory::create({1, 2}, {0.9441f, 0.5957f}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); -// NDArray expected = NDArrayFactory::create('c', {2,5,5,1}, { +// NDArray expected = NDArrayFactory::create({2,5,5,1}, { // 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, // 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.9441f, // 0.9441f, 0.1596f, 0.3087f, 0.1548f, 0.4695f, 0.9939f, 0.6113f, 0.6765f, // 0.1800f, 0.6750f, 0.2246f, 0.0509f, 0.4601f, 0.8284f, 0.2354f, 0.9752f, 0.8361f, // 0.2585f, 0.4189f,0.7028f,0.7679f,0.5373f,0.7234f,0.2690f,0.0062f,0.0327f,0.0644f, // 0.8428f, 0.9441f,0.9441f,0.9441f,0.3491f,0.5793f,0.5730f,0.1822f,0.6420f,0.9143f }); - NDArray expected = NDArrayFactory::create('c', {2,5,5,1}, { + NDArray expected = NDArrayFactory::create({2,5,5,1}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.9441f, 0.9441f, 0.1596f, @@ -2856,8 +2856,8 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_2) { - NDArray x = NDArrayFactory::create('c', {2,3}, {-63.80, -63.75, -63.4, -63.5, 0.0, 0.1}); - NDArray exp = NDArrayFactory::create('c', {2,3}, {-63.75, -63.75, -63.5 , -63.5 , 0. , 0. }); + NDArray x = NDArrayFactory::create({2,3}, {-63.80, -63.75, -63.4, -63.5, 0.0, 0.1}); + NDArray exp = NDArrayFactory::create({2,3}, {-63.75, -63.75, -63.5 , -63.5 , 0. , 0. }); NDArray min = NDArrayFactory::create(-63.65); NDArray max = NDArrayFactory::create(0.1); @@ -2875,10 +2875,10 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_3) { - NDArray x = NDArrayFactory::create('c', {1,2,3,1}, {-63.80, -63.75, -63.4, -63.5, 0.0, 0.1}); - NDArray exp = NDArrayFactory::create('c', {1,2,3,1}, {-63.75, -63.75, -63.5 , -63.5 , 0. , 0. }); - NDArray min = NDArrayFactory::create('c', {1},{-63.65}); - NDArray max = NDArrayFactory::create('c', {1}, {0.1}); + NDArray x = NDArrayFactory::create({1,2,3,1}, {-63.80, -63.75, -63.4, -63.5, 0.0, 0.1}); + NDArray exp = NDArrayFactory::create({1,2,3,1}, {-63.75, -63.75, -63.5 , -63.5 , 0. , 0. }); + NDArray min = NDArrayFactory::create({1},{-63.65}); + NDArray max = NDArrayFactory::create({1}, {0.1}); sd::ops::fake_quant_with_min_max_vars_per_channel op; auto results = op.evaluate({&x, &min, &max}, {}, {}); @@ -2892,15 +2892,15 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_3) { } TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_03) { - NDArray x = NDArrayFactory::create('c', {3,5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, + NDArray x = NDArrayFactory::create({3,5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.6591f, 0.5555f, 0.1596f}); - NDArray exp = NDArrayFactory::create('c', {3,5}, { + NDArray exp = NDArrayFactory::create({3,5}, { 0.777002f, 0.596913f, 0.72314f, 0.231040f, 0.509824f, 0.179308f, 0.505282f, 0.86846f, 0.349958f, 0.509824f, 0.087355f, 0.596913f, 0.65740f, 0.349958f, 0.159745f}); - NDArray min = NDArrayFactory::create({-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); - NDArray max = NDArrayFactory::create({0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); + NDArray min = NDArrayFactory::vector({-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); + NDArray max = NDArrayFactory::vector({0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); sd::ops::fake_quant_with_min_max_vars_per_channel op; auto results = op.evaluate({&x, &min, &max}, {}, {}); @@ -2914,15 +2914,15 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_03) { } TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_03_1) { - NDArray x = NDArrayFactory::create('c', {3,5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, + NDArray x = NDArrayFactory::create({3,5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.6591f, 0.5555f, 0.1596f}); - NDArray exp = NDArrayFactory::create('c', {3,5}, { + NDArray exp = NDArrayFactory::create({3,5}, { 0.780061f, 0.596635f, 0.725987f, 0.231950f, 0.508419f, 0.180014f, 0.504643f, 0.868406f, 0.351335f, 0.508419f, 0.087699f, 0.596635f, 0.659988f, 0.351335f, 0.160374f}); - NDArray min = NDArrayFactory::create({-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); - NDArray max = NDArrayFactory::create({0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); + NDArray min = NDArrayFactory::vector({-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); + NDArray max = NDArrayFactory::vector({0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); sd::ops::fake_quant_with_min_max_vars_per_channel op; auto results = op.evaluate({&x, &min, &max}, {}, {8}, {true}); @@ -2936,15 +2936,15 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_03_1) { } TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_03_2) { - NDArray x = NDArrayFactory::create('c', {3,5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, + NDArray x = NDArrayFactory::create({3,5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.6591f, 0.5555f, 0.1596f}); - NDArray exp = NDArrayFactory::create('c', {3,5}, { + NDArray exp = NDArrayFactory::create({3,5}, { 0.775297f, 0.592226f, 0.725763f, 0.237561f, 0.503245f, 0.189097f, 0.506084f, 0.868069f, 0.349355f, 0.503245f, 0.094548f, 0.592226f, 0.654610f, 0.349355f, 0.153769f}); - NDArray min = NDArrayFactory::create({-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); - NDArray max = NDArrayFactory::create({0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); + NDArray min = NDArrayFactory::vector({-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); + NDArray max = NDArrayFactory::vector({0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); sd::ops::fake_quant_with_min_max_vars_per_channel op; auto results = op.evaluate({&x, &min, &max}, {}, {6}, {true}); @@ -2958,14 +2958,14 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_03_2) { } TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_03_3) { - NDArray x = NDArrayFactory::create('c', {3,5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, + NDArray x = NDArrayFactory::create({3,5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.6591f, 0.5555f, 0.1596f}); - NDArray exp = NDArrayFactory::create('c', {3,5}, { + NDArray exp = NDArrayFactory::create({3,5}, { 0.781600f, 0.593422f, 0.728248f, 0.233790f, 0.509014f, 0.186095f, 0.508648f, 0.868295f, 0.343809f, 0.509014f, 0.093048f, 0.593422f, 0.658224f, 0.343809f, 0.165086f}); - NDArray min = NDArrayFactory::create({-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); - NDArray max = NDArrayFactory::create({0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); + NDArray min = NDArrayFactory::vector({-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); + NDArray max = NDArrayFactory::vector({0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); sd::ops::fake_quant_with_min_max_vars_per_channel op; auto results = op.evaluate({&x, &min, &max}, {}, {6}, {false}); @@ -2985,8 +2985,8 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_4) { return; #endif - NDArray x = NDArrayFactory::create('c', {2,4,5,3}); - NDArray exp = NDArrayFactory::create('c', {2,4,5,3},{ + NDArray x = NDArrayFactory::create({2,4,5,3}); + NDArray exp = NDArrayFactory::create({2,4,5,3},{ 1.0588236f, 1.9607843f, 3.019608f, 4.0588236f, 5.098039f, 6.039216f, 7.0588236f, 8.039216f, 9.058824f, 10.058824f, 10.980392f, 12.078432f, 13.058824f, 13.921569f, 15.09804f, 16.058825f, 17.058825f, 18.117647f, 19.058825f, 20.f, 21.137257f, 22.058825f, 22.941177f, 23.882355f, 25.058825f, 26.078432f, 26.901962f, @@ -3001,8 +3001,8 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_4) { 45.f, 50.f, 70.f, 45.f, 50.f, 70.f, 45.f, 50.f, 70.f, 45.f, 50.f, 70.f, 45.f, 50.f, 70.f, 45.f, 50.f, 70.f, 45.f, 50.f, 70.f}); - NDArray min = NDArrayFactory::create({20.f, 20.f, 20.f}); - NDArray max = NDArrayFactory::create({65.f, 70.f, 90.f}); + NDArray min = NDArrayFactory::vector({20.f, 20.f, 20.f}); + NDArray max = NDArrayFactory::vector({65.f, 70.f, 90.f}); x.linspace(1.); sd::ops::fake_quant_with_min_max_vars_per_channel op; auto results = op.evaluate({&x, &min, &max}, {}, {}); @@ -3019,8 +3019,8 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_4) { } TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_5) { - NDArray x = NDArrayFactory::create('c', {2, 3, 5, 4}); - NDArray exp = NDArrayFactory::create('c', {2, 3, 5, 4},{ + NDArray x = NDArrayFactory::create({2, 3, 5, 4}); + NDArray exp = NDArrayFactory::create({2, 3, 5, 4},{ -19.92157f, -18.980392f, -18.039217f, -16.941177f, -19.92157f, -18.980392f, -18.039217f, -16.941177f, -19.92157f, -18.980392f, -18.039217f, -16.941177f, @@ -3052,8 +3052,8 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_5) { 20.07843f, 21.019608f, 21.960783f, 23.058823f, 20.07843f, 21.019608f, 21.960783f, 23.058823f }); - NDArray min = NDArrayFactory::create({-20.f, -19.f, -18.f, -17.f}); - NDArray max = NDArrayFactory::create({20.f, 21.f, 22.f, 23.f}); + NDArray min = NDArrayFactory::vector({-20.f, -19.f, -18.f, -17.f}); + NDArray max = NDArrayFactory::vector({20.f, 21.f, 22.f, 23.f}); x.linspace(-60.); sd::ops::fake_quant_with_min_max_vars_per_channel op; auto results = op.evaluate({&x, &min, &max}, {}, {}); @@ -3071,21 +3071,21 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_5) { } TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_6) { - NDArray x = NDArrayFactory::create('c', {3, 5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, + NDArray x = NDArrayFactory::create({3, 5}, {0.7788f,0.8012f, 0.7244f, 0.2309f,0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.6591f, 0.5555f, 0.1596f}); -// NDArray exp = NDArrayFactory::create('c', {3, 5},{ +// NDArray exp = NDArrayFactory::create({3, 5},{ // 0.7801f, 0.5966f, 0.7260f, 0.2320f, 0.5084f, // 0.1800f, 0.5046f, 0.8684f, 0.3513f, 0.5084f, // 0.0877f, 0.5966f, 0.6600f, 0.3513f, 0.1604f // }); - NDArray exp = NDArrayFactory::create('c', {3,5}, { + NDArray exp = NDArrayFactory::create({3,5}, { 0.77700233f, 0.596913f, 0.72314f, 0.23104f, 0.50982356f, 0.17930824f, 0.50528157f, 0.86846f, 0.34995764f, 0.50982356f, 0.08735529f, 0.596913f, 0.6574f, 0.34995764f, 0.15974471f}); - NDArray min = NDArrayFactory::create('c', {5}, {-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); - NDArray max = NDArrayFactory::create('c', {5}, {0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); + NDArray min = NDArrayFactory::create({5}, {-0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); + NDArray max = NDArrayFactory::create({5}, {0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); // x.linspace(-60.); sd::ops::fake_quant_with_min_max_vars_per_channel op; auto results = op.evaluate({&x, &min, &max}, {}, {}); @@ -3105,8 +3105,8 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_6) { ////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_7) { - NDArray x = NDArrayFactory::create('c', {100}); - NDArray exp = NDArrayFactory::create('c', {100}, { + NDArray x = NDArrayFactory::create({100}); + NDArray exp = NDArrayFactory::create({100}, { 0.f, 0.01176471f, 0.01960784f, 0.03137255f, 0.03921569f, 0.0509804f, 0.05882353f, 0.07058824f, 0.07843138f, 0.09019608f, 0.09803922f, 0.10980393f, 0.12156864f, 0.12941177f, 0.14117648f, @@ -3128,8 +3128,8 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_7) { 0.8980393f, 0.909804f, 0.9215687f, 0.9294118f, 0.94117653f, 0.9490197f, 0.9607844f, 0.9686275f, 0.9803922f, 0.98823535f }); - NDArray min = NDArrayFactory::create('c', {1},{0.0f}); - NDArray max = NDArrayFactory::create('c', {1}, {1.f}); + NDArray min = NDArrayFactory::create({1},{0.0f}); + NDArray max = NDArrayFactory::create({1}, {1.f}); x.linspace(0., 0.01); sd::ops::fake_quant_with_min_max_vars op; auto results = op.evaluate({&x, &min, &max}, {}, {}); @@ -3146,13 +3146,13 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_7) { ////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_8) { - NDArray x = NDArrayFactory::create('c', {10}); - NDArray exp = NDArrayFactory::create('c', {10}, { + NDArray x = NDArrayFactory::create({10}); + NDArray exp = NDArrayFactory::create({10}, { 0.f, 0.09803922f, 0.20000002f, 0.3019608f, 0.40000004f, 0.49803925f, 0.6f, 0.69803923f, 0.8000001f, 0.8980393f }); - NDArray min = NDArrayFactory::create('c', {1},{0.0f}); - NDArray max = NDArrayFactory::create('c', {1}, {1.f}); + NDArray min = NDArrayFactory::create({1},{0.0f}); + NDArray max = NDArrayFactory::create({1}, {1.f}); x.linspace(0., 0.1); sd::ops::fake_quant_with_min_max_vars op; auto results = op.evaluate({&x, &min, &max}, {}, {}); From a834dc72061f3338262ae1e06bb3a0e22ea7aea5 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 16 Jun 2020 12:24:55 +0300 Subject: [PATCH 46/99] Fixed errors with factory create with eleventh test file. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests11.cpp | 242 +++++++++--------- 1 file changed, 121 insertions(+), 121 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp index 97dcf7574e66..149f6573ba42 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp @@ -41,8 +41,8 @@ class DeclarableOpsTests11 : public testing::Test { TEST_F(DeclarableOpsTests11, test_listdiff_1) { - auto x = NDArrayFactory::create('c', {4}, {0, 1, 2, 3}); - auto y = NDArrayFactory::create('c',{2}, {3, 1}); + auto x = NDArrayFactory::create({4}, {0, 1, 2, 3}); + auto y = NDArrayFactory::create({2}, {3, 1}); sd::ops::listdiff op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -455,7 +455,7 @@ TEST_F(DeclarableOpsTests11, log_loss_grad_test13) { TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test1) { - NDArray input = NDArrayFactory::create('c', {1, 7, 7, 1}, { + NDArray input = NDArrayFactory::create({1, 7, 7, 1}, { 1.f, 2.1f, 3.15f, 4.2f, 5.15f, 6.1f, 7.f, 8.f, 9.1f, 10.f, 11.f, 12.9f, 13.1f, 14.f, 15.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, @@ -464,7 +464,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test1) { 37.f, 38.f, 39.f, 40.f, 41.f, 42.f, 43.f, 44.f, 45.f, 46.f, 47.f, 48.f, 49.f, 50.f }); - NDArray expected = NDArrayFactory::create('c', {1, 30, 30, 1}, { + NDArray expected = NDArrayFactory::create({1, 30, 30, 1}, { 1.f, 1.1976162f, 1.4174359f, 1.6775769f, 1.9961575f, 2.3283265f, 2.550918f, 2.7360606f, 2.9655411f, 3.2929654f, 3.5441515f, 3.7380352f, 3.948995f, 4.248106f, 4.5073795f, 4.6843743f, 4.8572845f, 5.104302f, @@ -630,8 +630,8 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test1) { } TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test2) { - NDArray input = NDArrayFactory::create('c', {2, 5, 4, 3}); - NDArray expected = NDArrayFactory::create('c', {2, 10, 8, 3}, { + NDArray input = NDArrayFactory::create({2, 5, 4, 3}); + NDArray expected = NDArrayFactory::create({2, 10, 8, 3}, { 1.000000f, 2.000000f, 3.000000f, 2.218750f, 3.218750f, 4.218750f, 4.000000f, 5.000000f, 6.000000f, 5.500000f, 6.500000f, 7.500000f, 7.000000f, 8.000000f, 9.000000f, 8.781250f, 9.781250f, 10.781250f, 10.000000f, 11.000000f, 12.000000f, 10.281250f, 11.281250f, 12.281250f, 5.875000f, 6.875000f, 7.875000f, @@ -705,8 +705,8 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test2) { TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test3) { - NDArray input = NDArrayFactory::create('c', {1, 3, 3, 4}); - NDArray expected = NDArrayFactory::create('c', {1, 6, 6, 4}, { + NDArray input = NDArrayFactory::create({1, 3, 3, 4}); + NDArray expected = NDArrayFactory::create({1, 6, 6, 4}, { 1.000000f, 2.000000f, 3.000000f, 4.000000f, 2.625000f, 3.625000f, 4.625000f, 5.625000f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 7.375000f, 8.375000f, 9.375000f, 10.375000f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 9.375000f, 10.375000f, 11.375000f, 12.375000f, 5.875000f, 6.875000f, 7.875000f, @@ -741,8 +741,8 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test3) { TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test4) { - NDArray input = NDArrayFactory::create('c', {1, 3, 4, 3}); - NDArray expected = NDArrayFactory::create('c', {1, 6, 8, 3}, { + NDArray input = NDArrayFactory::create({1, 3, 4, 3}); + NDArray expected = NDArrayFactory::create({1, 6, 8, 3}, { 1.000000f, 2.000000f, 3.000000f, 2.218750f, 3.218750f, 4.218750f, 4.000000f, 5.000000f, 6.000000f, 5.500000f, 6.500000f, 7.500000f, 7.000000f, 8.000000f, 9.000000f, 8.781250f, 9.781250f, 10.781250f, 10.000000f, 11.000000f, 12.000000f, 10.281250f, 11.281250f, 12.281250f, 5.875000f, 6.875000f, 7.875000f, @@ -777,8 +777,8 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test4) { TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test5) { - NDArray input = NDArrayFactory::create('c', {1, 4, 4, 3}); - NDArray expected = NDArrayFactory::create('c', {1, 8, 8, 3}, { + NDArray input = NDArrayFactory::create({1, 4, 4, 3}); + NDArray expected = NDArrayFactory::create({1, 8, 8, 3}, { 1.000000f, 2.000000f, 3.000000f, 2.218750f, 3.218750f, 4.218750f, 4.000000f, 5.000000f, 6.000000f, 5.500000f, 6.500000f, 7.500000f, 7.000000f, 8.000000f, 9.000000f, 8.781250f, 9.781250f, 10.781250f, 10.000000f, 11.000000f, 12.000000f, 10.281250f, 11.281250f, 12.281250f, 5.875000f, 6.875000f, 7.875000f, @@ -819,7 +819,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test5) { TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test6) { - NDArray input = NDArrayFactory::create('c', {7, 7, 1}, { + NDArray input = NDArrayFactory::create({7, 7, 1}, { 1.f, 2.1f, 3.15f, 4.2f, 5.15f, 6.1f, 7.f, 8.f, 9.1f, 10.f, 11.f, 12.9f, 13.1f, 14.f, 15.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, @@ -829,7 +829,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test6) { 44.f, 45.f, 46.f, 47.f, 48.f, 49.f, 50.f }); - NDArray expected = NDArrayFactory::create('c', {30, 30, 1}, { + NDArray expected = NDArrayFactory::create({30, 30, 1}, { 1.000000f, 1.197616f, 1.417436f, 1.677577f, 1.996158f, 2.328327f, 2.550918f, 2.736061f, 2.965541f, 3.292965f, 3.544151f, 3.738035f, 3.948995f, 4.248106f, 4.507379f, 4.684374f, 4.857284f, 5.104302f, 5.386991f, 5.581401f, 5.753962f, 5.974285f, 6.272836f, 6.520426f, 6.718899f, 6.887104f, 7.039068f, @@ -947,14 +947,14 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test6) { TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test7) { - NDArray input = NDArrayFactory::create('c', {2, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({2, 5, 5, 1}, { 0.2303, 0.7950, 0.8171, 0.0451, 0.3690, 0.6846, 0.2727, 0.2770, 0.2381, 0.9511, 0.4116, 0.3997, 0.4075, 0.6275, 0.8018, 0.0678, 0.6221, 0.2982, 0.1524, 0.2613, 0.7425, 0.6036, 0.7926, 0.5838, 0.1361, 0.4154, 0.3634, 0.3741, 0.2088, 0.2989, 0.3982, 0.5618, 0.7266, 0.1089, 0.2922, 0.3306, 0.2869, 0.6638, 0.3091, 0.9312, 0.0240, 0.2893, 0.5632, 0.9625, 0.4189, 0.3854, 0.2743, 0.6754, 0.8820, 0.8699}); - NDArray expected = NDArrayFactory::create('c', {2, 9, 9, 1}, { + NDArray expected = NDArrayFactory::create({2, 9, 9, 1}, { 0.2303f, 0.54569f, 0.840649f, 0.92725444f, 0.65660673f, 0.16641647f, 0.06117659f, 0.33279106f, 0.4023279f, 0.5139505f, 0.49821317f, 0.4906872f, 0.537642f, 0.4070102f, 0.13030615f, @@ -1005,7 +1005,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test7) { TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test8) { - NDArray input = NDArrayFactory::create('c', {2, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({2, 5, 5, 1}, { 0.23028551377579154, 0.7949972231516509, 0.8171307820461517, 0.04507309923418412, 0.3689673597428338, 0.6845757584903018, 0.27268547668219667, 0.2770196372806053, 0.2381478370531429, 0.9511201914609859, 0.41160882670429033, 0.3997152563642703, 0.4074505147711718, 0.6274595060113246, 0.8017922711300232, @@ -1018,7 +1018,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test8) { 0.3854304088214935, 0.27426304203925045, 0.6754051704648238, 0.8820362490795286, 0.8699337744328859}); - auto testData = NDArrayFactory::create('c', {2,9,9,1}, { + auto testData = NDArrayFactory::create({2,9,9,1}, { 0.230286514f, 0.510566354f, 0.794997215f, 0.931386113f, 0.817130804f, 0.402811885f, 0.045073099f, 0.134639814f, 0.368967354f, 0.483021289f, 0.501266003f, 0.521932304f, 0.572325349f, 0.534847379f, 0.267853439f, 0.105112493f, 0.349290252f, 0.674043298f, 0.684575737f, 0.478224277f, 0.272685468f, 0.239882097f, 0.27701965f, 0.191148892f, 0.23814784f, 0.590989769f, 0.951120198f, @@ -1058,8 +1058,8 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test8) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test1) { - NDArray input = NDArrayFactory::create('c', {1, 3, 3, 4}); - NDArray expected = NDArrayFactory::create('c', {1, 6, 6, 4}, { + NDArray input = NDArrayFactory::create({1, 3, 3, 4}); + NDArray expected = NDArrayFactory::create({1, 6, 6, 4}, { 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, @@ -1119,8 +1119,8 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test1) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test2) { - NDArray input = NDArrayFactory::create('c', {1, 3, 3, 1}); - NDArray expected = NDArrayFactory::create('c', {1, 6, 6, 1}, { + NDArray input = NDArrayFactory::create({1, 3, 3, 1}); + NDArray expected = NDArrayFactory::create({1, 6, 6, 1}, { 1.f, 1.f, 2.f, 2.f, 3.f, 3.f, 1.f, 1.f, 2.f, 2.f, 3.f, 3.f, 4.f, 4.f, 5.f, 5.f, 6.f, 6.f, @@ -1146,8 +1146,8 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test2) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test3) { - NDArray input = NDArrayFactory::create('c', {1, 3, 3, 3}); - NDArray expected = NDArrayFactory::create('c', {1, 6, 6, 3}, { + NDArray input = NDArrayFactory::create({1, 3, 3, 3}); + NDArray expected = NDArrayFactory::create({1, 6, 6, 3}, { 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, @@ -1172,12 +1172,12 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test3) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test4) { - NDArray input = NDArrayFactory::create('c', {2, 3, 3, 3}, { + NDArray input = NDArrayFactory::create({2, 3, 3, 3}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 }); - NDArray expected = NDArrayFactory::create('c', {2, 6, 6, 3}, { + NDArray expected = NDArrayFactory::create({2, 6, 6, 3}, { 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, @@ -1209,12 +1209,12 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test4) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test5) { - NDArray input = NDArrayFactory::create('c', {2, 3, 3, 3}, { + NDArray input = NDArrayFactory::create({2, 3, 3, 3}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 }); - NDArray expected = NDArrayFactory::create('c', {2, 6, 6, 3}, { + NDArray expected = NDArrayFactory::create({2, 6, 6, 3}, { 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 1.f, 2.f, 3.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 16.f, 17.f, 18.f, @@ -1246,12 +1246,12 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test5) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test6) { - NDArray input = NDArrayFactory::create('c', {2, 3, 3, 1}, { + NDArray input = NDArrayFactory::create({2, 3, 3, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9 }); - NDArray expected = NDArrayFactory::create('c', {2, 6, 6, 1}, { + NDArray expected = NDArrayFactory::create({2, 6, 6, 1}, { 1.f, 1.f, 1.5f, 2.f, 2.f, 3.f, 1.f, 1.f, 1.5f, 2.f, 2.f, 3.f, 2.5f, 2.5f, 3.f, 3.5f, 3.5f, 4.5f, @@ -1283,12 +1283,12 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test6) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test7) { - NDArray input = NDArrayFactory::create('c', {2, 3, 3, 1}, { + NDArray input = NDArrayFactory::create({2, 3, 3, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9 }); - NDArray expected = NDArrayFactory::create('c', {2, 6, 6, 1}, { + NDArray expected = NDArrayFactory::create({2, 6, 6, 1}, { 1.f, 1.f, 1.5f, 2.f, 2.f, 3.f, 1.f, 1.f, 1.5f, 2.f, 2.f, 3.f, 2.5f, 2.5f, 3.f, 3.5f, 3.5f, 4.5f, @@ -1320,11 +1320,11 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test7) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test8) { - NDArray input = NDArrayFactory::create('c', {1, 3, 3, 1}, { + NDArray input = NDArrayFactory::create({1, 3, 3, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9 }); - NDArray expected = NDArrayFactory::create('c', {1, 6, 6, 1}, { + NDArray expected = NDArrayFactory::create({1, 6, 6, 1}, { 1.f, 1.f, 1.5f, 2.f, 2.f, 3.f, 1.f, 1.f, 1.5f, 2.f, 2.f, 3.f, 2.5f, 2.5f, 3.f, 3.5f, 3.5f, 4.5f, @@ -1349,11 +1349,11 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test8) { TEST_F(DeclarableOpsTests11, ResizeImages_Test8) { - NDArray input = NDArrayFactory::create('c', {1, 3, 3, 1}, { + NDArray input = NDArrayFactory::create({1, 3, 3, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9 }); - NDArray expected = NDArrayFactory::create('c', {1, 6, 6, 1}, { + NDArray expected = NDArrayFactory::create({1, 6, 6, 1}, { // 1.f, 1.f, 2.f, 2.f, 3.f, 3.f, 1.f, 1.f, 2.f, 2.f, 3.f, 3.f, 4.f, 4.f, 5.f, 5.f, 6.f, 6.f, 4.f, 4.f, 5.f, 5.f, // 6.f, 6.f, 7.f, 7.f, 8.f, 8.f, 9.f, 9.f, 7.f, 7.f, 8.f, 8.f, 9.f, 9.f 1.f , 1.f , 1.5f, 2.f , 2.f, 3.f, 1.f , 1.f , 1.5f, 2.f , 2.f, 3.f, @@ -1378,11 +1378,11 @@ TEST_F(DeclarableOpsTests11, ResizeImages_Test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, ImageResizeArea_Test9) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}, { + NDArray input = NDArrayFactory::create({1, 2, 3, 4}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24 }); - NDArray expected = NDArrayFactory::create('c', {1, 10, 10, 4}, { + NDArray expected = NDArrayFactory::create({1, 10, 10, 4}, { 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 3.666667f, 4.666667f, 5.666667f, 6.666667f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 6.333336f, 7.333336f, 8.333336f, 9.333337f, 9.000000f, 10.000000f, @@ -1407,11 +1407,11 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, ImageResizeArea_Test10) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}, { + NDArray input = NDArrayFactory::create({1, 2, 3, 4}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24 }); - NDArray expected = NDArrayFactory::create('c', {1, 10, 10, 4}, { + NDArray expected = NDArrayFactory::create({1, 10, 10, 4}, { 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 3.666667f, 4.666667f, 5.666667f, 6.666667f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 6.333336f, 7.333336f, 8.333336f, 9.333337f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 8.999998f, 9.999998f, 10.999998f, 11.999998f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 3.666667f, 4.666667f, 5.666667f, 6.666667f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 6.333336f, 7.333336f, 8.333336f, 9.333337f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 8.999998f, 9.999998f, 10.999998f, 11.999998f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 3.666667f, 4.666667f, 5.666667f, 6.666667f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 6.333336f, 7.333336f, 8.333336f, 9.333337f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 8.999998f, 9.999998f, 10.999998f, 11.999998f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 3.666667f, 4.666667f, 5.666667f, 6.666667f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 6.333336f, 7.333336f, 8.333336f, 9.333337f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 9.000000f, 10.000000f, 11.000000f, 12.000000f, 8.999998f, 9.999998f, 10.999998f, 11.999998f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 1.000000f, 2.000000f, 3.000000f, 4.000000f, 3.666667f, 4.666667f, 5.666667f, 6.666667f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 5.000000f, 6.000000f, 7.000000f, 8.000000f, 6.333336f, 7.333336f, 8.333336f, 9.333336f, 8.999999f, 9.999999f, 11.000000f, 11.999999f, 8.999999f, 9.999999f, 11.000000f, 11.999999f, 8.999998f, 9.999997f, 10.999997f, 11.999997f, 13.000003f, 14.000004f, 15.000003f, 16.000004f, 13.000003f, 14.000004f, 15.000003f, 16.000004f, 13.000003f, 14.000004f, 15.000003f, 16.000004f, 15.666671f, 16.666672f, 17.666672f, 18.666672f, 17.000006f, 18.000004f, 19.000006f, 20.000004f, 17.000006f, 18.000004f, 19.000006f, 20.000004f, 18.333344f, 19.333344f, 20.333345f, 21.333344f, 21.000006f, 22.000006f, 23.000006f, 24.000006f, 21.000006f, 22.000006f, 23.000006f, 24.000006f, 21.000002f, 22.000000f, 23.000002f, 24.000000f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 15.666667f, 16.666668f, 17.666668f, 18.666668f, 17.000002f, 18.000000f, 19.000002f, 20.000000f, 17.000002f, 18.000000f, 19.000002f, 20.000000f, 18.333340f, 19.333340f, 20.333342f, 21.333340f, 21.000002f, 22.000000f, 22.999998f, 24.000000f, 21.000002f, 22.000000f, 22.999998f, 24.000000f, 20.999996f, 21.999996f, 22.999994f, 23.999996f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 15.666667f, 16.666668f, 17.666668f, 18.666668f, 17.000002f, 18.000000f, 19.000002f, 20.000000f, 17.000002f, 18.000000f, 19.000002f, 20.000000f, 18.333340f, 19.333340f, 20.333342f, 21.333340f, 21.000002f, 22.000000f, 22.999998f, 24.000000f, 21.000002f, 22.000000f, 22.999998f, 24.000000f, 20.999996f, 21.999996f, 22.999994f, 23.999996f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 13.000000f, 14.000001f, 15.000000f, 16.000000f, 15.666667f, 16.666668f, 17.666668f, 18.666668f, 17.000002f, 18.000000f, 19.000002f, 20.000000f, 17.000002f, 18.000000f, 19.000002f, 20.000000f, 18.333340f, 19.333340f, 20.333342f, 21.333340f, 21.000002f, 22.000000f, 22.999998f, 24.000000f, 21.000002f, 22.000000f, 22.999998f, 24.000000f, 20.999996f, 21.999996f, 22.999994f, 23.999996f, 12.999995f, 13.999995f, 14.999994f, 15.999994f, 12.999995f, 13.999995f, 14.999994f, 15.999994f, 12.999995f, 13.999995f, 14.999994f, 15.999994f, 15.666661f, 16.666662f, 17.666660f, 18.666660f, 16.999994f, 17.999994f, 18.999992f, 19.999992f, 16.999994f, 17.999994f, 18.999992f, 19.999992f, 18.333334f, 19.333332f, 20.333334f, 21.333332f, 20.999992f, 21.999992f, 22.999990f, 23.999992f, 20.999992f, 21.999992f, 22.999990f, 23.999992f, 20.999989f, 21.999989f, 22.999987f, 23.999987f }); @@ -1433,11 +1433,11 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test10) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, ImageResizeArea_Test11) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}, { + NDArray input = NDArrayFactory::create({1, 2, 3, 4}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24 }); -// NDArray expected = NDArrayFactory::create('c', {1, 6, 9, 4}, { +// NDArray expected = NDArrayFactory::create({1, 6, 9, 4}, { // 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333336, 8.999999, 9.999999, 11.000000, 11.999999, 8.999999, 9.999999, 11.000000, 11.999999, 8.999998, 9.999997, 10.999997, 11.999997, 13.000003, 14.000004, 15.000003, 16.000004, 13.000003, 14.000004, 15.000003, 16.000004, 13.000003, 14.000004, 15.000003, 16.000004, 15.666671, 16.666672, 17.666672, 18.666672, 17.000006, 18.000004, 19.000006, 20.000004, 17.000006, 18.000004, 19.000006, 20.000004, 18.333344, 19.333344, 20.333345, 21.333344, 21.000006, 22.000006, 23.000006, 24.000006, 21.000006, 22.000006, 23.000006, 24.000006, 21.000002, 22.000000, 23.000002, 24.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 12.999995, 13.999995, 14.999994, 15.999994, 12.999995, 13.999995, 14.999994, 15.999994, 12.999995, 13.999995, 14.999994, 15.999994, 15.666661, 16.666662, 17.666660, 18.666660, 16.999994, 17.999994, 18.999992, 19.999992, 16.999994, 17.999994, 18.999992, 19.999992, 18.333334, 19.333332, 20.333334, 21.333332, 20.999992, 21.999992, 22.999990, 23.999992, 20.999992, 21.999992, 22.999990, 23.999992, 20.999989, 21.999989, 22.999987, 23.999987 // // }); @@ -1459,11 +1459,11 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test11) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, ImageResizeArea_Test12) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}, { + NDArray input = NDArrayFactory::create({1, 2, 3, 4}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24 }); -// NDArray expected = NDArrayFactory::create('c', {1, 6, 9, 4}, { +// NDArray expected = NDArrayFactory::create({1, 6, 9, 4}, { // 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333336, 8.999999, 9.999999, 11.000000, 11.999999, 8.999999, 9.999999, 11.000000, 11.999999, 8.999998, 9.999997, 10.999997, 11.999997, 13.000003, 14.000004, 15.000003, 16.000004, 13.000003, 14.000004, 15.000003, 16.000004, 13.000003, 14.000004, 15.000003, 16.000004, 15.666671, 16.666672, 17.666672, 18.666672, 17.000006, 18.000004, 19.000006, 20.000004, 17.000006, 18.000004, 19.000006, 20.000004, 18.333344, 19.333344, 20.333345, 21.333344, 21.000006, 22.000006, 23.000006, 24.000006, 21.000006, 22.000006, 23.000006, 24.000006, 21.000002, 22.000000, 23.000002, 24.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 12.999995, 13.999995, 14.999994, 15.999994, 12.999995, 13.999995, 14.999994, 15.999994, 12.999995, 13.999995, 14.999994, 15.999994, 15.666661, 16.666662, 17.666660, 18.666660, 16.999994, 17.999994, 18.999992, 19.999992, 16.999994, 17.999994, 18.999992, 19.999992, 18.333334, 19.333332, 20.333334, 21.333332, 20.999992, 21.999992, 22.999990, 23.999992, 20.999992, 21.999992, 22.999990, 23.999992, 20.999989, 21.999989, 22.999987, 23.999987 // // }); @@ -1485,11 +1485,11 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test12) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, ImageResizeArea_Test13) { - NDArray input = NDArrayFactory::create('c', {1, 2, 3, 4}, { + NDArray input = NDArrayFactory::create({1, 2, 3, 4}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24 }); -// NDArray expected = NDArrayFactory::create('c', {1, 8, 8, 4}, { +// NDArray expected = NDArrayFactory::create({1, 8, 8, 4}, { // 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333337, 9.000000, 10.000000, 11.000000, 12.000000, 9.000000, 10.000000, 11.000000, 12.000000, 8.999998, 9.999998, 10.999998, 11.999998, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 1.000000, 2.000000, 3.000000, 4.000000, 3.666667, 4.666667, 5.666667, 6.666667, 5.000000, 6.000000, 7.000000, 8.000000, 5.000000, 6.000000, 7.000000, 8.000000, 6.333336, 7.333336, 8.333336, 9.333336, 8.999999, 9.999999, 11.000000, 11.999999, 8.999999, 9.999999, 11.000000, 11.999999, 8.999998, 9.999997, 10.999997, 11.999997, 13.000003, 14.000004, 15.000003, 16.000004, 13.000003, 14.000004, 15.000003, 16.000004, 13.000003, 14.000004, 15.000003, 16.000004, 15.666671, 16.666672, 17.666672, 18.666672, 17.000006, 18.000004, 19.000006, 20.000004, 17.000006, 18.000004, 19.000006, 20.000004, 18.333344, 19.333344, 20.333345, 21.333344, 21.000006, 22.000006, 23.000006, 24.000006, 21.000006, 22.000006, 23.000006, 24.000006, 21.000002, 22.000000, 23.000002, 24.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 13.000000, 14.000001, 15.000000, 16.000000, 15.666667, 16.666668, 17.666668, 18.666668, 17.000002, 18.000000, 19.000002, 20.000000, 17.000002, 18.000000, 19.000002, 20.000000, 18.333340, 19.333340, 20.333342, 21.333340, 21.000002, 22.000000, 22.999998, 24.000000, 21.000002, 22.000000, 22.999998, 24.000000, 20.999996, 21.999996, 22.999994, 23.999996, 12.999995, 13.999995, 14.999994, 15.999994, 12.999995, 13.999995, 14.999994, 15.999994, 12.999995, 13.999995, 14.999994, 15.999994, 15.666661, 16.666662, 17.666660, 18.666660, 16.999994, 17.999994, 18.999992, 19.999992, 16.999994, 17.999994, 18.999992, 19.999992, 18.333334, 19.333332, 20.333334, 21.333332, 20.999992, 21.999992, 22.999990, 23.999992, 20.999992, 21.999992, 22.999990, 23.999992, 20.999989, 21.999989, 22.999987, 23.999987 // // }); @@ -1510,11 +1510,11 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test13) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test14) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({8, 7}); - NDArray expected = NDArrayFactory::create('c', {1, 8, 7, 1}, { + NDArray expected = NDArrayFactory::create({1, 8, 7, 1}, { 1.f, 1.6f , 2.1999993f, 2.9999995f , 3.8f , 4.399997f, 5.f , 2.9999995f , 3.5999997f , 4.199999f, 4.9999995f, 5.8f , 6.3999963f , 7.f , 5.999999f , 6.6f, 7.1999984f , 7.9999995f , 8.8f, 9.399994f, 10.f , 10.f, 10.6f , 11.199998f, 12.f, 12.8f, 13.399992f , 14.f, 12.f , 12.599999f, @@ -1539,11 +1539,11 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test14) { TEST_F(DeclarableOpsTests11, ImageResizeArea_Test15) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); //auto size = NDArrayFactory::create({8, 7}); - NDArray expected = NDArrayFactory::create('c', {1, 8, 7, 1}, { + NDArray expected = NDArrayFactory::create({1, 8, 7, 1}, { 1.f, 1.6f , 2.1999993f, 2.9999995f , 3.8f , 4.399997f, 5.f , 2.9999995f , 3.5999997f , 4.199999f, 4.9999995f, 5.8f , 6.3999963f , 7.f , 5.999999f , 6.6f, 7.1999984f , 7.9999995f , 8.8f, 9.399994f, 10.f , 10.f, 10.6f , 11.199998f, 12.f, 12.8f, 13.399992f , 14.f, 12.f , 12.599999f, @@ -1590,15 +1590,15 @@ TEST_F(DeclarableOpsTests11, summaryStatsData_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_1) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { 2.f, -1.f, -2.f, -4.f, 6.f, 3.f, -4.f, -2.f, 8.f }); - auto b = NDArrayFactory::create('c', {3, 1}, { + auto b = NDArrayFactory::create({3, 1}, { 2.f, 4.f, 3.f }); - auto exp = NDArrayFactory::create('c', {3, 1}, { + auto exp = NDArrayFactory::create({3, 1}, { 7.625f, 3.25f, 5.f }); @@ -1616,18 +1616,18 @@ TEST_F(DeclarableOpsTests11, Solve_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_2) { - auto a = NDArrayFactory::create('c', {4, 4}, { + auto a = NDArrayFactory::create({4, 4}, { 1.f, 1.f, 1.f, 1.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 0.f, 3.f, }); - auto b = NDArrayFactory::create('c', {4, 1}, { + auto b = NDArrayFactory::create({4, 1}, { 2.f, 4.f, 2.f, 4.f }); - auto exp = NDArrayFactory::create('c', {4, 1}, { + auto exp = NDArrayFactory::create({4, 1}, { -3.3333333f, 3.6666666f, 0.333333f, 1.3333333f }); @@ -1645,7 +1645,7 @@ TEST_F(DeclarableOpsTests11, Solve_Test_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_3) { - auto a = NDArrayFactory::create('c', {2, 4, 4}, { + auto a = NDArrayFactory::create({2, 4, 4}, { 1.f, 1.f, 1.f, 1.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f, 2.f, 1.f, @@ -1658,12 +1658,12 @@ TEST_F(DeclarableOpsTests11, Solve_Test_3) { }); - auto b = NDArrayFactory::create('c', {2, 4, 1}, { + auto b = NDArrayFactory::create({2, 4, 1}, { 2.f, 4.f, 2.f, 4.f, 4.f, 2.f, 4.f, 2.f }); - auto exp = NDArrayFactory::create('c', {2, 4, 1}, { + auto exp = NDArrayFactory::create({2, 4, 1}, { -3.3333333f, 3.6666666f, 0.333333f, 1.3333333f, 1.333333f, -0.6666667f, 2.6666667f, -1.3333333f }); @@ -1683,17 +1683,17 @@ TEST_F(DeclarableOpsTests11, Solve_Test_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_4) { - auto a = NDArrayFactory::create('c', {2, 2, 2}, { + auto a = NDArrayFactory::create({2, 2, 2}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f }); - auto b = NDArrayFactory::create('c', {2, 2, 2}, { + auto b = NDArrayFactory::create({2, 2, 2}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f }); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, { + auto exp = NDArrayFactory::create({2, 2, 2}, { // 1.524494767f, 0.432706356f,-0.518630624f, 0.737760842f, // 0.819143713f, 0.720401764f, 0.264349997f, 0.444699198f 1.5245394f, 0.4326952f, -0.51873577f, 0.7377896f, @@ -1715,16 +1715,16 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_4_1) { - auto a = NDArrayFactory::create('c', {2, 2, 2}, { + auto a = NDArrayFactory::create({2, 2, 2}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f }); - auto b = NDArrayFactory::create('c', {2, 2, 2}, { + auto b = NDArrayFactory::create({2, 2, 2}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f }); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, { + auto exp = NDArrayFactory::create({2, 2, 2}, { 1.3357621f, 0.3399364f, -0.37077796f, 0.91573375f, 0.4400987f, 0.2766527f, 0.6394467f, 0.79696566f }); @@ -1744,19 +1744,19 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_4_2) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f }); - auto b = NDArrayFactory::create('c', {3, 3}, { + auto b = NDArrayFactory::create({3, 3}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f, 0.7605f }); - auto exp = NDArrayFactory::create('c', {3, 3}, { + auto exp = NDArrayFactory::create({3, 3}, { 0.99088347f, 1.1917052f, 1.2642528f, 0.35071516f, 0.50630623f, 0.42935497f, -0.30013534f, -0.53690606f, -0.47959247f @@ -1778,19 +1778,19 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_4_3) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f }); - auto b = NDArrayFactory::create('c', {3, 3}, { + auto b = NDArrayFactory::create({3, 3}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f, 0.7605f }); - auto exp = NDArrayFactory::create('c', {3, 3}, { + auto exp = NDArrayFactory::create({3, 3}, { 0.45400196f, 0.53174824f, 0.62064564f, -0.79585856f, -0.82621557f, -0.87855506f, 1.1904413f, 1.3938838f, 1.3926021f @@ -1812,19 +1812,19 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_4_4) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f }); - auto b = NDArrayFactory::create('c', {3, 3}, { + auto b = NDArrayFactory::create({3, 3}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f, 0.7605f }); - auto exp = NDArrayFactory::create('c', {3, 3}, { + auto exp = NDArrayFactory::create({3, 3}, { 0.8959121f, 1.6109066f, 1.7501404f, 0.49000582f, 0.66842675f, 0.5577021f, -0.4398522f, -1.1899745f, -1.1392052f @@ -1846,19 +1846,19 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_4_5) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f }); - auto b = NDArrayFactory::create('c', {3, 3}, { + auto b = NDArrayFactory::create({3, 3}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f, 0.7605f }); - auto exp = NDArrayFactory::create('c', {3, 3}, { + auto exp = NDArrayFactory::create({3, 3}, { 1.5504692f, 1.8953944f, 2.2765768f, 0.03399149f, 0.2883001f, 0.5377323f, -0.8774802f, -1.2155888f, -1.8049058f @@ -1880,19 +1880,19 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_4_6) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f }); - auto b = NDArrayFactory::create('c', {3, 3}, { + auto b = NDArrayFactory::create({3, 3}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f, 0.7605f }); - auto exp = NDArrayFactory::create('c', {3, 3}, { + auto exp = NDArrayFactory::create({3, 3}, { 0.99088347f, 1.1917052f, 1.2642528f, -0.426483f, -0.42840624f, -0.5622601f, 0.01692283f, -0.04538865f, -0.09868701f @@ -1913,7 +1913,7 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_4_7) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { // 0.7788f, 0.2309f, 0.5056f, // 0.8012f, 0.7271f, 0.8925f, // 0.7244f, 0.1804f, 0.5461f @@ -1923,13 +1923,13 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4_7) { 0.7244f, 0.1804f, 0.5461f }); - auto b = NDArrayFactory::create('c', {3, 3}, { + auto b = NDArrayFactory::create({3, 3}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f, 0.7605f }); - auto exp = NDArrayFactory::create('c', {3, 3}, { + auto exp = NDArrayFactory::create({3, 3}, { 0.99088347f, 1.1917052f, 1.2642528f, -0.426483f, -0.42840624f, -0.5622601f, 0.01692283f, -0.04538865f, -0.09868701f @@ -1951,19 +1951,19 @@ TEST_F(DeclarableOpsTests11, Solve_Test_4_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Solve_Test_5) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f }); - auto b = NDArrayFactory::create('c', {3, 3}, { + auto b = NDArrayFactory::create({3, 3}, { 0.7717f, 0.9281f, 0.9846f, 0.4838f, 0.6433f, 0.6041f, 0.6501f, 0.7612f, 0.7605f }); - auto exp = NDArrayFactory::create('c', {3, 3}, { + auto exp = NDArrayFactory::create({3, 3}, { 1.5504692f, 1.8953944f, 2.2765768f, 0.03399149f, 0.2883001f, 0.5377323f, -0.8774802f, -1.2155888f, -1.8049058f @@ -1984,16 +1984,16 @@ TEST_F(DeclarableOpsTests11, Solve_Test_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, SolveLS_Test_1) { - auto a = NDArrayFactory::create('c', {2,2, 2}, { + auto a = NDArrayFactory::create({2,2, 2}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f }); - auto b = NDArrayFactory::create('c', {2, 2, 1}, { + auto b = NDArrayFactory::create({2, 2, 1}, { 3.f, 7.f, 11.f, 15.f }); - auto exp = NDArrayFactory::create('c', {2, 2, 1}, { + auto exp = NDArrayFactory::create({2, 2, 1}, { 0.8311695f, 1.0909086f, 0.9205573f, 1.0630057f }); @@ -2011,16 +2011,16 @@ TEST_F(DeclarableOpsTests11, SolveLS_Test_1) { TEST_F(DeclarableOpsTests11, SolveLS_Test_2) { - auto a = NDArrayFactory::create('c', {2,2, 2}, { + auto a = NDArrayFactory::create({2,2, 2}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f }); - auto b = NDArrayFactory::create('c', {2, 2, 1}, { + auto b = NDArrayFactory::create({2, 2, 1}, { 3.f, 7.f, 11.f, 15.f }); - auto exp = NDArrayFactory::create('c', {2, 2, 1}, { + auto exp = NDArrayFactory::create({2, 2, 1}, { 0.8311695f, 1.0909086f, 0.9205573f, 1.0630057f }); @@ -2039,7 +2039,7 @@ TEST_F(DeclarableOpsTests11, SolveLS_Test_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Cholesky_Test_2x2x2) { - auto a = NDArrayFactory::create('c', {2,2, 2}, { + auto a = NDArrayFactory::create({2,2, 2}, { 10.f, 14.f, 14.f, 20.f, @@ -2047,7 +2047,7 @@ TEST_F(DeclarableOpsTests11, Cholesky_Test_2x2x2) { 86.f, 100.f }); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, { + auto exp = NDArrayFactory::create({2, 2, 2}, { 3.1622777f, 0.f, 4.427189f, 0.6324552f, 8.602325f, 0.f, 9.997296f, 0.23252854f }); @@ -2068,7 +2068,7 @@ TEST_F(DeclarableOpsTests11, Cholesky_Test_2x2x2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, Cholesky_Test_2x2x2_2) { - auto a = NDArrayFactory::create('c', {2,2, 2}, { + auto a = NDArrayFactory::create({2,2, 2}, { 10.5f, 14.f, 14.f, 20.5f, @@ -2076,7 +2076,7 @@ TEST_F(DeclarableOpsTests11, Cholesky_Test_2x2x2_2) { 86.f, 100.5f }); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, { + auto exp = NDArrayFactory::create({2, 2, 2}, { 3.2403703f, 0.f, 4.3204937f, 1.3540066f, 8.631338f, 0.f, 9.963693f, 1.1067207f }); @@ -2491,9 +2491,9 @@ TEST_F(DeclarableOpsTests11, mean_sqerr_loss_grad_test13) { } TEST_F(DeclarableOpsTests11, SquaredSubtractTest_Test1) { - auto x = NDArrayFactory::create('c', {4}, {0, 1, 2, 3}); - auto y = NDArrayFactory::create('c',{4}, {3, 2, 1, 0}); - auto exp = NDArrayFactory::create('c', {4}, {9, 1,1, 9}); + auto x = NDArrayFactory::create({4}, {0, 1, 2, 3}); + auto y = NDArrayFactory::create({4}, {3, 2, 1, 0}); + auto exp = NDArrayFactory::create({4}, {9, 1,1, 9}); sd::ops::squaredsubtract op; auto result = op.evaluate({&x, &y}, {}, {}); ASSERT_EQ(Status::OK(), result.status()); @@ -2503,9 +2503,9 @@ TEST_F(DeclarableOpsTests11, SquaredSubtractTest_Test1) { } TEST_F(DeclarableOpsTests11, SquaredSubtractTest_Test2) { - auto x = NDArrayFactory::create('c', {2, 4}, {0, 1, 2, 3, 0, 1, 2, 3}); - auto y = NDArrayFactory::create('c',{4}, {3, 2, 1, 0}); - auto exp = NDArrayFactory::create('c', {2, 4}, {9, 1,1, 9, 9, 1, 1, 9}); + auto x = NDArrayFactory::create({2, 4}, {0, 1, 2, 3, 0, 1, 2, 3}); + auto y = NDArrayFactory::create({4}, {3, 2, 1, 0}); + auto exp = NDArrayFactory::create({2, 4}, {9, 1,1, 9, 9, 1, 1, 9}); sd::ops::squaredsubtract op; auto result = op.evaluate({&x, &y}, {}, {}); ASSERT_EQ(Status::OK(), result.status()); @@ -2514,10 +2514,10 @@ TEST_F(DeclarableOpsTests11, SquaredSubtractTest_Test2) { } TEST_F(DeclarableOpsTests11, SquaredSubtractTest_Test3) { - auto x = NDArrayFactory::create('c', {2, 4}, {0, 1, 2, 3, 0, 1, 2, 3}); - auto y = NDArrayFactory::create('c',{4}, {3, 2, 1, 0}); - auto exp = NDArrayFactory::create('c', {2, 4}, {-6, -4, 6, 24, -30, -12, 14, 48}); - auto eps = NDArrayFactory::create('c', {2, 4}, {1,2,3,4,5,6,7,8}); + auto x = NDArrayFactory::create({2, 4}, {0, 1, 2, 3, 0, 1, 2, 3}); + auto y = NDArrayFactory::create({4}, {3, 2, 1, 0}); + auto exp = NDArrayFactory::create({2, 4}, {-6, -4, 6, 24, -30, -12, 14, 48}); + auto eps = NDArrayFactory::create({2, 4}, {1,2,3,4,5,6,7,8}); sd::ops::squaredsubtract_bp op; auto result = op.evaluate({&x, &y, &eps}, {}, {}); ASSERT_EQ(Status::OK(), result.status()); @@ -2924,9 +2924,9 @@ TEST_F(DeclarableOpsTests11, absolute_difference_loss_grad_test13) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, BFloat16_Test_1) { - NDArray x = NDArrayFactory::create('c', {2,3,4}); - NDArray y = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); - NDArray exp = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray x = NDArrayFactory::create({2,3,4}); + NDArray y = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray exp = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); x.linspace(1); y.linspace(1); @@ -2944,9 +2944,9 @@ TEST_F(DeclarableOpsTests11, BFloat16_Test_1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, BFloat16_Test_2) { - NDArray x = NDArrayFactory::create('c', {2,3,4}); - NDArray y = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); - NDArray exp = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray x = NDArrayFactory::create({2,3,4}); + NDArray y = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray exp = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); x.linspace(1); y.linspace(1); @@ -3401,9 +3401,9 @@ TEST_F(DeclarableOpsTests11, sigm_cross_entropy_loss_grad_test13) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, BFloat16_Test_4) { - NDArray x = NDArrayFactory::create('c', {2,3,4}); - NDArray y = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); - NDArray exp = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray x = NDArrayFactory::create({2,3,4}); + NDArray y = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray exp = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); x.linspace(1); y.linspace(1); @@ -3420,9 +3420,9 @@ TEST_F(DeclarableOpsTests11, BFloat16_Test_4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, BFloat16_Test_5) { - NDArray x = NDArrayFactory::create('c', {2,3,4}); - NDArray y = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); - NDArray exp = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray x = NDArrayFactory::create({2,3,4}); + NDArray y = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray exp = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); x.linspace(2, 2); y.linspace(1); @@ -3440,9 +3440,9 @@ TEST_F(DeclarableOpsTests11, BFloat16_Test_5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests11, BFloat16_Test_6) { - NDArray x = NDArrayFactory::create('c', {2,3,4}); - NDArray y = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); - NDArray exp = NDArrayFactory::create('c', {2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray x = NDArrayFactory::create({2,3,4}); + NDArray y = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); + NDArray exp = NDArrayFactory::create({2,3,4});//('c', {2,3,4}, sd::DataType::BFLOAT16); x.linspace(2, 2); y.linspace(1); From 2280f3539b834d19774bd8fe9f2dcf77333a0d8a Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 16 Jun 2020 17:32:30 +0300 Subject: [PATCH 47/99] Adopted refactored create methods with the twelfth test file. Signed-off-by: shugeo --- libnd4j/include/array/NDArrayFactory.h | 12 + libnd4j/include/array/impl/NDArrayFactory.cpp | 17 + .../layers_tests/DeclarableOpsTests12.cpp | 475 +++++++++--------- 3 files changed, 266 insertions(+), 238 deletions(-) diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index cf924c2c327b..a8e754656139 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -54,6 +54,18 @@ namespace sd { template static NDArray create(const T value, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + /** + * create with given typed buffer and shape with order. + * \param values - typed buffer with size, computed from shape + * \param shape - vector of dimensions + * \param order - given order of strides (C/F, default C) + * \param context - launch context pointer + * + * \return NDArray with given buffer and shape by given order. + */ + template + static NDArray create(const T* values, const std::vector& shape, const Order order = sd::kArrayOrderC, sd::LaunchContext* context = sd::LaunchContext ::defaultContext()); + static NDArray create(sd::DataType dtype, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 756f6dd6c906..8f2c30c6a6db 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -103,6 +103,23 @@ namespace sd { template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); //////////////////////////////////////////////////////////////////////// + template + NDArray NDArrayFactory::create(const T* values, const std::vector& shape, const Order order, sd::LaunchContext* context) { + if ((int) shape.size() > MAX_RANK) + throw std::invalid_argument("NDArrayFactory::create: rank of NDArray can't exceed 32 !"); + auto dtype = DataTypeUtils::fromT(); + + ShapeDescriptor descriptor(DataTypeUtils::fromT(), (char const)order, shape); + + std::shared_ptr buffer = std::make_shared(values, dtype, descriptor.arrLength() * sizeof(T), context->getWorkspace()); + + NDArray result(buffer, descriptor, context); + + return result; + } + +//////////////////////////////////////////////////////////////////////// + template void NDArrayFactory::memcpyFromVector(void *ptr, const std::vector &vector) { diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp index 66762f79d6cb..13c5d381d54a 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp @@ -42,8 +42,8 @@ class DeclarableOpsTests12 : public testing::Test { }; TEST_F(DeclarableOpsTests12, test_any_validation_1) { - auto x = NDArrayFactory::create('c', {2, 1}, {1.0, 2.0}); - auto y = NDArrayFactory::create('c', {2}, {1, 0}); + auto x = NDArrayFactory::create({2, 1}, {1.0, 2.0}); + auto y = NDArrayFactory::create({2}, {1, 0}); sd::ops::transpose op; auto result = op.evaluate({&x, &y}); @@ -411,7 +411,7 @@ TEST_F(DeclarableOpsTests12, TestDivideBP_1) { TEST_F(DeclarableOpsTests12, TestDivideBP_2) { NDArray x('c', {3,4}, sd::DataType::DOUBLE); - NDArray y = NDArrayFactory::create('c', {3,4}); + NDArray y = NDArrayFactory::create({3,4}); NDArray eps('c', {3,4}, sd::DataType::DOUBLE); NDArray exp1('c', {3,4}, sd::DataType::DOUBLE); NDArray exp2('c', {3,4}, sd::DataType::DOUBLE); @@ -455,7 +455,7 @@ TEST_F(DeclarableOpsTests12, TestReverseDivideBP_1) { TEST_F(DeclarableOpsTests12, TestReverseDivideBP_2) { NDArray x('c', {3,4}, sd::DataType::DOUBLE); - NDArray y = NDArrayFactory::create('c', {3,4}); + NDArray y = NDArrayFactory::create({3,4}); NDArray eps('c', {3,4}, sd::DataType::DOUBLE); NDArray exp1('c', {3,4}, sd::DataType::DOUBLE); NDArray exp2('c', {3,4}, sd::DataType::DOUBLE); @@ -869,9 +869,9 @@ TEST_F(DeclarableOpsTests12, softmax_9) { } TEST_F(DeclarableOpsTests12, maxpool_bp_half_1) { - auto x = NDArrayFactory::create('c', {2, 3, 10, 1}, {0.2019043f, 0.6464844f, 0.9116211f, 0.60058594f, 0.34033203f, 0.7036133f, 0.6772461f, 0.3815918f, 0.87353516f, 0.04650879f, 0.67822266f, 0.8618164f, 0.88378906f, 0.7573242f, 0.66796875f, 0.63427734f, 0.33764648f, 0.46923828f, 0.62939453f, 0.76464844f, -0.8618164f, -0.94873047f, -0.9902344f, -0.88916016f, -0.86572266f, -0.92089844f, -0.90722656f, -0.96533203f, -0.97509766f, -0.4975586f, -0.84814453f, -0.984375f, -0.98828125f, -0.95458984f, -0.9472656f, -0.91064453f, -0.80859375f, -0.83496094f, -0.9140625f, -0.82470703f, 0.4802246f, 0.45361328f, 0.28125f, 0.28320312f, 0.79345703f, 0.44604492f, -0.30273438f, 0.11730957f, 0.56396484f, 0.73583984f, 0.1418457f, -0.44848633f, 0.6923828f, -0.40234375f, 0.40185547f, 0.48632812f, 0.14538574f, 0.4638672f, 0.13000488f, 0.5058594f}); - auto y = NDArrayFactory::create('c', {2, 3, 10, 1}, {0.0f, -0.13391113f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.1751709f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.51904297f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5107422f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}); - auto z = NDArrayFactory::create('c', {2, 3, 10, 1}); + auto x = NDArrayFactory::create({2, 3, 10, 1}, {0.2019043f, 0.6464844f, 0.9116211f, 0.60058594f, 0.34033203f, 0.7036133f, 0.6772461f, 0.3815918f, 0.87353516f, 0.04650879f, 0.67822266f, 0.8618164f, 0.88378906f, 0.7573242f, 0.66796875f, 0.63427734f, 0.33764648f, 0.46923828f, 0.62939453f, 0.76464844f, -0.8618164f, -0.94873047f, -0.9902344f, -0.88916016f, -0.86572266f, -0.92089844f, -0.90722656f, -0.96533203f, -0.97509766f, -0.4975586f, -0.84814453f, -0.984375f, -0.98828125f, -0.95458984f, -0.9472656f, -0.91064453f, -0.80859375f, -0.83496094f, -0.9140625f, -0.82470703f, 0.4802246f, 0.45361328f, 0.28125f, 0.28320312f, 0.79345703f, 0.44604492f, -0.30273438f, 0.11730957f, 0.56396484f, 0.73583984f, 0.1418457f, -0.44848633f, 0.6923828f, -0.40234375f, 0.40185547f, 0.48632812f, 0.14538574f, 0.4638672f, 0.13000488f, 0.5058594f}); + auto y = NDArrayFactory::create({2, 3, 10, 1}, {0.0f, -0.13391113f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.1751709f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.51904297f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5107422f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}); + auto z = NDArrayFactory::create({2, 3, 10, 1}); sd::ops::maxpool2d_bp op; Context ctx(1); @@ -1235,8 +1235,8 @@ TEST_F(DeclarableOpsTests12, inTopK_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, inTopK_2) { - auto input = NDArrayFactory::create('c', {4, 5}); - auto idx = NDArrayFactory::create('c', {4}); + auto input = NDArrayFactory::create({4, 5}); + auto idx = NDArrayFactory::create({4}); auto exp = NDArrayFactory::create({false, false, false, true}); @@ -1256,9 +1256,9 @@ TEST_F(DeclarableOpsTests12, inTopK_2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, inTopK_3) { - auto x = NDArrayFactory::create('c', {2, 3}, {1.0, 11.0, 3.0, 14.0, 5.0, 6.0}); - auto y = NDArrayFactory::create('c', {2}, {1, 1}); - auto expV = NDArrayFactory::create('c', {2}, {true, false}); + auto x = NDArrayFactory::create({2, 3}, {1.0, 11.0, 3.0, 14.0, 5.0, 6.0}); + auto y = NDArrayFactory::create({2}, {1, 1}); + auto expV = NDArrayFactory::create({2}, {true, false}); sd::ops::in_top_k op; auto result = op.evaluate({&x, &y}, {}, {2}); @@ -1276,9 +1276,9 @@ TEST_F(DeclarableOpsTests12, inTopK_3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, inTopK_4) { - auto x = NDArrayFactory::create('c', {6, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, 11.0, 13.0, 14.0, 5.0, 16.0, 9.0, 13.5, 7.0} ); - auto y = NDArrayFactory::create('c', {6}, {0, 0, 0, 0, 0, 0}); - auto expV = NDArrayFactory::create('c', {6}, {true, false, true, false, false, true}); + auto x = NDArrayFactory::create({6, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, 11.0, 13.0, 14.0, 5.0, 16.0, 9.0, 13.5, 7.0} ); + auto y = NDArrayFactory::create({6}, {0, 0, 0, 0, 0, 0}); + auto expV = NDArrayFactory::create({6}, {true, false, true, false, false, true}); sd::ops::in_top_k op; auto result = op.evaluate({&x, &y}, {}, {2}); @@ -1297,9 +1297,9 @@ TEST_F(DeclarableOpsTests12, inTopK_4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, inTopK_5) { - auto x = NDArrayFactory::create('f', {6, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, 11.0, 13.0, 14.0, 5.0, 16.0, 9.0, 13.5, 7.0} ); - auto y = NDArrayFactory::create('f', {6}, {0, 0, 0, 0, 0, 0}); - auto expV = NDArrayFactory::create('f', {6}, {true, false, false, false, false, false }); + auto x = NDArrayFactory::create({6, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, 11.0, 13.0, 14.0, 5.0, 16.0, 9.0, 13.5, 7.0}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({6}, {0, 0, 0, 0, 0, 0}, sd::kArrayOrderFortran); + auto expV = NDArrayFactory::create({6}, {true, false, false, false, false, false }, sd::kArrayOrderFortran); sd::ops::in_top_k op; auto result = op.evaluate({&x, &y}, {}, {2}); @@ -1378,7 +1378,6 @@ TEST_F(DeclarableOpsTests12, pad_tests1) { ASSERT_TRUE(expected.isSameShapeStrict(*result)); ASSERT_TRUE(expected.equalsTo(result)); - } @@ -1391,9 +1390,9 @@ TEST_F(DeclarableOpsTests12, pad_tests2) { int padBuff[] = {1,1,2,2}; float expBuff[] = {6.f, 5.f, 4.f, 5.f, 6.f, 5.f, 4.f, 3.f, 2.f, 1.f, 2.f, 3.f, 2.f, 1.f, 6.f, 5.f, 4.f, 5.f, 6.f, 5.f, 4.f, 3.f, 2.f, 1.f, 2.f, 3.f, 2.f, 1.f}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {2,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7}); + auto input = NDArrayFactory::create(inBuff, {2,3}); + auto paddings = NDArrayFactory::create(padBuff, {2,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {1}); @@ -1418,9 +1417,9 @@ TEST_F(DeclarableOpsTests12, pad_tests3) { Nd4jLong padBuff[] = {1,1,2,2}; float expBuff[] = {2.f, 1.f, 1.f, 2.f, 3.f, 3.f, 2.f, 2.f,1.f,1.f,2.f,3.f,3.f,2.f, 5.f,4.f,4.f,5.f,6.f,6.f,5.f, 5.f,4.f,4.f,5.f,6.f,6.f,5.f}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {2,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7}); + auto input = NDArrayFactory::create(inBuff, {2,3}); + auto paddings = NDArrayFactory::create(padBuff, {2,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {2}); @@ -1449,9 +1448,9 @@ TEST_F(DeclarableOpsTests12, pad_tests4) { 0.f, 0.f, 0.f, 13.f, 14.f, 15.f, 0.f, 0.f, 0.f, 0.f, 16.f, 17.f, 18.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {3,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7,7}); + auto input = NDArrayFactory::create(inBuff, {2,3,3}); + auto paddings = NDArrayFactory::create(padBuff, {3,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {0}); @@ -1483,9 +1482,9 @@ TEST_F(DeclarableOpsTests12, pad_tests5) { double inBuff[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}; int padBuff[] = {1,1,2,2,2,2}; double expBuff[] = {18,17,16,17,18,17,16, 15,14,13,14,15,14,13, 12,11,10,11,12,11,10, 15,14,13,14,15,14,13, 18,17,16,17,18,17,16, 15,14,13,14,15,14,13, 12,11,10,11,12,11,10, 9, 8, 7, 8, 9, 8, 7, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 6, 5, 4, 5, 6, 5, 4, 9, 8, 7, 8, 9, 8, 7, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 18,17,16,17,18,17,16, 15,14,13,14,15,14,13, 12,11,10,11,12,11,10, 15,14,13,14,15,14,13, 18,17,16,17,18,17,16, 15,14,13,14,15,14,13, 12,11,10,11,12,11,10, 9, 8, 7, 8, 9, 8, 7, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 6, 5, 4, 5, 6, 5, 4, 9, 8, 7, 8, 9, 8, 7, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {3,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7,7}); + auto input = NDArrayFactory::create(inBuff, {2,3,3}); + auto paddings = NDArrayFactory::create(padBuff, {3,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {1}); @@ -1510,9 +1509,9 @@ TEST_F(DeclarableOpsTests12, pad_tests6) { int padBuff[] = {1,1,2,2,2,2}; double expBuff[] = {5, 4, 4, 5, 6, 6, 5, 2, 1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 5, 4, 4, 5, 6, 6, 5, 8, 7, 7, 8, 9, 9, 8, 8, 7, 7, 8, 9, 9, 8, 5, 4, 4, 5, 6, 6, 5, 5, 4, 4, 5, 6, 6, 5, 2, 1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 5, 4, 4, 5, 6, 6, 5, 8, 7, 7, 8, 9, 9, 8, 8, 7, 7, 8, 9, 9, 8, 5, 4, 4, 5, 6, 6, 5, 14,13,13,14,15,15,14, 11,10,10,11,12,12,11, 11,10,10,11,12,12,11, 14,13,13,14,15,15,14, 17,16,16,17,18,18,17, 17,16,16,17,18,18,17, 14,13,13,14,15,15,14, 14,13,13,14,15,15,14, 11,10,10,11,12,12,11, 11,10,10,11,12,12,11, 14,13,13,14,15,15,14, 17,16,16,17,18,18,17, 17,16,16,17,18,18,17, 14,13,13,14,15,15,14}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {3,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7,7}); + auto input = NDArrayFactory::create(inBuff, {2,3,3}); + auto paddings = NDArrayFactory::create(padBuff, {3,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {2}); @@ -1536,9 +1535,9 @@ TEST_F(DeclarableOpsTests12, pad_tests7) double inBuff[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; int padBuff[] = {1, 1, 1, 1, 1, 1, 1, 1}; double expBuff[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 0, 0, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - auto input = NDArrayFactory::create(inBuff, 'c', {2, 2, 2, 2}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {4, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4, 4, 4, 4}); + auto input = NDArrayFactory::create(inBuff, {2, 2, 2, 2}); + auto paddings = NDArrayFactory::create(padBuff, {4, 2}); + auto expected = NDArrayFactory::create(expBuff, {4, 4, 4, 4}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {0}); @@ -1562,9 +1561,9 @@ TEST_F(DeclarableOpsTests12, pad_tests8) double inBuff[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; int padBuff[] = {1, 1, 1, 1, 1, 1, 1, 1}; double expBuff[] = {16, 15, 16, 15, 14, 13, 14, 13, 16, 15, 16, 15, 14, 13, 14, 13, 12, 11, 12, 11, 10, 9, 10, 9, 12, 11, 12, 11, 10, 9, 10, 9, 16, 15, 16, 15, 14, 13, 14, 13, 16, 15, 16, 15, 14, 13, 14, 13, 12, 11, 12, 11, 10, 9, 10, 9, 12, 11, 12, 11, 10, 9, 10, 9, 8, 7, 8, 7, 6, 5, 6, 5, 8, 7, 8, 7, 6, 5, 6, 5, 4, 3, 4, 3, 2, 1, 2, 1, 4, 3, 4, 3, 2, 1, 2, 1, 8, 7, 8, 7, 6, 5, 6, 5, 8, 7, 8, 7, 6, 5, 6, 5, 4, 3, 4, 3, 2, 1, 2, 1, 4, 3, 4, 3, 2, 1, 2, 1, 16, 15, 16, 15, 14, 13, 14, 13, 16, 15, 16, 15, 14, 13, 14, 13, 12, 11, 12, 11, 10, 9, 10, 9, 12, 11, 12, 11, 10, 9, 10, 9, 16, 15, 16, 15, 14, 13, 14, 13, 16, 15, 16, 15, 14, 13, 14, 13, 12, 11, 12, 11, 10, 9, 10, 9, 12, 11, 12, 11, 10, 9, 10, 9, 8, 7, 8, 7, 6, 5, 6, 5, 8, 7, 8, 7, 6, 5, 6, 5, 4, 3, 4, 3, 2, 1, 2, 1, 4, 3, 4, 3, 2, 1, 2, 1, 8, 7, 8, 7, 6, 5, 6, 5, 8, 7, 8, 7, 6, 5, 6, 5, 4, 3, 4, 3, 2, 1, 2, 1, 4, 3, 4, 3, 2, 1, 2, 1}; - auto input = NDArrayFactory::create(inBuff, 'c', {2, 2, 2, 2}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {4, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4, 4, 4, 4}); + auto input = NDArrayFactory::create(inBuff, {2, 2, 2, 2}); + auto paddings = NDArrayFactory::create(padBuff, {4, 2}); + auto expected = NDArrayFactory::create(expBuff, {4, 4, 4, 4}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {1}); @@ -1588,9 +1587,9 @@ TEST_F(DeclarableOpsTests12, pad_tests9) double inBuff[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; int padBuff[] = {1, 1, 1, 1, 1, 1, 1, 1}; double expBuff[] = {1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4, 1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4, 5, 5, 6, 6, 5, 5, 6, 6, 7, 7, 8, 8, 7, 7, 8, 8, 5, 5, 6, 6, 5, 5, 6, 6, 7, 7, 8, 8, 7, 7, 8, 8, 1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4, 1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4, 5, 5, 6, 6, 5, 5, 6, 6, 7, 7, 8, 8, 7, 7, 8, 8, 5, 5, 6, 6, 5, 5, 6, 6, 7, 7, 8, 8, 7, 7, 8, 8, 9, 9, 10, 10, 9, 9, 10, 10, 11, 11, 12, 12, 11, 11, 12, 12, 9, 9, 10, 10, 9, 9, 10, 10, 11, 11, 12, 12, 11, 11, 12, 12, 13, 13, 14, 14, 13, 13, 14, 14, 15, 15, 16, 16, 15, 15, 16, 16, 13, 13, 14, 14, 13, 13, 14, 14, 15, 15, 16, 16, 15, 15, 16, 16, 9, 9, 10, 10, 9, 9, 10, 10, 11, 11, 12, 12, 11, 11, 12, 12, 9, 9, 10, 10, 9, 9, 10, 10, 11, 11, 12, 12, 11, 11, 12, 12, 13, 13, 14, 14, 13, 13, 14, 14, 15, 15, 16, 16, 15, 15, 16, 16, 13, 13, 14, 14, 13, 13, 14, 14, 15, 15, 16, 16, 15, 15, 16, 16}; - auto input = NDArrayFactory::create(inBuff, 'c', {2, 2, 2, 2}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {4, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4, 4, 4, 4}); + auto input = NDArrayFactory::create(inBuff, {2, 2, 2, 2}); + auto paddings = NDArrayFactory::create(padBuff, {4, 2}); + auto expected = NDArrayFactory::create(expBuff, {4, 4, 4, 4}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {2}); @@ -1609,9 +1608,9 @@ TEST_F(DeclarableOpsTests12, pad_tests9) //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests10) { - auto input = NDArrayFactory::create('c', {2,3,4}); - auto paddings = NDArrayFactory::create('c', {3,2}, {0,0, 0,1, 0,0}); - auto expected = NDArrayFactory::create('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); + auto input = NDArrayFactory::create({2,3,4}); + auto paddings = NDArrayFactory::create({3,2}, {0,0, 0,1, 0,0}); + auto expected = NDArrayFactory::create({2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); input = 1.f; //input.assign(1.); @@ -1631,9 +1630,9 @@ TEST_F(DeclarableOpsTests12, pad_tests10) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests11) { - auto input = NDArrayFactory::create('c', {2,3,4}); - auto paddings = NDArrayFactory::create('c', {3,2}, {0,0, 0,1, 0,0}); - auto expected = NDArrayFactory::create('c', {2,4,4}, {1., 2., 3., 4., 5., 6., 7., 8., 9.,10.,11.,12., 5., 6., 7., 8.,13.,14.,15.,16.,17.,18.,19.,20.,21.,22.,23.,24.,17.,18.,19.,20.}); + auto input = NDArrayFactory::create({2,3,4}); + auto paddings = NDArrayFactory::create({3,2}, {0,0, 0,1, 0,0}); + auto expected = NDArrayFactory::create({2,4,4}, {1., 2., 3., 4., 5., 6., 7., 8., 9.,10.,11.,12., 5., 6., 7., 8.,13.,14.,15.,16.,17.,18.,19.,20.,21.,22.,23.,24.,17.,18.,19.,20.}); input.linspace(1.f); @@ -1653,9 +1652,9 @@ TEST_F(DeclarableOpsTests12, pad_tests11) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests12) { - auto input = NDArrayFactory::create('c', {2,3,4,5}); - auto paddings = NDArrayFactory::create('c', {4,2}, {0,0, 0,1, 0,1, 0,0}); - auto expected = NDArrayFactory::create('c', {2,4,5,5}, { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 16., 17., 18., 19., 20., + auto input = NDArrayFactory::create({2,3,4,5}); + auto paddings = NDArrayFactory::create({4,2}, {0,0, 0,1, 0,1, 0,0}); + auto expected = NDArrayFactory::create({2,4,5,5}, { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 16., 17., 18., 19., 20., 21., 22., 23., 24., 25., 26., 27., 28., 29., 30., 31., 32., 33., 34., 35., 36., 37., 38., 39., 40., 36., 37., 38., 39., 40., 41., 42., 43., 44., 45., 46., 47., 48., 49., 50., 51., 52., 53., 54., 55., 56., 57., 58., 59., 60., 56., 57., 58., 59., 60., 41., 42., 43., 44., 45., 46., 47., 48., 49., 50., 51., 52., 53., 54., 55., 56., 57., 58., 59., 60., 56., 57., 58., 59., 60., @@ -1682,9 +1681,9 @@ TEST_F(DeclarableOpsTests12, pad_tests12) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests13) { - auto input = NDArrayFactory::create('c', {5}); - auto paddings = NDArrayFactory::create('c', {1,2}, {2,3}); - auto expected = NDArrayFactory::create('c', {10}, {3., 2., 1., 2., 3., 4., 5., 4., 3., 2.}); + auto input = NDArrayFactory::create({5}); + auto paddings = NDArrayFactory::create({1,2}, {2,3}); + auto expected = NDArrayFactory::create({10}, {3., 2., 1., 2., 3., 4., 5., 4., 3., 2.}); input.linspace(1.f); sd::ops::pad op; @@ -1704,9 +1703,9 @@ TEST_F(DeclarableOpsTests12, pad_tests13) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests14) { - auto input = NDArrayFactory::create('c', {1,5}); - auto paddings = NDArrayFactory::create('c', {2,2}, {0,0,2,3}); - auto expected = NDArrayFactory::create('c', {1,10}, {2., 1., 1., 2., 3., 4., 5., 5., 4., 3.}); + auto input = NDArrayFactory::create({1,5}); + auto paddings = NDArrayFactory::create({2,2}, {0,0,2,3}); + auto expected = NDArrayFactory::create({1,10}, {2., 1., 1., 2., 3., 4., 5., 5., 4., 3.}); input.linspace(1.f); sd::ops::pad op; @@ -1725,9 +1724,9 @@ TEST_F(DeclarableOpsTests12, pad_tests14) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests15) { - auto input = NDArrayFactory::create('c', {1,5}); - auto paddings = NDArrayFactory::create('c', {2,2}, {1,1,0,0}); - auto expected = NDArrayFactory::create('c', {3,5}, {1., 2., 3., 4., 5., 1., 2., 3., 4., 5., 1., 2., 3., 4., 5.}); + auto input = NDArrayFactory::create({1,5}); + auto paddings = NDArrayFactory::create({2,2}, {1,1,0,0}); + auto expected = NDArrayFactory::create({3,5}, {1., 2., 3., 4., 5., 1., 2., 3., 4., 5., 1., 2., 3., 4., 5.}); input.linspace(1.f); sd::ops::pad op; @@ -1746,9 +1745,9 @@ TEST_F(DeclarableOpsTests12, pad_tests15) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests16) { - auto input = NDArrayFactory::create('c', {5,1}); - auto paddings = NDArrayFactory::create('c', {2,2}, {2,3,0,0}); - auto expected = NDArrayFactory::create('c', {10,1}, {3., 2., 1., 2., 3., 4., 5., 4., 3., 2.}); + auto input = NDArrayFactory::create({5,1}); + auto paddings = NDArrayFactory::create({2,2}, {2,3,0,0}); + auto expected = NDArrayFactory::create({10,1}, {3., 2., 1., 2., 3., 4., 5., 4., 3., 2.}); input.linspace(1.f); sd::ops::pad op; @@ -1767,9 +1766,9 @@ TEST_F(DeclarableOpsTests12, pad_tests16) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests17) { - auto input = NDArrayFactory::create('c', {5,1}); - auto paddings = NDArrayFactory::create('c', {2,2}, {0,0,1,0}); - auto expected = NDArrayFactory::create('c', {5,2}, {1.,1., 2.,2., 3.,3., 4.,4., 5.,5.}); + auto input = NDArrayFactory::create({5,1}); + auto paddings = NDArrayFactory::create({2,2}, {0,0,1,0}); + auto expected = NDArrayFactory::create({5,2}, {1.,1., 2.,2., 3.,3., 4.,4., 5.,5.}); input.linspace(1.f); sd::ops::pad op; @@ -1788,9 +1787,9 @@ TEST_F(DeclarableOpsTests12, pad_tests17) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests18) { - auto input = NDArrayFactory::create('c', {5}); - auto paddings = NDArrayFactory::create('c', {1,2}, {0,0}); - auto expected = NDArrayFactory::create('c', {5}, {1.,2.,3.,4.,5.}); + auto input = NDArrayFactory::create({5}); + auto paddings = NDArrayFactory::create({1,2}, {0,0}); + auto expected = NDArrayFactory::create({5}, {1.,2.,3.,4.,5.}); input.linspace(1.f); sd::ops::pad op; @@ -1809,9 +1808,9 @@ TEST_F(DeclarableOpsTests12, pad_tests18) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests19) { - auto input = NDArrayFactory::create('c', {5,1}); - auto paddings = NDArrayFactory::create('c', {2,2}, {0,0,0,0}); - auto expected = NDArrayFactory::create('c', {5,1}, {1., 2., 3., 4., 5.}); + auto input = NDArrayFactory::create({5,1}); + auto paddings = NDArrayFactory::create({2,2}, {0,0,0,0}); + auto expected = NDArrayFactory::create({5,1}, {1., 2., 3., 4., 5.}); input.linspace(1.f); sd::ops::pad op; @@ -1830,9 +1829,9 @@ TEST_F(DeclarableOpsTests12, pad_tests19) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests20) { - auto input = NDArrayFactory::create('c', {1,5}); - auto paddings = NDArrayFactory::create('c', {2,2}, {0,0,0,0}); - auto expected = NDArrayFactory::create('c', {1,5}, {1., 2., 3., 4., 5.}); + auto input = NDArrayFactory::create({1,5}); + auto paddings = NDArrayFactory::create({2,2}, {0,0,0,0}); + auto expected = NDArrayFactory::create({1,5}, {1., 2., 3., 4., 5.}); input.linspace(1.f); sd::ops::pad op; @@ -1851,9 +1850,9 @@ TEST_F(DeclarableOpsTests12, pad_tests20) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests21) { - auto input = NDArrayFactory::create('c', {1,3,1,5}); - auto paddings = NDArrayFactory::create('c', {4,2}, {0,0, 0,1, 0,1, 0,0}); - auto expected = NDArrayFactory::create('c', {1,4,2,5}, {1., 2., 3., 4., 5., 1., 2., 3., 4., 5., 6., 7., 8., 9.,10., 6., 7., 8., 9.,10., + auto input = NDArrayFactory::create({1,3,1,5}); + auto paddings = NDArrayFactory::create({4,2}, {0,0, 0,1, 0,1, 0,0}); + auto expected = NDArrayFactory::create({1,4,2,5}, {1., 2., 3., 4., 5., 1., 2., 3., 4., 5., 6., 7., 8., 9.,10., 6., 7., 8., 9.,10., 11.,12.,13.,14.,15.,11.,12.,13.,14.,15.,11.,12.,13.,14.,15.,11.,12.,13.,14.,15.}); input.linspace(1.f); @@ -1874,9 +1873,9 @@ TEST_F(DeclarableOpsTests12, pad_tests21) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests22) { - auto input = NDArrayFactory::create('c', {1,1}); - auto paddings = NDArrayFactory::create('c', {2,2}, {0,0, 0,0}); - auto expected = NDArrayFactory::create('c', {1,1}, {1.}); + auto input = NDArrayFactory::create({1,1}); + auto paddings = NDArrayFactory::create({2,2}, {0,0, 0,0}); + auto expected = NDArrayFactory::create({1,1}, {1.}); input.linspace(1.f); @@ -1897,9 +1896,9 @@ TEST_F(DeclarableOpsTests12, pad_tests22) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests23) { - auto input = NDArrayFactory::create('c', {1,1}); - auto paddings = NDArrayFactory::create('c', {2,2}, {0,0, 1,0}); - auto expected = NDArrayFactory::create('c', {1,2}, {0.,1.}); + auto input = NDArrayFactory::create({1,1}); + auto paddings = NDArrayFactory::create({2,2}, {0,0, 1,0}); + auto expected = NDArrayFactory::create({1,2}, {0.,1.}); input.linspace(1.f); @@ -1921,9 +1920,9 @@ TEST_F(DeclarableOpsTests12, pad_tests23) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests24) { - auto input = NDArrayFactory::create('c', {1}); - auto paddings = NDArrayFactory::create('c', {1,2}, {0,0}); - auto expected = NDArrayFactory::create('c', {1}, {1.}); + auto input = NDArrayFactory::create({1}); + auto paddings = NDArrayFactory::create({1,2}, {0,0}); + auto expected = NDArrayFactory::create({1}, {1.}); input.linspace(1.f); @@ -1943,9 +1942,9 @@ TEST_F(DeclarableOpsTests12, pad_tests24) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests25) { - auto input = NDArrayFactory::create('c', {1}); - auto paddings = NDArrayFactory::create('c', {1,2}, {1,1}); - auto expected = NDArrayFactory::create('c', {3}, {1.,1.,1}); + auto input = NDArrayFactory::create({1}); + auto paddings = NDArrayFactory::create({1,2}, {1,1}); + auto expected = NDArrayFactory::create({3}, {1.,1.,1}); input.linspace(1.f); @@ -1965,9 +1964,9 @@ TEST_F(DeclarableOpsTests12, pad_tests25) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests26) { - auto input = NDArrayFactory::create('c', {1}); - auto paddings = NDArrayFactory::create('c', {1,2}, {3,2}); - auto expected = NDArrayFactory::create('c', {6}, {0., 0., 0., 1., 0., 0.}); + auto input = NDArrayFactory::create({1}); + auto paddings = NDArrayFactory::create({1,2}, {3,2}); + auto expected = NDArrayFactory::create({6}, {0., 0., 0., 1., 0., 0.}); input.linspace(1.f); @@ -2023,12 +2022,12 @@ TEST_F(DeclarableOpsTests12, pad_tests28) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests29) { - auto in = NDArrayFactory::create({1., 1., 1., 1., 1.}); -// auto pad = NDArrayFactory::create('c', {1, 2}, {1., 1.});// = Nd4j.create(new double[]{1, 1}, new long[]{1, 2}); - auto pad = NDArrayFactory::create('c', {1, 2}, {1, 1}); + auto in = NDArrayFactory::vector({1., 1., 1., 1., 1.}); +// auto pad = NDArrayFactory::create({1, 2}, {1., 1.});// = Nd4j.create(new double[]{1, 1}, new long[]{1, 2}); + auto pad = NDArrayFactory::create({1, 2}, {1, 1}); // auto value(10.0); - auto exp = NDArrayFactory::create({10., 1., 1., 1., 1., 1., 10.}); + auto exp = NDArrayFactory::vector({10., 1., 1., 1., 1., 1., 10.}); sd::ops::pad op; @@ -2042,10 +2041,10 @@ TEST_F(DeclarableOpsTests12, pad_tests29) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests30) { - auto in = NDArrayFactory::create({1., 11., 111., 11., 1.}); - auto pad = NDArrayFactory::create('c', {1, 2}, {1, 1}); + auto in = NDArrayFactory::vector({1., 11., 111., 11., 1.}); + auto pad = NDArrayFactory::create({1, 2}, {1, 1}); - auto exp = NDArrayFactory::create({1., 1., 11., 111., 11., 1., 1.}); + auto exp = NDArrayFactory::vector({1., 1., 11., 111., 11., 1., 1.}); sd::ops::pad op; @@ -2058,12 +2057,12 @@ TEST_F(DeclarableOpsTests12, pad_tests30) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests31) { - auto in = NDArrayFactory::create({1., 11., 111., 1111., 11111.}); -// auto pad = NDArrayFactory::create('c', {1, 2}, {1., 1.});// = Nd4j.create(new double[]{1, 1}, new long[]{1, 2}); - auto pad = NDArrayFactory::create('c', {1, 2}, {1, 1}); + auto in = NDArrayFactory::vector({1., 11., 111., 1111., 11111.}); +// auto pad = NDArrayFactory::create({1, 2}, {1., 1.});// = Nd4j.create(new double[]{1, 1}, new long[]{1, 2}); + auto pad = NDArrayFactory::create({1, 2}, {1, 1}); // auto value(10.0); - auto exp = NDArrayFactory::create({11., 1., 11., 111., 1111., 11111., 1111.}); + auto exp = NDArrayFactory::vector({11., 1., 11., 111., 1111., 11111., 1111.}); sd::ops::pad op; @@ -2076,10 +2075,10 @@ TEST_F(DeclarableOpsTests12, pad_tests31) { /////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests32) { - auto in = NDArrayFactory::create('c', {3,3}, {1., 2., 3., 4., 5.,6,7,8,9}); - auto pad = NDArrayFactory::create('c', {2,2}, {1, 2, 2, 3}); + auto in = NDArrayFactory::create({3,3}, {1., 2., 3., 4., 5.,6,7,8,9}); + auto pad = NDArrayFactory::create({2,2}, {1, 2, 2, 3}); - auto exp = NDArrayFactory::create('c', {6,8}, {2, 1, 1, 2, 3, 3, 2, 1, 2, 1, 1, 2, 3, 3, 2, 1, 5, 4, 4, 5, 6, 6, 5, 4, 8, 7, 7, 8, 9, 9, 8, 7, 8, 7, 7, 8, 9, 9, 8, 7, 5, 4, 4, 5, 6, 6, 5, 4}); + auto exp = NDArrayFactory::create({6,8}, {2, 1, 1, 2, 3, 3, 2, 1, 2, 1, 1, 2, 3, 3, 2, 1, 5, 4, 4, 5, 6, 6, 5, 4, 8, 7, 7, 8, 9, 9, 8, 7, 8, 7, 7, 8, 9, 9, 8, 7, 5, 4, 4, 5, 6, 6, 5, 4}); sd::ops::pad op; @@ -2091,11 +2090,11 @@ TEST_F(DeclarableOpsTests12, pad_tests32) { /////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests33) { - auto in = NDArrayFactory::create('c', {2,3,4}, {1, 2, 3, 4,5, 6, 7, 8,9,10,11,12,13, 14, 15, 16,17, 18, 19, 20,21, 22, 23, 24}); + auto in = NDArrayFactory::create({2,3,4}, {1, 2, 3, 4,5, 6, 7, 8,9,10,11,12,13, 14, 15, 16,17, 18, 19, 20,21, 22, 23, 24}); - auto pad = NDArrayFactory::create('c', {3,2}, {1, 2, 2, 3, 3,3}); + auto pad = NDArrayFactory::create({3,2}, {1, 2, 2, 3, 3,3}); - auto exp = NDArrayFactory::create('c', {5,8,10}, { 7,6,5,5,6,7,8,8,7,6., 3,2,1,1,2,3,4,4,3,2., 3,2,1,1,2,3,4,4,3,2., 7,6,5,5,6,7,8,8,7,6., 11,10,9,9,10,11,12,12,11,10., + auto exp = NDArrayFactory::create({5,8,10}, { 7,6,5,5,6,7,8,8,7,6., 3,2,1,1,2,3,4,4,3,2., 3,2,1,1,2,3,4,4,3,2., 7,6,5,5,6,7,8,8,7,6., 11,10,9,9,10,11,12,12,11,10., 11,10,9,9,10,11,12,12,11,10., 7,6,5,5,6,7,8,8,7,6., 3,2,1,1,2,3,4,4,3,2., 7,6,5,5,6,7,8,8,7,6., 3,2,1,1,2,3,4,4,3,2., 3,2,1,1,2,3,4,4,3,2., 7,6,5,5,6,7,8,8,7,6., 11,10,9,9,10,11,12,12,11,10., 11,10,9,9,10,11,12,12,11,10.,7,6,5,5,6,7,8,8,7,6., 3,2,1,1,2,3,4,4,3,2., 19,18,17,17,18,19,20,20,19,18., 15,14,13,13,14,15,16,16,15,14., 15,14,13,13,14,15,16,16,15,14., @@ -2136,9 +2135,9 @@ TEST_F(DeclarableOpsTests12, Pad_1) { int padBuff[] = {1,1,2,2}; double expBuff[] = {0,0,0,0,0,0,0, 0,0,1,2,3,0,0, 0,0,4,5,6,0,0, 0,0,0,0,0,0,0}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {2,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7}); + auto input = NDArrayFactory::create(inBuff, {2,3}); + auto paddings = NDArrayFactory::create(padBuff, {2,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {0}); @@ -2163,9 +2162,9 @@ TEST_F(DeclarableOpsTests12, Pad_2) { int padBuff[] = {1,1,2,2}; double expBuff[] = {6,5,4,5,6,5,4, 3,2,1,2,3,2,1, 6,5,4,5,6,5,4, 3,2,1,2,3,2,1}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {2,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7}); + auto input = NDArrayFactory::create(inBuff, {2,3}); + auto paddings = NDArrayFactory::create(padBuff, {2,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {1}); @@ -2190,9 +2189,9 @@ TEST_F(DeclarableOpsTests12, Pad_3) { int padBuff[] = {1,1,2,2}; double expBuff[] = {2,1,1,2,3,3,2, 2,1,1,2,3,3,2, 5,4,4,5,6,6,5, 5,4,4,5,6,6,5}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {2,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7}); + auto input = NDArrayFactory::create(inBuff, {2,3}); + auto paddings = NDArrayFactory::create(padBuff, {2,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {2}); @@ -2217,9 +2216,9 @@ TEST_F(DeclarableOpsTests12, Pad_4) { int padBuff[] = {1,1,2,2,2,2}; double expBuff[] = {0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 1, 2, 3,0,0,0,0, 4, 5, 6,0,0,0,0, 7, 8, 9,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0,10,11,12,0,0,0,0,13,14,15,0,0,0,0,16,17,18,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0,0,0, 0, 0, 0,0,0}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {3,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7,7}); + auto input = NDArrayFactory::create(inBuff, {2,3,3}); + auto paddings = NDArrayFactory::create(padBuff, {3,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {0}); @@ -2244,9 +2243,9 @@ TEST_F(DeclarableOpsTests12, Pad_5) { double inBuff[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}; int padBuff[] = {1,1,2,2,2,2}; double expBuff[] = {18,17,16,17,18,17,16, 15,14,13,14,15,14,13, 12,11,10,11,12,11,10, 15,14,13,14,15,14,13, 18,17,16,17,18,17,16, 15,14,13,14,15,14,13, 12,11,10,11,12,11,10, 9, 8, 7, 8, 9, 8, 7, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 6, 5, 4, 5, 6, 5, 4, 9, 8, 7, 8, 9, 8, 7, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 18,17,16,17,18,17,16, 15,14,13,14,15,14,13, 12,11,10,11,12,11,10, 15,14,13,14,15,14,13, 18,17,16,17,18,17,16, 15,14,13,14,15,14,13, 12,11,10,11,12,11,10, 9, 8, 7, 8, 9, 8, 7, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 6, 5, 4, 5, 6, 5, 4, 9, 8, 7, 8, 9, 8, 7, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {3,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7,7}); + auto input = NDArrayFactory::create(inBuff, {2,3,3}); + auto paddings = NDArrayFactory::create(padBuff, {3,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {1}); @@ -2271,9 +2270,9 @@ TEST_F(DeclarableOpsTests12, Pad_6) { int padBuff[] = {1,1,2,2,2,2}; double expBuff[] = {5, 4, 4, 5, 6, 6, 5, 2, 1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 5, 4, 4, 5, 6, 6, 5, 8, 7, 7, 8, 9, 9, 8, 8, 7, 7, 8, 9, 9, 8, 5, 4, 4, 5, 6, 6, 5, 5, 4, 4, 5, 6, 6, 5, 2, 1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 5, 4, 4, 5, 6, 6, 5, 8, 7, 7, 8, 9, 9, 8, 8, 7, 7, 8, 9, 9, 8, 5, 4, 4, 5, 6, 6, 5, 14,13,13,14,15,15,14, 11,10,10,11,12,12,11, 11,10,10,11,12,12,11, 14,13,13,14,15,15,14, 17,16,16,17,18,18,17, 17,16,16,17,18,18,17, 14,13,13,14,15,15,14, 14,13,13,14,15,15,14, 11,10,10,11,12,12,11, 11,10,10,11,12,12,11, 14,13,13,14,15,15,14, 17,16,16,17,18,18,17, 17,16,16,17,18,18,17, 14,13,13,14,15,15,14}; - auto input = NDArrayFactory::create(inBuff, 'c', {2,3,3}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {3,2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4,7,7}); + auto input = NDArrayFactory::create(inBuff, {2,3,3}); + auto paddings = NDArrayFactory::create(padBuff, {3,2}); + auto expected = NDArrayFactory::create(expBuff, {4,7,7}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {2}); @@ -2297,9 +2296,9 @@ TEST_F(DeclarableOpsTests12, Pad_7) double inBuff[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; int padBuff[] = {1, 1, 1, 1, 1, 1, 1, 1}; double expBuff[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 0, 0, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - auto input = NDArrayFactory::create(inBuff, 'c', {2, 2, 2, 2}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {4, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4, 4, 4, 4}); + auto input = NDArrayFactory::create(inBuff, {2, 2, 2, 2}); + auto paddings = NDArrayFactory::create(padBuff, {4, 2}); + auto expected = NDArrayFactory::create(expBuff, {4, 4, 4, 4}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {0}); @@ -2323,9 +2322,9 @@ TEST_F(DeclarableOpsTests12, Pad_8) double inBuff[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; int padBuff[] = {1, 1, 1, 1, 1, 1, 1, 1}; double expBuff[] = {16, 15, 16, 15, 14, 13, 14, 13, 16, 15, 16, 15, 14, 13, 14, 13, 12, 11, 12, 11, 10, 9, 10, 9, 12, 11, 12, 11, 10, 9, 10, 9, 16, 15, 16, 15, 14, 13, 14, 13, 16, 15, 16, 15, 14, 13, 14, 13, 12, 11, 12, 11, 10, 9, 10, 9, 12, 11, 12, 11, 10, 9, 10, 9, 8, 7, 8, 7, 6, 5, 6, 5, 8, 7, 8, 7, 6, 5, 6, 5, 4, 3, 4, 3, 2, 1, 2, 1, 4, 3, 4, 3, 2, 1, 2, 1, 8, 7, 8, 7, 6, 5, 6, 5, 8, 7, 8, 7, 6, 5, 6, 5, 4, 3, 4, 3, 2, 1, 2, 1, 4, 3, 4, 3, 2, 1, 2, 1, 16, 15, 16, 15, 14, 13, 14, 13, 16, 15, 16, 15, 14, 13, 14, 13, 12, 11, 12, 11, 10, 9, 10, 9, 12, 11, 12, 11, 10, 9, 10, 9, 16, 15, 16, 15, 14, 13, 14, 13, 16, 15, 16, 15, 14, 13, 14, 13, 12, 11, 12, 11, 10, 9, 10, 9, 12, 11, 12, 11, 10, 9, 10, 9, 8, 7, 8, 7, 6, 5, 6, 5, 8, 7, 8, 7, 6, 5, 6, 5, 4, 3, 4, 3, 2, 1, 2, 1, 4, 3, 4, 3, 2, 1, 2, 1, 8, 7, 8, 7, 6, 5, 6, 5, 8, 7, 8, 7, 6, 5, 6, 5, 4, 3, 4, 3, 2, 1, 2, 1, 4, 3, 4, 3, 2, 1, 2, 1}; - auto input = NDArrayFactory::create(inBuff, 'c', {2, 2, 2, 2}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {4, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4, 4, 4, 4}); + auto input = NDArrayFactory::create(inBuff, {2, 2, 2, 2}); + auto paddings = NDArrayFactory::create(padBuff, {4, 2}); + auto expected = NDArrayFactory::create(expBuff, {4, 4, 4, 4}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {1}); @@ -2349,9 +2348,9 @@ TEST_F(DeclarableOpsTests12, Pad_9) double inBuff[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; int padBuff[] = {1, 1, 1, 1, 1, 1, 1, 1}; double expBuff[] = {1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4, 1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4, 5, 5, 6, 6, 5, 5, 6, 6, 7, 7, 8, 8, 7, 7, 8, 8, 5, 5, 6, 6, 5, 5, 6, 6, 7, 7, 8, 8, 7, 7, 8, 8, 1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4, 1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4, 5, 5, 6, 6, 5, 5, 6, 6, 7, 7, 8, 8, 7, 7, 8, 8, 5, 5, 6, 6, 5, 5, 6, 6, 7, 7, 8, 8, 7, 7, 8, 8, 9, 9, 10, 10, 9, 9, 10, 10, 11, 11, 12, 12, 11, 11, 12, 12, 9, 9, 10, 10, 9, 9, 10, 10, 11, 11, 12, 12, 11, 11, 12, 12, 13, 13, 14, 14, 13, 13, 14, 14, 15, 15, 16, 16, 15, 15, 16, 16, 13, 13, 14, 14, 13, 13, 14, 14, 15, 15, 16, 16, 15, 15, 16, 16, 9, 9, 10, 10, 9, 9, 10, 10, 11, 11, 12, 12, 11, 11, 12, 12, 9, 9, 10, 10, 9, 9, 10, 10, 11, 11, 12, 12, 11, 11, 12, 12, 13, 13, 14, 14, 13, 13, 14, 14, 15, 15, 16, 16, 15, 15, 16, 16, 13, 13, 14, 14, 13, 13, 14, 14, 15, 15, 16, 16, 15, 15, 16, 16}; - auto input = NDArrayFactory::create(inBuff, 'c', {2, 2, 2, 2}); - auto paddings = NDArrayFactory::create(padBuff, 'c', {4, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {4, 4, 4, 4}); + auto input = NDArrayFactory::create(inBuff, {2, 2, 2, 2}); + auto paddings = NDArrayFactory::create(padBuff, {4, 2}); + auto expected = NDArrayFactory::create(expBuff, {4, 4, 4, 4}); sd::ops::pad op; auto results = op.evaluate({&input, &paddings}, {}, {2}); @@ -2368,8 +2367,8 @@ TEST_F(DeclarableOpsTests12, Pad_9) } TEST_F(DeclarableOpsTests12, Test_Expose_1) { - auto input0 = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 6, 5, 4}); - auto input1 = NDArrayFactory::create('c', {2, 3}, {3, 2, 1, 4, 5, 6}); + auto input0 = NDArrayFactory::create({2, 3}, {1, 2, 3, 6, 5, 4}); + auto input1 = NDArrayFactory::create({2, 3}, {3, 2, 1, 4, 5, 6}); sd::ops::expose op; @@ -2389,12 +2388,12 @@ TEST_F(DeclarableOpsTests12, Test_Expose_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, Pad_SGO_Test_1) { - auto in = NDArrayFactory::create({1., 1., 1., 1., 1.}); -// auto pad = NDArrayFactory::create('c', {1, 2}, {1., 1.});// = Nd4j.create(new double[]{1, 1}, new long[]{1, 2}); - auto pad = NDArrayFactory::create('c', {1, 2}, {1, 1}); + auto in = NDArrayFactory::vector({1., 1., 1., 1., 1.}); +// auto pad = NDArrayFactory::create({1, 2}, {1., 1.});// = Nd4j.create(new double[]{1, 1}, new long[]{1, 2}); + auto pad = NDArrayFactory::create({1, 2}, {1, 1}); // auto value(10.0); - auto exp = NDArrayFactory::create({10., 1., 1., 1., 1., 1., 10.}); + auto exp = NDArrayFactory::vector({10., 1., 1., 1., 1., 1., 10.}); sd::ops::pad op; @@ -2409,9 +2408,9 @@ TEST_F(DeclarableOpsTests12, Pad_SGO_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_1) { - auto in = NDArrayFactory::create('c', {3,3}, {1., 2., 3., 0., 2., 3., 0., 0., 7.}); - auto exp = NDArrayFactory::create('c', {3,3}, {1., 2., 3., 0., 2., 3., 0., 0., 7}); - auto pExp = NDArrayFactory::create('c', {3}, {0, 1, 2}); + auto in = NDArrayFactory::create({3,3}, {1., 2., 3., 0., 2., 3., 0., 0., 7.}); + auto exp = NDArrayFactory::create({3,3}, {1., 2., 3., 0., 2., 3., 0., 0., 7}); + auto pExp = NDArrayFactory::create({3}, {0, 1, 2}); sd::ops::lu op; auto res = op.evaluate({&in}); @@ -2429,10 +2428,10 @@ TEST_F(DeclarableOpsTests12, LU_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_2) { - auto in = NDArrayFactory::create('c', {3,3}, {1, 0, 0, 2, 3, 0, 4, 5, 6}); + auto in = NDArrayFactory::create({3,3}, {1, 0, 0, 2, 3, 0, 4, 5, 6}); - auto expLU = NDArrayFactory::create('c', {3,3}, {4., 5., 6., 0.25, -1.25, -1.5, 0.5, -0.4, -3.6}); - auto expP = NDArrayFactory::create({2, 0, 1}); + auto expLU = NDArrayFactory::create({3,3}, {4., 5., 6., 0.25, -1.25, -1.5, 0.5, -0.4, -3.6}); + auto expP = NDArrayFactory::vector({2, 0, 1}); sd::ops::lu op; auto res = op.evaluate({&in}); @@ -2448,14 +2447,14 @@ TEST_F(DeclarableOpsTests12, LU_Test_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_3) { - auto in = NDArrayFactory::create('c', {3,3}, {1,2,3,4,7,9, 11, 12, 13}); + auto in = NDArrayFactory::create({3,3}, {1,2,3,4,7,9, 11, 12, 13}); - auto expLU = NDArrayFactory::create('c', {3,3}, { + auto expLU = NDArrayFactory::create({3,3}, { 11., 12., 13., 0.36363637, 2.6363635, 4.272727, 0.09090909, 0.3448276, 0.34482753}); - auto expP = NDArrayFactory::create({2, 1, 0}); + auto expP = NDArrayFactory::vector({2, 1, 0}); sd::ops::lu op; auto res = op.evaluate({&in}); @@ -2472,7 +2471,7 @@ TEST_F(DeclarableOpsTests12, LU_Test_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_4) { - auto in = NDArrayFactory::create('c', {10,10}, { + auto in = NDArrayFactory::create({10,10}, { 1., 2., 3., 4., 5., 6., 7., 8., 1., 15., 5., 1., 13., 4., 15., 1., 17., 9., 11., 25., 1., 9., 1., 4., 5., 2., 13., 10, 21., 15., @@ -2484,7 +2483,7 @@ TEST_F(DeclarableOpsTests12, LU_Test_4) { 1., 1., 1., 1., 5., 6., 5., 4., 3., 2., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.}); - auto expLU = NDArrayFactory::create('c', {10,10}, { + auto expLU = NDArrayFactory::create({10,10}, { 5.0, 1.0, 13.0, 4.0, 15.0, 1.0, 17.0, 9.0, 11.0, 25.0, 0.2, 8.8, -1.6, 3.2, 2.0, 1.8, 9.6, 8.2, 18.8, 10.0, 0.6, 0.386364, -4.181818, -0.636364, -5.772727, 2.704545, -9.909091, -7.568182, -10.863636, -17.863636, @@ -2497,7 +2496,7 @@ TEST_F(DeclarableOpsTests12, LU_Test_4) { 0.2, 0.090909, 0.347826, -0.031746, 0.057692, -0.070344, -0.030154, -0.243578, 0.087256, 0.112695 }); - auto expP = NDArrayFactory::create({1, 2, 7, 3, 6, 8, 5, 4, 0, 9}); + auto expP = NDArrayFactory::vector({1, 2, 7, 3, 6, 8, 5, 4, 0, 9}); sd::ops::lu op; auto res = op.evaluate({&in}); @@ -2515,7 +2514,7 @@ TEST_F(DeclarableOpsTests12, LU_Test_4) { TEST_F(DeclarableOpsTests12, LU_Test_5) { - auto in = NDArrayFactory::create('c', {2, 10,10}, { + auto in = NDArrayFactory::create({2, 10,10}, { 1., 2., 3., 4., 5., 6., 7., 8., 1., 15., 5., 1., 13., 4., 15., 1., 17., 9., 11., 25., 1., 9., 1., 4., 5., 2., 13., 10, 21., 15., @@ -2539,7 +2538,7 @@ TEST_F(DeclarableOpsTests12, LU_Test_5) { 1., 1., 1., 1., 1., 1., 1., 1., 1., 1. }); - auto expLU = NDArrayFactory::create('c', {2, 10,10}, { + auto expLU = NDArrayFactory::create({2, 10,10}, { 5.0, 1.0, 13.0, 4.0, 15.0, 1.0, 17.0, 9.0, 11.0, 25.0, 0.2, 8.8, -1.6, 3.2, 2.0, 1.8, 9.6, 8.2, 18.8, 10.0, 0.6, 0.386364, -4.181818, -0.636364, -5.772727, 2.704545, -9.909091, -7.568182, -10.863636, -17.863636, @@ -2564,7 +2563,7 @@ TEST_F(DeclarableOpsTests12, LU_Test_5) { }); - auto expP = NDArrayFactory::create('c', {2, 10}, { + auto expP = NDArrayFactory::create({2, 10}, { 1, 2, 7, 3, 6, 8, 5, 4, 0, 9, 1, 2, 7, 3, 6, 8, 5, 4, 0, 9 }); @@ -2586,8 +2585,8 @@ TEST_F(DeclarableOpsTests12, LU_Test_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_1_2) { - auto in = NDArrayFactory::create('c', {2, 3,3}, {1., 2., 3., 0., 2., 3., 0., 0., 7.,1., 2., 3., 0., 2., 3., 0., 0., 7.}); - auto exp = NDArrayFactory::create('c', {2, 3,3}, {1., 2., 3., 0., 2., 3., 0., 0., 7, 1., 2., 3., 0., 2., 3., 0., 0., 7.}); + auto in = NDArrayFactory::create({2, 3,3}, {1., 2., 3., 0., 2., 3., 0., 0., 7.,1., 2., 3., 0., 2., 3., 0., 0., 7.}); + auto exp = NDArrayFactory::create({2, 3,3}, {1., 2., 3., 0., 2., 3., 0., 0., 7, 1., 2., 3., 0., 2., 3., 0., 0., 7.}); sd::ops::lu op; @@ -2604,9 +2603,9 @@ TEST_F(DeclarableOpsTests12, LU_Test_1_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_3_2) { - auto in = NDArrayFactory::create('c', {2, 3,3}, {1,2,3,4,7,9, 11, 12, 13,1,2,3,4,7,9, 11, 12, 13}); + auto in = NDArrayFactory::create({2, 3,3}, {1,2,3,4,7,9, 11, 12, 13,1,2,3,4,7,9, 11, 12, 13}); - auto expLU = NDArrayFactory::create('c', {2, 3,3}, { + auto expLU = NDArrayFactory::create({2, 3,3}, { 11., 12., 13., 0.36363637, 2.6363635, 4.272727, 0.09090909, 0.3448276, 0.34482753, @@ -2616,7 +2615,7 @@ TEST_F(DeclarableOpsTests12, LU_Test_3_2) { 0.09090909, 0.3448276, 0.34482753 }); - auto expP = NDArrayFactory::create('c', {2,3}, {2, 1, 0, 2, 1, 0}); + auto expP = NDArrayFactory::create({2,3}, {2, 1, 0, 2, 1, 0}); sd::ops::lu op; auto res = op.evaluate({&in}); @@ -2634,8 +2633,8 @@ TEST_F(DeclarableOpsTests12, LU_Test_3_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_3_3) { - auto in = NDArrayFactory::create('c', {2, 3,3}, {1,2,3,4,7,9, 11, 12, 13,13,2,3,4,7,9, 11, 12, 1}); - auto expLU = NDArrayFactory::create('c', {2, 3,3}, { + auto in = NDArrayFactory::create({2, 3,3}, {1,2,3,4,7,9, 11, 12, 13,13,2,3,4,7,9, 11, 12, 1}); + auto expLU = NDArrayFactory::create({2, 3,3}, { 11., 12., 13., 0.36363637, 2.6363635, 4.272727, 0.09090909, 0.3448276, 0.34482753, @@ -2644,7 +2643,7 @@ TEST_F(DeclarableOpsTests12, LU_Test_3_3) { 0.84615386, 10.307693, -1.5384617, 0.30769232, 0.619403, 9.029851}); - auto expP = NDArrayFactory::create('c', {2,3}, {2, 1, 0, 0, 2, 1}); + auto expP = NDArrayFactory::create({2,3}, {2, 1, 0, 0, 2, 1}); sd::ops::lu op; auto res = op.evaluate({&in}); @@ -2662,17 +2661,17 @@ TEST_F(DeclarableOpsTests12, LU_Test_3_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_4_1) { - auto in = NDArrayFactory::create('c', {2, 2,2}, { + auto in = NDArrayFactory::create({2, 2,2}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f }); - auto expLU = NDArrayFactory::create('c', {2, 2,2}, { + auto expLU = NDArrayFactory::create({2, 2,2}, { 0.7788f, 0.8012f, 0.930149f, -0.514335f, 0.7271f, 0.1804f, 0.695365f, 0.767056f }); - auto expP = NDArrayFactory::create('c', {2,2}, {0, 1, 0, 1}); + auto expP = NDArrayFactory::create({2,2}, {0, 1, 0, 1}); sd::ops::lu op; auto res = op.evaluate({&in}); @@ -2690,17 +2689,17 @@ TEST_F(DeclarableOpsTests12, LU_Test_4_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, LU_Test_4_2) { - auto in = NDArrayFactory::create('c', {2, 2,2}, { + auto in = NDArrayFactory::create({2, 2,2}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f }); - auto expLU = NDArrayFactory::create('c', {2, 2,2}, { + auto expLU = NDArrayFactory::create({2, 2,2}, { 0.7788f, 0.8012f, 0.930149f, -0.514335f, 0.7271f, 0.1804f, 0.695365f, 0.767056f }); - auto expP = NDArrayFactory::create('c', {2,2}, {0, 1, 0, 1}); + auto expP = NDArrayFactory::create({2,2}, {0, 1, 0, 1}); sd::ops::lu op; auto res = op.evaluate({&in}, {}, {sd::DataType::INT64}); @@ -2719,14 +2718,14 @@ TEST_F(DeclarableOpsTests12, LU_Test_4_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, QR_Test_1) { - auto in = NDArrayFactory::create('c', {5,3}, { + auto in = NDArrayFactory::create({5,3}, { 12., -51., 4., 6., 167., -68., -4., 24., -41., -1., 1., 0., 2., 0., 3. }); - auto expQ = NDArrayFactory::create('c', {5, 5}, { + auto expQ = NDArrayFactory::create({5, 5}, { 0.8464148, 0.3912908, -0.3431241, 0.06613743, -0.09146205, -0.42320737, -0.9040873, 0.02927014, 0.01737854, -0.04861044, 0.28213826, -0.17042054, -0.93285596, -0.02194202, 0.14371186, 0.07053456, -0.01404065, 0.00109937, 0.99740064, 0.00429488, -0.14106913, 0.0166551, 0.10577161, 0.00585613, 0.98417485 }); - auto expR = NDArrayFactory::create('c', {5,3}, { + auto expR = NDArrayFactory::create({5,3}, { -14.177447, -20.666622, 13.401566, 0., -175.04254, 70.080315, 0., 0., 35.201546, 0., 0., 0., 0., 0., 0. }); sd::ops::qr op; auto res = op.evaluate({&in}, {}, {}, {true}); @@ -2755,20 +2754,20 @@ TEST_F(DeclarableOpsTests12, QR_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, QR_Test_1_1) { - auto in = NDArrayFactory::create('c', {4, 5, 3}, { + auto in = NDArrayFactory::create({4, 5, 3}, { 12., -51., 4., 6., 167., -68., -4., 24., -41., -1., 1., 0., 2., 0., 3., 12., -51., 4., 6., 167., -68., -4., 24., -41., -1., 1., 0., 2., 0., 3., 12., -51., 4., 6., 167., -68., -4., 24., -41., -1., 1., 0., 2., 0., 3., 12., -51., 4., 6., 167., -68., -4., 24., -41., -1., 1., 0., 2., 0., 3. }); - auto expQ = NDArrayFactory::create('c', {4, 5, 5}, { + auto expQ = NDArrayFactory::create({4, 5, 5}, { 0.8464148, 0.3912908, -0.3431241, 0.06613743, -0.09146205, -0.42320737, -0.9040873, 0.02927014, 0.01737854, -0.04861044, 0.28213826, -0.17042054, -0.93285596, -0.02194202, 0.14371186, 0.07053456, -0.01404065, 0.00109937, 0.99740064, 0.00429488, -0.14106913, 0.0166551, 0.10577161, 0.00585613, 0.98417485, 0.8464148, 0.3912908, -0.3431241, 0.06613743, -0.09146205, -0.42320737, -0.9040873, 0.02927014, 0.01737854, -0.04861044, 0.28213826, -0.17042054, -0.93285596, -0.02194202, 0.14371186, 0.07053456, -0.01404065, 0.00109937, 0.99740064, 0.00429488, -0.14106913, 0.0166551, 0.10577161, 0.00585613, 0.98417485, 0.8464148, 0.3912908, -0.3431241, 0.06613743, -0.09146205, -0.42320737, -0.9040873, 0.02927014, 0.01737854, -0.04861044, 0.28213826, -0.17042054, -0.93285596, -0.02194202, 0.14371186, 0.07053456, -0.01404065, 0.00109937, 0.99740064, 0.00429488, -0.14106913, 0.0166551, 0.10577161, 0.00585613, 0.98417485, 0.8464148, 0.3912908, -0.3431241, 0.06613743, -0.09146205, -0.42320737, -0.9040873, 0.02927014, 0.01737854, -0.04861044, 0.28213826, -0.17042054, -0.93285596, -0.02194202, 0.14371186, 0.07053456, -0.01404065, 0.00109937, 0.99740064, 0.00429488, -0.14106913, 0.0166551, 0.10577161, 0.00585613, 0.98417485 }); - auto expR = NDArrayFactory::create('c', {4, 5,3}, { + auto expR = NDArrayFactory::create({4, 5,3}, { -14.177447, -20.666622, 13.401566, 0., -175.04254, 70.080315, 0., 0., 35.201546, 0., 0., 0., 0., 0., 0., -14.177447, -20.666622, 13.401566, 0., -175.04254, 70.080315, 0., 0., 35.201546, 0., 0., 0., 0., 0., 0., -14.177447, -20.666622, 13.401566, 0., -175.04254, 70.080315, 0., 0., 35.201546, 0., 0., 0., 0., 0., 0., @@ -2801,9 +2800,9 @@ TEST_F(DeclarableOpsTests12, QR_Test_1_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, QR_Test_2) { - auto in = NDArrayFactory::create('c', {5,3}, {12., -51., 4., 6., 167., -68., -4., 24., -41., -1., 1., 0., 2., 0., 3.}); - auto expQ = NDArrayFactory::create('c', {5, 3}, {0.8464148,0.3912908,-0.3431241,-0.42320737, -0.9040873,0.02927014,0.28213826, -0.17042054, -0.93285596,0.07053456, -0.01404065,0.00109937,-0.14106913,0.0166551,0.10577161}); - auto expR = NDArrayFactory::create('c', {3,3}, {-14.177447,-20.666622,13.401566,0.,-175.04254,70.080315,0.,0.,35.201546}); + auto in = NDArrayFactory::create({5,3}, {12., -51., 4., 6., 167., -68., -4., 24., -41., -1., 1., 0., 2., 0., 3.}); + auto expQ = NDArrayFactory::create({5, 3}, {0.8464148,0.3912908,-0.3431241,-0.42320737, -0.9040873,0.02927014,0.28213826, -0.17042054, -0.93285596,0.07053456, -0.01404065,0.00109937,-0.14106913,0.0166551,0.10577161}); + auto expR = NDArrayFactory::create({3,3}, {-14.177447,-20.666622,13.401566,0.,-175.04254,70.080315,0.,0.,35.201546}); sd::ops::qr op; auto res = op.evaluate({&in}, {}, {}, {false}); @@ -2824,11 +2823,11 @@ TEST_F(DeclarableOpsTests12, QR_Test_2) { TEST_F(DeclarableOpsTests12, ImageResize_Test1) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.628328f, 0.97913796f, 1.8058043f, 2.563919f, 2.844548f, 3.6026628f, 4.4293294f, 4.7801394f, 2.9474494f, 3.2982588f, 4.1249247f, 4.8830395f, 5.1636696f, 5.9217834f, 6.7484493f, @@ -2858,11 +2857,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test1) { TEST_F(DeclarableOpsTests12, ImageResize_Test2) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.628328f, 0.97913796f, 1.8058043f, 2.563919f, 2.844548f, 3.6026628f, 4.4293294f, 4.7801394f, 2.9474494f, 3.2982588f, 4.1249247f, 4.8830395f, 5.1636696f, 5.9217834f, 6.7484493f, @@ -2892,11 +2891,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test2) { TEST_F(DeclarableOpsTests12, ImageResize_Test3) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.6537938f, 1.0309073f, 1.8018917f, 2.4606667f, 2.9888396f, 3.6476145f, 4.418599f, 4.7957115f, 3.1913466f, 3.5684595f, 4.3394437f, 4.998219f, 5.526393f, 6.185168f, 6.956152f, 7.3332644f, 7.626866f, 8.00398f, 8.774965f, 9.433739f, 9.961912f, @@ -2922,11 +2921,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test3) { TEST_F(DeclarableOpsTests12, ImageResize_Test4) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1.4150869f, 1.7928237f, 2.4084527f, 3.0680697f, 3.6419308f, 4.301548f, 4.9171767f, 5.294914f, 4.012885f, 4.390622f, 5.0062513f, 5.6658688f, 6.23973f, 6.899347f, 7.514975f, 7.8927126f, 7.358912f, 7.736648f, 8.352278f, 9.011895f, 9.585756f, @@ -2952,11 +2951,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test4) { TEST_F(DeclarableOpsTests12, ImageResize_Test5) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.6372399f, 1.0536414f, 1.7716959f, 2.3966959f, 3.0216959f, 3.6466963f, 4.3647504f, 4.781152f, 3.3926036f, 3.8090053f, 4.5270596f, 5.1520596f, 5.7770596f, 6.4020596f, 7.1201134f, 7.5365143f, 7.358708f, 7.7751093f, 8.493164f, 9.118163f, 9.743165f, 10.368165f, 11.086218f, 11.502619f, @@ -2981,11 +2980,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test5) { TEST_F(DeclarableOpsTests12, ImageResize_Test6) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.63678247f, 1.0531839f, 1.7712381f, 2.396238f, 3.021238f , 3.646238f, 4.364292f, 4.780694f, 3.3934183f, 3.8098197f, 4.5278745f, 5.1528745f, 5.7778745f, 6.402874f, 7.1209283f, 7.5373297f, 7.3566165f, 7.7730184f, 8.491073f, 9.116073f, 9.741073f, 10.366074f , 11.084127f , 11.500528f, @@ -3009,11 +3008,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test6) { TEST_F(DeclarableOpsTests12, ImageResize_Test7) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.98593485f, 1.3872082f, 2.0625007f, 2.6875007f, 3.3125012f, 3.937501f, 4.612794f, 5.014066f, 3.6096964f, 4.01097f, 4.6862626f, 5.311262f, 5.936263f, 6.561262f, 7.2365556f, 7.637828f, 7.4145045f, 7.8157787f, 8.491071f, 9.116072f, 9.741073f, 10.366072f, 11.041365f, 11.4426365f, @@ -3038,11 +3037,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test7) { TEST_F(DeclarableOpsTests12, ImageResize_Test8) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1.f , 1.4375f , 2.0625f , 2.6875f , 3.3125f , 3.9375f , 4.5625f , 5.f , 3.8571427f, 4.2946424f, 4.9196424f, 5.5446424f, 6.1696424f, 6.7946424f, 7.4196424f, 7.8571424f, 7.4285717f, 7.8660717f, 8.491072f , 9.116072f , 9.741072f , 10.366072f , 10.991072f , 11.428572f , @@ -3067,11 +3066,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test8) { TEST_F(DeclarableOpsTests12, ImageResize_Test9) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1.f , 1.4f , 2.f , 2.8f , 3.2f , 4.f , 4.6f , 5.f , 4.f , 4.4f , 5.f , 5.8f , 6.2f , 7.f , 7.6f , 8.f , 6.999998f, 7.399998f, 7.999998f, 8.799997f, 9.199997f, 9.999997f, 10.599997f, 10.999996f, @@ -3096,11 +3095,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test9) { TEST_F(DeclarableOpsTests12, ImageResize_Test10) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10, 6, 6, 7, 8, 8, 9, 10, 10, 11, 11, 12, 13, 13, 14, 15, 15, 16, 16, 17, 18, 18, 19, 20, 20, 16, 16, 17, 18, 18, 19, 20, 20, 21, 21, 22, @@ -3122,11 +3121,11 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test10) { TEST_F(DeclarableOpsTests12, ImageResize_Test11) { - NDArray input = NDArrayFactory::create('c', {1, 5, 5, 1}, { + NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); auto size = NDArrayFactory::create({7, 8}); - NDArray expected = NDArrayFactory::create('c', {1, 7, 8, 1}, { + NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10, 6, 6, 7, 8, 8, 9, 10, 10, 11, 11, 12, 13, 13, 14, 15, 15, 16, 16, 17, 18, 18, 19, 20, 20, 16, 16, 17, 18, 18, 19, 20, 20, 21, 21, 22, @@ -3149,18 +3148,18 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test11) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, TriangularSolve_Test_1) { - auto a = NDArrayFactory::create('c', {4, 4}, { + auto a = NDArrayFactory::create({4, 4}, { 3.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 1.f, 0.f, 1.f, 0.f, 1.f, 1.f, 1.f, 1.f }); - auto b = NDArrayFactory::create('c', {4, 1}, { + auto b = NDArrayFactory::create({4, 1}, { 4.f, 2.f, 4.f, 2.f }); - auto exp = NDArrayFactory::create('c', {4, 1}, { + auto exp = NDArrayFactory::create({4, 1}, { 1.333333f, -0.6666667f, 2.6666667f, -1.3333333f }); sd::ops::triangular_solve op; @@ -3178,18 +3177,18 @@ TEST_F(DeclarableOpsTests12, TriangularSolve_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, TriangularSolve_Test_2) { - auto a = NDArrayFactory::create('c', {4, 4}, { + auto a = NDArrayFactory::create({4, 4}, { 1.f, 1.f, 1.f, 1.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 0.f, 3.f, }); - auto b = NDArrayFactory::create('c', {4, 1}, { + auto b = NDArrayFactory::create({4, 1}, { 2.f, 4.f, 2.f, 4.f }); - auto exp = NDArrayFactory::create('c', {4, 1}, { + auto exp = NDArrayFactory::create({4, 1}, { 2.f, 4.f, 1.f, 1.3333333f }); sd::ops::triangular_solve op; @@ -3207,7 +3206,7 @@ TEST_F(DeclarableOpsTests12, TriangularSolve_Test_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, TriangularSolve_Test_3) { - auto a = NDArrayFactory::create('c', {2, 4, 4}, { + auto a = NDArrayFactory::create({2, 4, 4}, { 3.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 1.f, 0.f, 1.f, 0.f, @@ -3219,12 +3218,12 @@ TEST_F(DeclarableOpsTests12, TriangularSolve_Test_3) { 1.f, 1.f, 1.f, 1.f }); - auto b = NDArrayFactory::create('c', {2, 4, 1}, { + auto b = NDArrayFactory::create({2, 4, 1}, { 4.f, 2.f, 4.f, 2.f, 4.f, 2.f, 4.f, 2.f }); - auto exp = NDArrayFactory::create('c', {2, 4, 1}, { + auto exp = NDArrayFactory::create({2, 4, 1}, { 1.333333f, -0.6666667f, 2.6666667f, -1.3333333f, 1.333333f, -0.6666667f, 2.6666667f, -1.3333333f }); @@ -3243,18 +3242,18 @@ TEST_F(DeclarableOpsTests12, TriangularSolve_Test_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, TriangularSolve_Test_4) { - auto a = NDArrayFactory::create('c', {4, 4}, { + auto a = NDArrayFactory::create({4, 4}, { 1.f, 1.f, 1.f, 1.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 0.f, 3.f, }); - auto b = NDArrayFactory::create('c', {4, 1}, { + auto b = NDArrayFactory::create({4, 1}, { 2.f, 4.f, 2.f, 4.f }); - auto exp = NDArrayFactory::create('c', {4, 1}, { + auto exp = NDArrayFactory::create({4, 1}, { -3.3333333f, 3.6666666f, 0.333333f, 1.3333333f }); @@ -3273,18 +3272,18 @@ TEST_F(DeclarableOpsTests12, TriangularSolve_Test_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, TriangularSolve_Test_5) { - auto a = NDArrayFactory::create('c', {4, 4}, { + auto a = NDArrayFactory::create({4, 4}, { 5.f, 1., -3.f, 3.f, 0.f, 1.f, 1.f, -1.f, 0.f, 0.f, 2.f, -9.f, 0.f, 0.f, 0.f, 4.f }); - auto b = NDArrayFactory::create('c', {4, 1}, { + auto b = NDArrayFactory::create({4, 1}, { 5.f, 2.f, 0.f, -3.f }); - auto exp = NDArrayFactory::create('c', {4, 1}, { + auto exp = NDArrayFactory::create({4, 1}, { 1.f, 1.f, 1.f, 1.f }); @@ -3303,18 +3302,18 @@ TEST_F(DeclarableOpsTests12, TriangularSolve_Test_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, SolveLs_Test_1) { - auto a = NDArrayFactory::create('c', {4, 4}, { + auto a = NDArrayFactory::create({4, 4}, { 3.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 1.f, 0.f, 1.f, 0.f, 1.f, 1.f, 1.f, 1.f }); - auto b = NDArrayFactory::create('c', {4, 1}, { + auto b = NDArrayFactory::create({4, 1}, { 4.f, 2.f, 4.f, 2.f }); - auto exp = NDArrayFactory::create('c', {4, 1}, { + auto exp = NDArrayFactory::create({4, 1}, { 1.333333f, -0.6666667f, 2.6666667f, -1.3333333f }); sd::ops::lstsq op; @@ -3333,13 +3332,13 @@ TEST_F(DeclarableOpsTests12, SolveLs_Test_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, SolveLs_Test_2) { - auto a = NDArrayFactory::create('c', {3, 3}, { + auto a = NDArrayFactory::create({3, 3}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 11.f, 8.f, 21.f }); - auto b = NDArrayFactory::create('c', {3, 1}, { 1.f, 2.f, 3.f }); + auto b = NDArrayFactory::create({3, 1}, { 1.f, 2.f, 3.f }); - auto exp = NDArrayFactory::create('c', {3, 1}, { -0.24999914f, 0.4999994f, 0.08333314f }); + auto exp = NDArrayFactory::create({3, 1}, { -0.24999914f, 0.4999994f, 0.08333314f }); sd::ops::lstsq op; @@ -3358,13 +3357,13 @@ TEST_F(DeclarableOpsTests12, SolveLs_Test_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, SolveLs_Test_3) { - auto a = NDArrayFactory::create('c', {3, 4}, { + auto a = NDArrayFactory::create({3, 4}, { 1.f,1.f,0.f,0.f,-1.f,1.f,0.f,0.f,1.f,1.f,-1.f,-1.f }); - auto b = NDArrayFactory::create('c', {3, 1}, { 1.f, 2.f, 3.f }); + auto b = NDArrayFactory::create({3, 1}, { 1.f, 2.f, 3.f }); - auto exp = NDArrayFactory::create('c', {3, 1}, { -0.5f, 1.5f, -2.f }); + auto exp = NDArrayFactory::create({3, 1}, { -0.5f, 1.5f, -2.f }); sd::ops::lstsq op; @@ -3381,13 +3380,13 @@ TEST_F(DeclarableOpsTests12, SolveLs_Test_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, SolveLs_Test_4) { - auto a = NDArrayFactory::create('c', {3, 4}, { + auto a = NDArrayFactory::create({3, 4}, { 1.f,1.f,0.f,0.f,-1.f,1.f,0.f,0.f,1.f,1.f,-1.f,-1.f }); - auto b = NDArrayFactory::create('c', {3, 1}, { 1.f, 2.f, 3.f }); + auto b = NDArrayFactory::create({3, 1}, { 1.f, 2.f, 3.f }); - auto exp = NDArrayFactory::create('c', {4, 1}, { -0.5f, 1.5f, -2.f, 0.f}); + auto exp = NDArrayFactory::create({4, 1}, { -0.5f, 1.5f, -2.f, 0.f}); sd::ops::lstsq op; @@ -3407,8 +3406,8 @@ TEST_F(DeclarableOpsTests12, SolveLs_Test_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, SolveLs_Test_5) { - auto a = NDArrayFactory::create('c', {1, 0, 3, 4}); - auto b = NDArrayFactory::create('c', {1, 0, 3, 1}); + auto a = NDArrayFactory::create({1, 0, 3, 4}); + auto b = NDArrayFactory::create({1, 0, 3, 1}); sd::ops::lstsq op; @@ -3423,8 +3422,8 @@ TEST_F(DeclarableOpsTests12, SolveLs_Test_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, Solve_Test_6) { - auto a = NDArrayFactory::create('c', {1, 0, 3, 3}); - auto b = NDArrayFactory::create('c', {1, 0, 3, 1}); + auto a = NDArrayFactory::create({1, 0, 3, 3}); + auto b = NDArrayFactory::create({1, 0, 3, 1}); sd::ops::solve op; @@ -3439,18 +3438,18 @@ TEST_F(DeclarableOpsTests12, Solve_Test_6) { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, TriangularSolve_Test_6) { - auto a = NDArrayFactory::create('c', {4, 4}, { + auto a = NDArrayFactory::create({4, 4}, { 5.f, 1.f, -3.f, 3.f, 0.f, 1.f, 1.f, -1.f, 0.f, 0.f, 2.f, -9.f, 0.f, 0.f, 0.f, 4.f }); - auto b = NDArrayFactory::create('c', {4, 2}, { + auto b = NDArrayFactory::create({4, 2}, { 5.f, 1.f, 2.f, 1.f, 0.f, 1.f, -3.f, 1.f }); - auto exp = NDArrayFactory::create('c', {4, 2}, { + auto exp = NDArrayFactory::create({4, 2}, { 1.f,0.2f, 1.f,0.8f, 1.f,0.4f, 1.f,1.2f }); From 057b948f206744b82ccc9c0d5614d6024ecd596a Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 17 Jun 2020 16:59:57 +0300 Subject: [PATCH 48/99] Adopted refactored array create with the thirteenth test file. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests13.cpp | 256 +++++++++--------- 1 file changed, 128 insertions(+), 128 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp index 195ef15ecb24..872dc6a0f51a 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp @@ -53,9 +53,9 @@ typedef ::testing::Types TestingTypes; TYPED_TEST_CASE(TypedDeclarableOpsTests13, TestingTypes); TEST_F(DeclarableOpsTests13, test_pow_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {2.f, 2.f, 2.f, 2.f}); - auto y = NDArrayFactory::create('c', {2}, {3, 3}); - auto e = NDArrayFactory::create('c', {2, 2}, {8.f, 8.f, 8.f, 8.f}); + auto x = NDArrayFactory::create({2, 2}, {2.f, 2.f, 2.f, 2.f}); + auto y = NDArrayFactory::create({2}, {3, 3}); + auto e = NDArrayFactory::create({2, 2}, {8.f, 8.f, 8.f, 8.f}); sd::ops::Pow op; auto result = op.evaluate({&x, &y}); @@ -102,10 +102,10 @@ TEST_F(DeclarableOpsTests13, test_empty_range_3) { TEST_F(DeclarableOpsTests13, test_argmax_edge_1) { auto ctx = new Context(1); - auto arr = NDArrayFactory::create('c', {1024,1}); + auto arr = NDArrayFactory::create({1024,1}); ctx->setInputArray(0, arr); - ctx->setOutputArray(0, NDArrayFactory::create('c', {1})); + ctx->setOutputArray(0, NDArrayFactory::create({1})); ctx->setInputArray(1, NDArrayFactory::create(0)); //Axis 0 @@ -118,9 +118,9 @@ TEST_F(DeclarableOpsTests13, test_argmax_edge_1) { } TEST_F(DeclarableOpsTests13, test_add_1) { - auto x = NDArrayFactory::create('c', {1, 768}); - auto y = NDArrayFactory::create('c', {768}); - auto e = NDArrayFactory::create('c', {1, 768});; + auto x = NDArrayFactory::create({1, 768}); + auto y = NDArrayFactory::create({768}); + auto e = NDArrayFactory::create({1, 768});; y. assign(1.0f); e.assign(1.0f); @@ -130,11 +130,11 @@ TEST_F(DeclarableOpsTests13, test_add_1) { } TEST_F(DeclarableOpsTests13, test_listdiff_1) { - auto x = NDArrayFactory::create('c', {4}, {0, 1, 2, 3}); - auto y = NDArrayFactory::create('c', {2}, {3, 1}); + auto x = NDArrayFactory::create({4}, {0, 1, 2, 3}); + auto y = NDArrayFactory::create({2}, {3, 1}); - auto od = NDArrayFactory::create('c', {2}); - auto oi = NDArrayFactory::create('c', {2}); + auto od = NDArrayFactory::create({2}); + auto oi = NDArrayFactory::create({2}); sd::ops::listdiff op; auto result = op.execute({&x, &y}, std::vector{&od, &oi}, {}, {}, {}); @@ -142,8 +142,8 @@ TEST_F(DeclarableOpsTests13, test_listdiff_1) { } TEST_F(DeclarableOpsTests13, test_greater_1) { - auto x = NDArrayFactory::create('c', {3, 1}); - auto y = NDArrayFactory::create('c', {1, 4}); + auto x = NDArrayFactory::create({3, 1}); + auto y = NDArrayFactory::create({1, 4}); sd::ops::greater op; auto result = op.evaluate({&x, &y}); @@ -152,9 +152,9 @@ TEST_F(DeclarableOpsTests13, test_greater_1) { TEST_F(DeclarableOpsTests13, test_eval_reduction_shape_1) { Nd4jLong axis = 0L; - auto x = NDArrayFactory::create('c', {2}, {4, 2}); - auto y = NDArrayFactory::create('c', {1}, {axis}); - auto exp = NDArrayFactory::create('c', {2}, {1, 2}); + auto x = NDArrayFactory::create({2}, {4, 2}); + auto y = NDArrayFactory::create({1}, {axis}); + auto exp = NDArrayFactory::create({2}, {1, 2}); sd::ops::evaluate_reduction_shape op; auto result = op.evaluate({&x, &y}, {true}); @@ -179,11 +179,11 @@ TEST_F(DeclarableOpsTests13, test_or_1) { } TEST_F(DeclarableOpsTests13, test_and_1) { - auto x = NDArrayFactory::create('c', {4}, {false, true, false, true}); - auto y = NDArrayFactory::create('c', {4}, {false, false, true, true}); - auto e = NDArrayFactory::create('c', {4}, {false, false, false, true}); + auto x = NDArrayFactory::create({4}, {false, true, false, true}); + auto y = NDArrayFactory::create({4}, {false, false, true, true}); + auto e = NDArrayFactory::create({4}, {false, false, false, true}); - auto z = NDArrayFactory::create('c', {4}); + auto z = NDArrayFactory::create({4}); x.applyPairwiseTransform(pairwise::And, y, z); @@ -191,11 +191,11 @@ TEST_F(DeclarableOpsTests13, test_and_1) { } TEST_F(DeclarableOpsTests13, test_xor_1) { - auto x = NDArrayFactory::create('c', {4}, {false, true, false, true}); - auto y = NDArrayFactory::create('c', {4}, {false, false, true, true}); - auto e = NDArrayFactory::create('c', {4}, {false, true, true, false}); + auto x = NDArrayFactory::create({4}, {false, true, false, true}); + auto y = NDArrayFactory::create({4}, {false, false, true, true}); + auto e = NDArrayFactory::create({4}, {false, true, true, false}); - auto z = NDArrayFactory::create('c', {4}); + auto z = NDArrayFactory::create({4}); x.applyPairwiseTransform(pairwise::Xor, y, z); @@ -203,10 +203,10 @@ TEST_F(DeclarableOpsTests13, test_xor_1) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_GainsTest_1) { - auto x = NDArrayFactory::create('c', {2,3}, {1,2,3, 4, 5, 6}); - auto y = NDArrayFactory::create('c', {2,3}, {1,-2,3, -4, 5, -6}); - auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); - auto exp = NDArrayFactory::create('c', {2,3}, {1.2,2.2,3.2,4.2,5.2,6.2}); + auto x = NDArrayFactory::create({2,3}, {1,2,3, 4, 5, 6}); + auto y = NDArrayFactory::create({2,3}, {1,-2,3, -4, 5, -6}); + auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); + auto exp = NDArrayFactory::create({2,3}, {1.2,2.2,3.2,4.2,5.2,6.2}); sd::ops::barnes_gains op; auto result = op.evaluate({&x, &y, &eps}); ASSERT_EQ(result.status(), Status::OK()); @@ -215,10 +215,10 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_GainsTest_1) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_GainsTest_2) { - auto x = NDArrayFactory::create('c', {2,3}, {1, -2, 3, -4, 5, -6}); - auto y = NDArrayFactory::create('c', {2,3}, {1, -2, 3, -4, 5, -6}); - auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); - auto exp = NDArrayFactory::create('c', {2,3}, {1.2, 0.01, 3.2, 0.01, 5.2, 0.01}); + auto x = NDArrayFactory::create({2,3}, {1, -2, 3, -4, 5, -6}); + auto y = NDArrayFactory::create({2,3}, {1, -2, 3, -4, 5, -6}); + auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); + auto exp = NDArrayFactory::create({2,3}, {1.2, 0.01, 3.2, 0.01, 5.2, 0.01}); sd::ops::barnes_gains op; auto result = op.evaluate({&x, &y, &eps}, {}, {}); ASSERT_EQ(result.status(), Status::OK()); @@ -229,10 +229,10 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_GainsTest_2) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_GainsTest_3) { - auto x = NDArrayFactory::create('c', {2,3}, {-1, 2, -3, 4, -5, 6}); - auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); - auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); - auto exp = NDArrayFactory::create('c', {2,3}, {0.01, 2.2, 0.01, 4.2, 0.01, 6.2}); + auto x = NDArrayFactory::create({2,3}, {-1, 2, -3, 4, -5, 6}); + auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); + auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); + auto exp = NDArrayFactory::create({2,3}, {0.01, 2.2, 0.01, 4.2, 0.01, 6.2}); sd::ops::barnes_gains op; auto result = op.evaluate({&x, &y, &eps}, {}, {}); ASSERT_EQ(result.status(), Status::OK()); @@ -242,19 +242,19 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_GainsTest_3) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_EdgeForceTest_1) { - auto data = NDArrayFactory::create('c', {5,4}); - auto rows = NDArrayFactory::create('c', {2}, {2, 3}); - auto cols = NDArrayFactory::create('c', {5}, {0, 2, 1, 4, 3}); - auto vals = NDArrayFactory::create('c', {5}, {10., 20., 30., 40., 50.}); - //auto buf = NDArrayFactory::create('c', {4}); - auto exp1 = NDArrayFactory::create('c', {5,4}, {-1.846154, -1.846154, -1.846154, -1.846154, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.}); + auto data = NDArrayFactory::create({5,4}); + auto rows = NDArrayFactory::create({2}, {2, 3}); + auto cols = NDArrayFactory::create({5}, {0, 2, 1, 4, 3}); + auto vals = NDArrayFactory::create({5}, {10., 20., 30., 40., 50.}); + //auto buf = NDArrayFactory::create({4}); + auto exp1 = NDArrayFactory::create({5,4}, {-1.846154, -1.846154, -1.846154, -1.846154, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.}); //auto exp2 = NDArrayFactory::create({-4., -4., -4., -4. //std::vector exp({&exp1, &exp2}); data.linspace(1); -// auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); -// auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); -// auto exp = NDArrayFactory::create('c', {2,3}, {1, 2, 1, 2, 2, 2}); +// auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); +// auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); +// auto exp = NDArrayFactory::create({2,3}, {1, 2, 1, 2, 2, 2}); sd::ops::barnes_edge_forces op; auto result = op.evaluate({&rows, &cols, &vals, &data}, {}, {1}); @@ -266,19 +266,19 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_EdgeForceTest_1) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_EdgeForceTest_2) { - auto data = NDArrayFactory::create('c', {5,4}); - auto rows = NDArrayFactory::create('c', {3}, {1,2,3}); - auto cols = NDArrayFactory::create('c', {5}, {1, 2, 0, 4, 3}); - auto vals = NDArrayFactory::create('c', {5}, {10., 20., 30., 40., 50.}); - //auto buf = NDArrayFactory::create('c', {4}); - auto exp = NDArrayFactory::create('c', {5,4}, {-0.622568, -0.622568, -0.622568, -0.622568, 1.846154, 1.846154, 1.846154, 1.846154, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.}); + auto data = NDArrayFactory::create({5,4}); + auto rows = NDArrayFactory::create({3}, {1,2,3}); + auto cols = NDArrayFactory::create({5}, {1, 2, 0, 4, 3}); + auto vals = NDArrayFactory::create({5}, {10., 20., 30., 40., 50.}); + //auto buf = NDArrayFactory::create({4}); + auto exp = NDArrayFactory::create({5,4}, {-0.622568, -0.622568, -0.622568, -0.622568, 1.846154, 1.846154, 1.846154, 1.846154, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.}); //auto exp2 = NDArrayFactory::create({-4., -4., -4., -4. //std::vector exp({&exp1, &exp2}); data.linspace(1); -// auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); -// auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); -// auto exp = NDArrayFactory::create('c', {2,3}, {1, 2, 1, 2, 2, 2}); +// auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); +// auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); +// auto exp = NDArrayFactory::create({2,3}, {1, 2, 1, 2, 2, 2}); sd::ops::barnes_edge_forces op; auto result = op.evaluate({&rows, &cols, &vals, &data}, {}, {2}); @@ -290,19 +290,19 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_EdgeForceTest_2) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_EdgeForceTest_3) { - auto data = NDArrayFactory::create('c', {11, 5}, {0.3, 0.2625, 0.2674, 0.8604, 0.4803, 0.1096, 0.795, 0.5918, 0.2738, 0.952, 0.969, 0.8586, 0.8088, 0.5338, 0.5961, 0.7187, 0.463, 0.0867, 0.7748, 0.4802, 0.2493, 0.3227, 0.3064, 0.698, 0.7977, 0.7674, 0.168, 0.3107, 0.0217, 0.138, 0.8619, 0.8413, 0.5285, 0.9703, 0.6774, 0.2624, 0.4374, 0.1569, 0.1107, 0.0601, 0.4094, 0.9564, 0.5994, 0.8279, 0.3859, 0.6202, 0.7604, 0.0788, 0.0865, 0.7445, 0.6548, 0.3385, 0.0582, 0.6249, 0.7432}); + auto data = NDArrayFactory::create({11, 5}, {0.3, 0.2625, 0.2674, 0.8604, 0.4803, 0.1096, 0.795, 0.5918, 0.2738, 0.952, 0.969, 0.8586, 0.8088, 0.5338, 0.5961, 0.7187, 0.463, 0.0867, 0.7748, 0.4802, 0.2493, 0.3227, 0.3064, 0.698, 0.7977, 0.7674, 0.168, 0.3107, 0.0217, 0.138, 0.8619, 0.8413, 0.5285, 0.9703, 0.6774, 0.2624, 0.4374, 0.1569, 0.1107, 0.0601, 0.4094, 0.9564, 0.5994, 0.8279, 0.3859, 0.6202, 0.7604, 0.0788, 0.0865, 0.7445, 0.6548, 0.3385, 0.0582, 0.6249, 0.7432}); auto rows = NDArrayFactory::create({0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99}); auto cols = NDArrayFactory::create({4, 3, 10, 8, 6, 7, 1, 5, 9, 4, 9, 8, 10, 2, 0, 6, 7, 3, 6, 8, 3, 9, 10, 1, 4, 0, 5, 10, 0, 4, 6, 8, 9, 2, 5, 7, 0, 10, 3, 1, 8, 9, 6, 7, 2, 7, 9, 3, 10, 0, 4, 2, 8, 1, 2, 8, 3, 10, 0, 4, 9, 1, 5, 5, 9, 0, 3, 10, 4, 8, 1, 2, 6, 2, 0, 3, 4, 1, 10, 9, 7, 10, 1, 3, 7, 4, 5, 2, 8, 6, 3, 4, 0, 9, 6, 5, 8, 7, 1}); auto vals = NDArrayFactory::create({0.6199614579042966, 0.19644097697184246, 0.13824979367331638, 0.01949900138247239, 0.008923198738222747, 0.008392793826291798, 0.0033348224714784204, 0.0026246189757042166, 0.0025733360563748838, 0.5877136110798608, 0.28250257562439585, 0.08098135424273815, 0.014862718272075049, 0.01219187321450782, 0.01152346362368888, 0.004243137936786281, 0.0034626999030188577, 0.0025185661029283168, 0.6777005651521399, 0.18321248222489303, 0.04018202465629351, 0.02941935889988646, 0.02164146250842832, 0.019898422145651618, 0.011683461395713935, 0.008439076090480863, 0.007823146926512332, 0.6770900431883232, 0.16617511239723026, 0.06039349887686468, 0.04650913399744179, 0.016886531410284355, 0.014591049666869658, 0.006407638669806174, 0.006074413005122801, 0.0058725787880570205, 0.6278185083409108, 0.235127797795446, 0.07023700015217448, 0.030885483448633774, 0.01229522088606573, 0.009238279699136107, 0.008219511168822047, 0.004303744819835723, 0.0018744536889749907, 0.7122603898978483, 0.07862620103245824, 0.07061257369349086, 0.06721483653169834, 0.028957853952131768, 0.01778978123182596, 0.01481713955181034, 0.005492728917348627, 0.0042284951913875955, 0.5266844101016999, 0.3304104787383107, 0.10930017433210941, 0.018514917515240075, 0.006969360999637938, 0.0063776901975396, 0.0010590388116165708, 6.526830884629785E-4, 3.1246215383067865E-5, 0.7176179284835663, 0.08741734015883978, 0.05927699083866909, 0.04663169573956976, 0.03287576269194147, 0.02993912340339554, 0.013365238657916641, 0.010616858763291145, 0.002259061262810172, 0.6891905160321706, 0.1397658294110526, 0.05438284759722162, 0.05437184733708826, 0.028683289714498808, 0.020986120697576355, 0.007218358114741088, 0.0032834770669826364, 0.002117714028667893, 0.6823873496503976, 0.1345267083671607, 0.08712863515505885, 0.04286621088946242, 0.02544804597749639, 0.01689343932533317, 0.007219134659004873, 0.0019232929717404616, 0.0016071830043453991, 0.6425809622897437, 0.18474464886441516, 0.10897036475298316, 0.03466939253836615, 0.013288054277817787, 0.005149178177380355, 0.0037974063158903518, 0.0037851733015991287, 0.0030148194818042273}); - //auto buf = NDArrayFactory::create('c', {4}); - auto exp = NDArrayFactory::create('c', {11, 5}, {-0.080205, -0.085862, 0.024045, 0.133551, -0.199896, -0.170597, 0.187301, 0.205824, -0.165268, 0.131228, 0.155135, 0.021446, 0.217583, -0.262873, -0.021075, 0.114537, 0.088023, -0.039205, 0.087984, -0.179565, -0.132683, 0.003677, 0.072081, -0.068737, 0.204481, 0.287223, -0.193989, 0.104569, -0.123401, -0.036368, 0.086745, 0.002961, -0.091327, 0.234853, 0.120270, -0.304006, 0.128305, -0.084867, -0.017550, -0.130837, -0.288569, 0.124679, 0.054078, -0.034187, -0.192599, 0.033196, 0.228182, -0.044972, -0.314217, 0.020287, 0.054427, -0.078887, -0.078246, -0.104543, 0.169803}); + //auto buf = NDArrayFactory::create({4}); + auto exp = NDArrayFactory::create({11, 5}, {-0.080205, -0.085862, 0.024045, 0.133551, -0.199896, -0.170597, 0.187301, 0.205824, -0.165268, 0.131228, 0.155135, 0.021446, 0.217583, -0.262873, -0.021075, 0.114537, 0.088023, -0.039205, 0.087984, -0.179565, -0.132683, 0.003677, 0.072081, -0.068737, 0.204481, 0.287223, -0.193989, 0.104569, -0.123401, -0.036368, 0.086745, 0.002961, -0.091327, 0.234853, 0.120270, -0.304006, 0.128305, -0.084867, -0.017550, -0.130837, -0.288569, 0.124679, 0.054078, -0.034187, -0.192599, 0.033196, 0.228182, -0.044972, -0.314217, 0.020287, 0.054427, -0.078887, -0.078246, -0.104543, 0.169803}); //auto exp2 = NDArrayFactory::create({-4., -4., -4., -4. //std::vector exp({&exp1, &exp2}); //data.assign(1.0); //linspace(1); -// auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); -// auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); -// auto exp = NDArrayFactory::create('c', {2,3}, {1, 2, 1, 2, 2, 2}); +// auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); +// auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); +// auto exp = NDArrayFactory::create({2,3}, {1, 2, 1, 2, 2, 2}); sd::ops::barnes_edge_forces op; auto result = op.evaluate({&rows, &cols, &vals, &data}, {}, {11}); @@ -316,16 +316,16 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_EdgeForceTest_3) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_1) { -// auto data = NDArrayFactory::create('c', {5,4}); - auto rows = NDArrayFactory::create('c', {2}, {0, 1}); - auto cols = NDArrayFactory::create('c', {4}, {0, 1, 1, 0}); - auto vals = NDArrayFactory::create('c', {4}, {20., 30., 40., 50.}); - auto exp = NDArrayFactory::create('c', {1,1}, {20.}); +// auto data = NDArrayFactory::create({5,4}); + auto rows = NDArrayFactory::create({2}, {0, 1}); + auto cols = NDArrayFactory::create({4}, {0, 1, 1, 0}); + auto vals = NDArrayFactory::create({4}, {20., 30., 40., 50.}); + auto exp = NDArrayFactory::create({1,1}, {20.}); // data.linspace(1); -// auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); -// auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); -// auto exp = NDArrayFactory::create('c', {2,3}, {1, 2, 1, 2, 2, 2}); +// auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); +// auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); +// auto exp = NDArrayFactory::create({2,3}, {1, 2, 1, 2, 2, 2}); sd::ops::barnes_symmetrized op; auto result = op.evaluate({&rows, &cols, &vals}, {}, {1}); ASSERT_EQ(result.status(), Status::OK()); @@ -334,15 +334,15 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_1) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_2) { - auto rows = NDArrayFactory::create('c', {4}, {0, 2, 2, 3}); - auto cols = NDArrayFactory::create('c', {8}, {0, 1, 1, 0, 0, 1, 1, 1}); - auto vals = NDArrayFactory::create('c', {8}, {20., 30., 40., 50., 120., 130., 140., 150.}); - auto exp = NDArrayFactory::create('c', {1,5}, {20., 15., 15., 20., 20.}); + auto rows = NDArrayFactory::create({4}, {0, 2, 2, 3}); + auto cols = NDArrayFactory::create({8}, {0, 1, 1, 0, 0, 1, 1, 1}); + auto vals = NDArrayFactory::create({8}, {20., 30., 40., 50., 120., 130., 140., 150.}); + auto exp = NDArrayFactory::create({1,5}, {20., 15., 15., 20., 20.}); // data.linspace(1); -// auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); -// auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); -// auto exp = NDArrayFactory::create('c', {2,3}, {1, 2, 1, 2, 2, 2}); +// auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); +// auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); +// auto exp = NDArrayFactory::create({2,3}, {1, 2, 1, 2, 2, 2}); sd::ops::barnes_symmetrized op; auto result = op.evaluate({&rows, &cols, &vals}, {}, {3}); ASSERT_EQ(result.status(), Status::OK()); @@ -353,15 +353,15 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_2) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_3) { - auto rows = NDArrayFactory::create('c', {12}, {0, 2, 3, 5, 7, 8, 9, 11, 12, 14, 18, 21}); - auto cols = NDArrayFactory::create('c', {24}, {0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0, 1, 0, 2, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5}); - auto vals = NDArrayFactory::create('c', {24}, {20., 30., 40., 50., 120., 130., 140., 150.,220., 230., 240., 250., 2120., 2130., 2140., 2150., 320., 330., 340., 350., 3120., 3130., 3140., 3150.}); - auto exp = NDArrayFactory::create('c', {1, 39}, {15.000000, 0.000000, 0.000000, 65.000000, 60.000000, 145.000000, 20.000000, 25.000000, 65.000000, 145.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}); + auto rows = NDArrayFactory::create({12}, {0, 2, 3, 5, 7, 8, 9, 11, 12, 14, 18, 21}); + auto cols = NDArrayFactory::create({24}, {0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0, 1, 0, 2, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5}); + auto vals = NDArrayFactory::create({24}, {20., 30., 40., 50., 120., 130., 140., 150.,220., 230., 240., 250., 2120., 2130., 2140., 2150., 320., 330., 340., 350., 3120., 3130., 3140., 3150.}); + auto exp = NDArrayFactory::create({1, 39}, {15.000000, 0.000000, 0.000000, 65.000000, 60.000000, 145.000000, 20.000000, 25.000000, 65.000000, 145.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}); // data.linspace(1); -// auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); -// auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); -// auto exp = NDArrayFactory::create('c', {2,3}, {1, 2, 1, 2, 2, 2}); +// auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); +// auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); +// auto exp = NDArrayFactory::create({2,3}, {1, 2, 1, 2, 2, 2}); sd::ops::barnes_symmetrized op; auto result = op.evaluate({&rows, &cols, &vals}, {}, {11}); ASSERT_EQ(result.status(), Status::OK()); @@ -376,16 +376,16 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_4) { auto rows = NDArrayFactory::create({0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99}); auto cols = NDArrayFactory::create({4, 3, 10, 8, 6, 7, 1, 5, 9, 4, 9, 8, 10, 2, 0, 6, 7, 3, 6, 8, 3, 9, 10, 1, 4, 0, 5, 10, 0, 4, 6, 8, 9, 2, 5, 7, 0, 10, 3, 1, 8, 9, 6, 7, 2, 7, 9, 3, 10, 0, 4, 2, 8, 1, 2, 8, 3, 10, 0, 4, 9, 1, 5, 5, 9, 0, 3, 10, 4, 8, 1, 2, 6, 2, 0, 3, 4, 1, 10, 9, 7, 10, 1, 3, 7, 4, 5, 2, 8, 6, 3, 4, 0, 9, 6, 5, 8, 7, 1}); auto vals = NDArrayFactory::create( {0.6200, 0.1964, 0.1382, 0.0195, 0.0089, 0.0084, 0.0033, 0.0026, 0.0026, 0.5877, 0.2825, 0.0810, 0.0149, 0.0122, 0.0115, 0.0042, 0.0035, 0.0025, 0.6777, 0.1832, 0.0402, 0.0294, 0.0216, 0.0199, 0.0117, 0.0084, 0.0078, 0.6771, 0.1662, 0.0604, 0.0465, 0.0169, 0.0146, 0.0064, 0.0061, 0.0059, 0.6278, 0.2351, 0.0702, 0.0309, 0.0123, 0.0092, 0.0082, 0.0043, 0.0019, 0.7123, 0.0786, 0.0706, 0.0672, 0.0290, 0.0178, 0.0148, 0.0055, 0.0042, 0.5267, 0.3304, 0.1093, 0.0185, 0.0070, 0.0064, 0.0011, 0.0007, 3.1246e-5, 0.7176, 0.0874, 0.0593, 0.0466, 0.0329, 0.0299, 0.0134, 0.0106, 0.0023, 0.6892, 0.1398, 0.0544, 0.0544, 0.0287, 0.0210, 0.0072, 0.0033, 0.0021, 0.6824, 0.1345, 0.0871, 0.0429, 0.0254, 0.0169, 0.0072, 0.0019, 0.0016, 0.6426, 0.1847, 0.1090, 0.0347, 0.0133, 0.0051, 0.0038, 0.0038, 0.0030}); - //auto exp = NDArrayFactory::create('c', {1, 39}, {15.000000, 0.000000, 0.000000, 65.000000, 60.000000, 145.000000, 20.000000, 25.000000, 65.000000, 145.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}); + //auto exp = NDArrayFactory::create({1, 39}, {15.000000, 0.000000, 0.000000, 65.000000, 60.000000, 145.000000, 20.000000, 25.000000, 65.000000, 145.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}); // data.linspace(1); - auto exp4 = NDArrayFactory::create('c', {1, 108}, {0.6239, 0.1813, 0.1236, 0.03695, 0.00795, 0.03385, 0.0074, 0.0158, 0.0013, 0.0042, 0.0074, 0.3093, 0.2085, 0.051, 0.00895, 0.01605, 0.00245, 0.00705, 0.00125, 0.0021, 0.01605, 0.6022, 0.1615, 0.0233, + auto exp4 = NDArrayFactory::create({1, 108}, {0.6239, 0.1813, 0.1236, 0.03695, 0.00795, 0.03385, 0.0074, 0.0158, 0.0013, 0.0042, 0.0074, 0.3093, 0.2085, 0.051, 0.00895, 0.01605, 0.00245, 0.00705, 0.00125, 0.0021, 0.01605, 0.6022, 0.1615, 0.0233, 0.0183, 0.0108, 0.0068, 0.0042, 0.0113, 0.00115, 0.1813, 0.00125, 0.0233, 0.65985, 0.0653, 0.0779, 0.03565, 0.05085, 0.03835, 0.02625, 0.6239, 0.3093, 0.0068, 0.0653, 0.2099, 0.0205, 0.0173, 0.0073, 0.0171, 0.0089, 0.0158, 0.0113, 0.03835, 0.71495, 0.04775, 0.03615, 0.0089, 0.00275, 0.0021, 1.5623E-5, 0.00795, 0.00245, 0.6022, 0.0779, 0.0073, 0.5098, 0.0159, 0.00135, 1.5623E-5, 0.03385, 0.00705, 0.02625, 0.0171, 0.71495, 0.06515, 0.01835, 0.00775, 0.00115, 0.03695, 0.051, 0.1615, 0.03565, 0.0205, 0.00275, 0.5098, 0.00775, 0.0055, 0.0026, 0.0013, 0.2085, 0.0183, 0.05085, 0.0173, 0.04775, 0.00135, 0.06515, 0.0026, 0.35855, 0.1236, 0.00895, 0.0108, 0.65985, 0.2099, 0.03615, 0.0159, 0.01835, 0.0055, 0.35855}); -// auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); -// auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); -// auto exp = NDArrayFactory::create('c', {2,3}, {1, 2, 1, 2, 2, 2}); +// auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); +// auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); +// auto exp = NDArrayFactory::create({2,3}, {1, 2, 1, 2, 2, 2}); sd::ops::barnes_symmetrized op; auto result = op.evaluate({&rows, &cols, &vals}, {}, {11}); ASSERT_EQ(result.status(), Status::OK()); @@ -406,12 +406,12 @@ TEST_F(DeclarableOpsTests13, CellContains_test_1) { auto corners = NDArrayFactory::create( {0.5384, 0.5640, 0.3449, 0.5257, 0.5505}); auto width = NDArrayFactory::create({0.4306, 0.3960, 0.4639, 0.5040, 0.4904}); auto point = NDArrayFactory::create({0.3000, 0.2625, 0.2674, 0.8604, 0.4803}); - //auto exp = NDArrayFactory::create('c', {1, 39}, {15.000000, 0.000000, 0.000000, 65.000000, 60.000000, 145.000000, 20.000000, 25.000000, 65.000000, 145.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}); + //auto exp = NDArrayFactory::create({1, 39}, {15.000000, 0.000000, 0.000000, 65.000000, 60.000000, 145.000000, 20.000000, 25.000000, 65.000000, 145.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}); // data.linspace(1); - // auto y = NDArrayFactory::create('c', {2,3}, {-0.1,-2,3, -4, -0.5, -6}); - // auto eps = NDArrayFactory::create('c', {2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); - // auto exp = NDArrayFactory::create('c', {2,3}, {1, 2, 1, 2, 2, 2}); + // auto y = NDArrayFactory::create({2,3}, {-0.1,-2,3, -4, -0.5, -6}); + // auto eps = NDArrayFactory::create({2,3}, {-0.1, 0.2, -0.3, 0.4, -0.5, 0.6}); + // auto exp = NDArrayFactory::create({2,3}, {1, 2, 1, 2, 2, 2}); sd::ops::cell_contains op; auto result = op.evaluate({&corners, &width, &point}, {}, {5}); ASSERT_EQ(result.status(), Status::OK()); @@ -611,7 +611,7 @@ TEST_F(DeclarableOpsTests13, adjustSaturation_5) { TEST_F(DeclarableOpsTests13, shift_bits_1) { - auto x = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create({5}); auto y = NDArrayFactory::create(4); auto e = x.ulike(); x.assign(32); @@ -628,7 +628,7 @@ TEST_F(DeclarableOpsTests13, shift_bits_1) { } TEST_F(DeclarableOpsTests13, rshift_bits_1) { - auto x = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create({5}); auto y = NDArrayFactory::create(4); auto e = x.ulike(); x.assign(512); @@ -645,7 +645,7 @@ TEST_F(DeclarableOpsTests13, rshift_bits_1) { } TEST_F(DeclarableOpsTests13, cyclic_shift_bits_1) { - auto x = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create({5}); auto y = NDArrayFactory::create(4); auto e = x.ulike(); x.assign(32); @@ -662,7 +662,7 @@ TEST_F(DeclarableOpsTests13, cyclic_shift_bits_1) { } TEST_F(DeclarableOpsTests13, cyclic_rshift_bits_1) { - auto x = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create({5}); auto y = NDArrayFactory::create(4); auto e = x.ulike(); x.assign(512); @@ -679,8 +679,8 @@ TEST_F(DeclarableOpsTests13, cyclic_rshift_bits_1) { } TEST_F(DeclarableOpsTests13, shift_bits_2) { - auto x = NDArrayFactory::create('c', {5}); - auto y = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create({5}); + auto y = NDArrayFactory::create({5}); auto e = x.ulike(); x.assign(32); y.assign(4); @@ -697,8 +697,8 @@ TEST_F(DeclarableOpsTests13, shift_bits_2) { } TEST_F(DeclarableOpsTests13, rshift_bits_2) { - auto x = NDArrayFactory::create('c', {5}); - auto y = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create({5}); + auto y = NDArrayFactory::create({5}); auto e = x.ulike(); x.assign(512); y.assign(4); @@ -716,8 +716,8 @@ TEST_F(DeclarableOpsTests13, rshift_bits_2) { } TEST_F(DeclarableOpsTests13, cyclic_shift_bits_2) { - auto x = NDArrayFactory::create('c', {5}); - auto y = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create({5}); + auto y = NDArrayFactory::create({5}); auto e = x.ulike(); x.assign(32); y.assign(4); @@ -734,8 +734,8 @@ TEST_F(DeclarableOpsTests13, cyclic_shift_bits_2) { } TEST_F(DeclarableOpsTests13, cyclic_rshift_bits_2) { - auto x = NDArrayFactory::create('c', {5}); - auto y = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create({5}); + auto y = NDArrayFactory::create({5}); auto e = x.ulike(); x.assign(512); y.assign(4); @@ -751,8 +751,8 @@ TEST_F(DeclarableOpsTests13, cyclic_rshift_bits_2) { } TEST_F(DeclarableOpsTests13, shift_bits_3) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {1, 5}); + auto x = NDArrayFactory::create({5, 5}); + auto y = NDArrayFactory::create({1, 5}); auto e = x.ulike(); x.assign(32); y.assign(4); @@ -1155,13 +1155,13 @@ TEST_F(DeclarableOpsTests13, lstmLayer_1) { std::vector iArgs = {dataFormat, directionMode, gateAct, cellAct, outAct}; std::vector bArgs = {hasBiases, hasSeqLen, hasInitH, hasInitC, hasPH, retFullSeq, retLastH, retLastC}; - auto expH = NDArrayFactory::create('c', {sL, bS, nOut}, {0.57574f, 0.57574f, 0.57574f, 0.58006f, 0.58006f, 0.58006f, 0.58434f, 0.58434f, 0.58434f, + auto expH = NDArrayFactory::create({sL, bS, nOut}, {0.57574f, 0.57574f, 0.57574f, 0.58006f, 0.58006f, 0.58006f, 0.58434f, 0.58434f, 0.58434f, 0.55114f, 0.55114f, 0.55114f, 0.55732f, 0.55732f, 0.55732f, 0.56338f, 0.56338f, 0.56338f, 0.53763f, 0.53763f, 0.53763f, 0.54534f, 0.54534f, 0.54534f, 0.55287f, 0.55287f, 0.55287f, 0.53626f, 0.53626f, 0.53626f, 0.54487f, 0.54487f, 0.54487f, 0.55327f, 0.55327f, 0.55327f, 0.54484f, 0.54484f, 0.54484f, 0.55379f, 0.55379f, 0.55379f, 0.5625f, 0.5625f, 0.5625f}); - auto expClast = NDArrayFactory::create('c', {bS, nOut}, {1.1589154f, 1.1589154f, 1.1589154f, 1.1892855f, 1.1892855f, 1.1892855f, 1.219861f, 1.219861f, 1.219861f}); + auto expClast = NDArrayFactory::create({bS, nOut}, {1.1589154f, 1.1589154f, 1.1589154f, 1.1892855f, 1.1892855f, 1.1892855f, 1.219861f, 1.219861f, 1.219861f}); sd::ops::lstmLayer op; auto results = op.evaluate({&x, &Wx, &Wr, &b, &hI, &cI}, tArgs, iArgs, bArgs); @@ -1224,11 +1224,11 @@ TEST_F(DeclarableOpsTests13, lstmLayer_2) { std::vector iArgs = {dataFormat, directionMode, gateAct, cellAct, outAct}; std::vector bArgs = {hasBiases, hasSeqLen, hasInitH, hasInitC, hasPH, retFullSeq, retLastH, retLastC}; - auto expH = NDArrayFactory::create('c', {bS, sL, nOut}, {0.575735f, 0.575735f, 0.575735f, 0.541562f, 0.541562f, 0.541562f, 0.514003f, 0.514003f, 0.514003f, 0.495597f, 0.495597f, 0.495597f, 0.485999f, 0.485999f, 0.485999f, + auto expH = NDArrayFactory::create({bS, sL, nOut}, {0.575735f, 0.575735f, 0.575735f, 0.541562f, 0.541562f, 0.541562f, 0.514003f, 0.514003f, 0.514003f, 0.495597f, 0.495597f, 0.495597f, 0.485999f, 0.485999f, 0.485999f, 0.596965f, 0.596965f, 0.596965f, 0.571978f, 0.571978f, 0.571978f, 0.552888f, 0.552888f, 0.552888f, 0.540606f, 0.540606f, 0.540606f, 0.534764f, 0.534764f, 0.534764f, 0.61725f, 0.61725f, 0.61725f, 0.599828f, 0.599828f, 0.599828f, 0.587627f, 0.587627f, 0.587627f, 0.580408f, 0.580408f, 0.580408f, 0.577735f, 0.577735f, 0.577735f}); - auto expClast = NDArrayFactory::create('c', {bS, nOut}, {0.996965f, 0.996965f, 0.996965f, 1.146756f, 1.146756f, 1.146756f, 1.301922f, 1.301922f, 1.301922f}); + auto expClast = NDArrayFactory::create({bS, nOut}, {0.996965f, 0.996965f, 0.996965f, 1.146756f, 1.146756f, 1.146756f, 1.301922f, 1.301922f, 1.301922f}); sd::ops::lstmLayer op; auto results = op.evaluate({&x, &Wx, &Wr, &b, &hI, &cI}, tArgs, iArgs, bArgs); @@ -2096,13 +2096,13 @@ TEST_F(DeclarableOpsTests13, batchnorm_test1) { //////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests13, batchnorm_test2) { - auto input = NDArrayFactory::create('c', {2,3,4}); - auto mean = NDArrayFactory::create('c', {4}); - auto variance = NDArrayFactory::create('c', {4}); - auto gamma = NDArrayFactory::create('c', {4}); - auto beta = NDArrayFactory::create('c', {4}); + auto input = NDArrayFactory::create({2,3,4}); + auto mean = NDArrayFactory::create({4}); + auto variance = NDArrayFactory::create({4}); + auto gamma = NDArrayFactory::create({4}); + auto beta = NDArrayFactory::create({4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {-0.52733537f, -0.35763144f, -0.18792751f, -0.01822358f, 0.15148035f, 0.32118428f, 0.49088821f, 0.66059214f, 0.83029607f, 1.f, 1.16970393f, 1.33940786f, + auto expected = NDArrayFactory::create({2,3,4}, {-0.52733537f, -0.35763144f, -0.18792751f, -0.01822358f, 0.15148035f, 0.32118428f, 0.49088821f, 0.66059214f, 0.83029607f, 1.f, 1.16970393f, 1.33940786f, 1.50911179f, 1.67881572f, 1.84851965f, 2.01822358f, 2.18792751f, 2.35763144f, 2.52733537f, 2.6970393f, 2.86674323f, 3.03644717f, 3.2061511f, 3.37585503f}); input.linspace(0.1, 0.1); @@ -2128,13 +2128,13 @@ TYPED_TEST(TypedDeclarableOpsTests13, batchnorm_test2) { //////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests13, batchnorm_test3) { - auto input = NDArrayFactory::create('c', {2,3,4}); - auto mean = NDArrayFactory::create('c', {3}, {1.05f, 1.1f, 1.15f}); - auto variance = NDArrayFactory::create('c', {3}, {0.5f, 0.6f, 0.7f}); - auto gamma = NDArrayFactory::create('c', {3}, {1.2f, 1.3f, 1.4f}); - auto beta = NDArrayFactory::create('c', {3}, {0.1f, 0.2f, 0.3f}); + auto input = NDArrayFactory::create({2,3,4}); + auto mean = NDArrayFactory::create({3}, {1.05f, 1.1f, 1.15f}); + auto variance = NDArrayFactory::create({3}, {0.5f, 0.6f, 0.7f}); + auto gamma = NDArrayFactory::create({3}, {1.2f, 1.3f, 1.4f}); + auto beta = NDArrayFactory::create({3}, {0.1f, 0.2f, 0.3f}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {-1.51218734f, -1.34248341f, -1.17277948f, -1.00307555f, -0.80696728f, -0.6391394f, -0.47131152f, -0.30348364f, -0.11832703f, 0.04900378f, 0.21633459f, 0.38366541f, + auto expected = NDArrayFactory::create({2,3,4}, {-1.51218734f, -1.34248341f, -1.17277948f, -1.00307555f, -0.80696728f, -0.6391394f, -0.47131152f, -0.30348364f, -0.11832703f, 0.04900378f, 0.21633459f, 0.38366541f, 0.52425983f, 0.69396376f, 0.86366769f, 1.03337162f, 1.20696728f, 1.37479516f, 1.54262304f, 1.71045092f, 1.8896427f, 2.05697351f, 2.22430432f, 2.39163513f}); input.linspace(0.1, 0.1); @@ -2155,13 +2155,13 @@ TYPED_TEST(TypedDeclarableOpsTests13, batchnorm_test3) { //////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests13, batchnorm_test4) { - auto input = NDArrayFactory::create('c', {2,3,4}); - auto mean = NDArrayFactory::create('c', {2,1,4}, {1.05f, 1.1f, 1.15f, 1.2f, 1.25f, 1.3f, 1.35f, 1.4f}); - auto variance = NDArrayFactory::create('c', {2,1,4}, {0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.f, 1.1f, 1.2f}); - auto gamma = NDArrayFactory::create('c', {2,1,4}, {1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f}); - auto beta = NDArrayFactory::create('c', {2,1,4}, {0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.66f, 0.7f, 0.8f}); + auto input = NDArrayFactory::create({2,3,4}); + auto mean = NDArrayFactory::create({2,1,4}, {1.05f, 1.1f, 1.15f, 1.2f, 1.25f, 1.3f, 1.35f, 1.4f}); + auto variance = NDArrayFactory::create({2,1,4}, {0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.f, 1.1f, 1.2f}); + auto gamma = NDArrayFactory::create({2,1,4}, {1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f}); + auto beta = NDArrayFactory::create({2,1,4}, {0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.66f, 0.7f, 0.8f}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {-1.51218734f, -1.31045092f, -1.12231189f, -0.9416324f, -0.83337162f, -0.6391394f, -0.45298865f, -0.2708162f, -0.1545559f, 0.03217212f, 0.21633459f, 0.4f, + auto expected = NDArrayFactory::create({2,3,4}, {-1.51218734f, -1.31045092f, -1.12231189f, -0.9416324f, -0.83337162f, -0.6391394f, -0.45298865f, -0.2708162f, -0.1545559f, 0.03217212f, 0.21633459f, 0.4f, 0.58432694f, 0.82999915f, 0.95743373f, 1.14688951f, 1.25894242f, 1.50999575f, 1.64392367f, 1.84066852f, 1.93355791f, 2.18999235f, 2.33041362f, 2.53444754f}); input.linspace(0.1, 0.1); From 2fa85a570dec66a61209c674a3407c1dfeac5c53 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 17 Jun 2020 18:27:55 +0300 Subject: [PATCH 49/99] Fixed tests with new array factory methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests13.cpp | 22 +- .../layers_tests/DeclarableOpsTests14.cpp | 475 +++++++++--------- 2 files changed, 250 insertions(+), 247 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp index 872dc6a0f51a..57ef51e3c899 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp @@ -183,7 +183,7 @@ TEST_F(DeclarableOpsTests13, test_and_1) { auto y = NDArrayFactory::create({4}, {false, false, true, true}); auto e = NDArrayFactory::create({4}, {false, false, false, true}); - auto z = NDArrayFactory::create({4}); + auto z = NDArrayFactory::vector(4); x.applyPairwiseTransform(pairwise::And, y, z); @@ -195,7 +195,7 @@ TEST_F(DeclarableOpsTests13, test_xor_1) { auto y = NDArrayFactory::create({4}, {false, false, true, true}); auto e = NDArrayFactory::create({4}, {false, true, true, false}); - auto z = NDArrayFactory::create({4}); + auto z = NDArrayFactory::vector(4); x.applyPairwiseTransform(pairwise::Xor, y, z); @@ -291,9 +291,9 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_EdgeForceTest_2) { TEST_F(DeclarableOpsTests13, BarnesHutTsne_EdgeForceTest_3) { auto data = NDArrayFactory::create({11, 5}, {0.3, 0.2625, 0.2674, 0.8604, 0.4803, 0.1096, 0.795, 0.5918, 0.2738, 0.952, 0.969, 0.8586, 0.8088, 0.5338, 0.5961, 0.7187, 0.463, 0.0867, 0.7748, 0.4802, 0.2493, 0.3227, 0.3064, 0.698, 0.7977, 0.7674, 0.168, 0.3107, 0.0217, 0.138, 0.8619, 0.8413, 0.5285, 0.9703, 0.6774, 0.2624, 0.4374, 0.1569, 0.1107, 0.0601, 0.4094, 0.9564, 0.5994, 0.8279, 0.3859, 0.6202, 0.7604, 0.0788, 0.0865, 0.7445, 0.6548, 0.3385, 0.0582, 0.6249, 0.7432}); - auto rows = NDArrayFactory::create({0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99}); - auto cols = NDArrayFactory::create({4, 3, 10, 8, 6, 7, 1, 5, 9, 4, 9, 8, 10, 2, 0, 6, 7, 3, 6, 8, 3, 9, 10, 1, 4, 0, 5, 10, 0, 4, 6, 8, 9, 2, 5, 7, 0, 10, 3, 1, 8, 9, 6, 7, 2, 7, 9, 3, 10, 0, 4, 2, 8, 1, 2, 8, 3, 10, 0, 4, 9, 1, 5, 5, 9, 0, 3, 10, 4, 8, 1, 2, 6, 2, 0, 3, 4, 1, 10, 9, 7, 10, 1, 3, 7, 4, 5, 2, 8, 6, 3, 4, 0, 9, 6, 5, 8, 7, 1}); - auto vals = NDArrayFactory::create({0.6199614579042966, 0.19644097697184246, 0.13824979367331638, 0.01949900138247239, 0.008923198738222747, 0.008392793826291798, 0.0033348224714784204, 0.0026246189757042166, 0.0025733360563748838, 0.5877136110798608, 0.28250257562439585, 0.08098135424273815, 0.014862718272075049, 0.01219187321450782, 0.01152346362368888, 0.004243137936786281, 0.0034626999030188577, 0.0025185661029283168, 0.6777005651521399, 0.18321248222489303, 0.04018202465629351, 0.02941935889988646, 0.02164146250842832, 0.019898422145651618, 0.011683461395713935, 0.008439076090480863, 0.007823146926512332, 0.6770900431883232, 0.16617511239723026, 0.06039349887686468, 0.04650913399744179, 0.016886531410284355, 0.014591049666869658, 0.006407638669806174, 0.006074413005122801, 0.0058725787880570205, 0.6278185083409108, 0.235127797795446, 0.07023700015217448, 0.030885483448633774, 0.01229522088606573, 0.009238279699136107, 0.008219511168822047, 0.004303744819835723, 0.0018744536889749907, 0.7122603898978483, 0.07862620103245824, 0.07061257369349086, 0.06721483653169834, 0.028957853952131768, 0.01778978123182596, 0.01481713955181034, 0.005492728917348627, 0.0042284951913875955, 0.5266844101016999, 0.3304104787383107, 0.10930017433210941, 0.018514917515240075, 0.006969360999637938, 0.0063776901975396, 0.0010590388116165708, 6.526830884629785E-4, 3.1246215383067865E-5, 0.7176179284835663, 0.08741734015883978, 0.05927699083866909, 0.04663169573956976, 0.03287576269194147, 0.02993912340339554, 0.013365238657916641, 0.010616858763291145, 0.002259061262810172, 0.6891905160321706, 0.1397658294110526, 0.05438284759722162, 0.05437184733708826, 0.028683289714498808, 0.020986120697576355, 0.007218358114741088, 0.0032834770669826364, 0.002117714028667893, 0.6823873496503976, 0.1345267083671607, 0.08712863515505885, 0.04286621088946242, 0.02544804597749639, 0.01689343932533317, 0.007219134659004873, 0.0019232929717404616, 0.0016071830043453991, 0.6425809622897437, 0.18474464886441516, 0.10897036475298316, 0.03466939253836615, 0.013288054277817787, 0.005149178177380355, 0.0037974063158903518, 0.0037851733015991287, 0.0030148194818042273}); + auto rows = NDArrayFactory::vector({0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99}); + auto cols = NDArrayFactory::vector({4, 3, 10, 8, 6, 7, 1, 5, 9, 4, 9, 8, 10, 2, 0, 6, 7, 3, 6, 8, 3, 9, 10, 1, 4, 0, 5, 10, 0, 4, 6, 8, 9, 2, 5, 7, 0, 10, 3, 1, 8, 9, 6, 7, 2, 7, 9, 3, 10, 0, 4, 2, 8, 1, 2, 8, 3, 10, 0, 4, 9, 1, 5, 5, 9, 0, 3, 10, 4, 8, 1, 2, 6, 2, 0, 3, 4, 1, 10, 9, 7, 10, 1, 3, 7, 4, 5, 2, 8, 6, 3, 4, 0, 9, 6, 5, 8, 7, 1}); + auto vals = NDArrayFactory::vector({0.6199614579042966, 0.19644097697184246, 0.13824979367331638, 0.01949900138247239, 0.008923198738222747, 0.008392793826291798, 0.0033348224714784204, 0.0026246189757042166, 0.0025733360563748838, 0.5877136110798608, 0.28250257562439585, 0.08098135424273815, 0.014862718272075049, 0.01219187321450782, 0.01152346362368888, 0.004243137936786281, 0.0034626999030188577, 0.0025185661029283168, 0.6777005651521399, 0.18321248222489303, 0.04018202465629351, 0.02941935889988646, 0.02164146250842832, 0.019898422145651618, 0.011683461395713935, 0.008439076090480863, 0.007823146926512332, 0.6770900431883232, 0.16617511239723026, 0.06039349887686468, 0.04650913399744179, 0.016886531410284355, 0.014591049666869658, 0.006407638669806174, 0.006074413005122801, 0.0058725787880570205, 0.6278185083409108, 0.235127797795446, 0.07023700015217448, 0.030885483448633774, 0.01229522088606573, 0.009238279699136107, 0.008219511168822047, 0.004303744819835723, 0.0018744536889749907, 0.7122603898978483, 0.07862620103245824, 0.07061257369349086, 0.06721483653169834, 0.028957853952131768, 0.01778978123182596, 0.01481713955181034, 0.005492728917348627, 0.0042284951913875955, 0.5266844101016999, 0.3304104787383107, 0.10930017433210941, 0.018514917515240075, 0.006969360999637938, 0.0063776901975396, 0.0010590388116165708, 6.526830884629785E-4, 3.1246215383067865E-5, 0.7176179284835663, 0.08741734015883978, 0.05927699083866909, 0.04663169573956976, 0.03287576269194147, 0.02993912340339554, 0.013365238657916641, 0.010616858763291145, 0.002259061262810172, 0.6891905160321706, 0.1397658294110526, 0.05438284759722162, 0.05437184733708826, 0.028683289714498808, 0.020986120697576355, 0.007218358114741088, 0.0032834770669826364, 0.002117714028667893, 0.6823873496503976, 0.1345267083671607, 0.08712863515505885, 0.04286621088946242, 0.02544804597749639, 0.01689343932533317, 0.007219134659004873, 0.0019232929717404616, 0.0016071830043453991, 0.6425809622897437, 0.18474464886441516, 0.10897036475298316, 0.03466939253836615, 0.013288054277817787, 0.005149178177380355, 0.0037974063158903518, 0.0037851733015991287, 0.0030148194818042273}); //auto buf = NDArrayFactory::create({4}); auto exp = NDArrayFactory::create({11, 5}, {-0.080205, -0.085862, 0.024045, 0.133551, -0.199896, -0.170597, 0.187301, 0.205824, -0.165268, 0.131228, 0.155135, 0.021446, 0.217583, -0.262873, -0.021075, 0.114537, 0.088023, -0.039205, 0.087984, -0.179565, -0.132683, 0.003677, 0.072081, -0.068737, 0.204481, 0.287223, -0.193989, 0.104569, -0.123401, -0.036368, 0.086745, 0.002961, -0.091327, 0.234853, 0.120270, -0.304006, 0.128305, -0.084867, -0.017550, -0.130837, -0.288569, 0.124679, 0.054078, -0.034187, -0.192599, 0.033196, 0.228182, -0.044972, -0.314217, 0.020287, 0.054427, -0.078887, -0.078246, -0.104543, 0.169803}); //auto exp2 = NDArrayFactory::create({-4., -4., -4., -4. @@ -373,9 +373,9 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_3) { } TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_4) { - auto rows = NDArrayFactory::create({0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99}); - auto cols = NDArrayFactory::create({4, 3, 10, 8, 6, 7, 1, 5, 9, 4, 9, 8, 10, 2, 0, 6, 7, 3, 6, 8, 3, 9, 10, 1, 4, 0, 5, 10, 0, 4, 6, 8, 9, 2, 5, 7, 0, 10, 3, 1, 8, 9, 6, 7, 2, 7, 9, 3, 10, 0, 4, 2, 8, 1, 2, 8, 3, 10, 0, 4, 9, 1, 5, 5, 9, 0, 3, 10, 4, 8, 1, 2, 6, 2, 0, 3, 4, 1, 10, 9, 7, 10, 1, 3, 7, 4, 5, 2, 8, 6, 3, 4, 0, 9, 6, 5, 8, 7, 1}); - auto vals = NDArrayFactory::create( {0.6200, 0.1964, 0.1382, 0.0195, 0.0089, 0.0084, 0.0033, 0.0026, 0.0026, 0.5877, 0.2825, 0.0810, 0.0149, 0.0122, 0.0115, 0.0042, 0.0035, 0.0025, 0.6777, 0.1832, 0.0402, 0.0294, 0.0216, 0.0199, 0.0117, 0.0084, 0.0078, 0.6771, 0.1662, 0.0604, 0.0465, 0.0169, 0.0146, 0.0064, 0.0061, 0.0059, 0.6278, 0.2351, 0.0702, 0.0309, 0.0123, 0.0092, 0.0082, 0.0043, 0.0019, 0.7123, 0.0786, 0.0706, 0.0672, 0.0290, 0.0178, 0.0148, 0.0055, 0.0042, 0.5267, 0.3304, 0.1093, 0.0185, 0.0070, 0.0064, 0.0011, 0.0007, 3.1246e-5, 0.7176, 0.0874, 0.0593, 0.0466, 0.0329, 0.0299, 0.0134, 0.0106, 0.0023, 0.6892, 0.1398, 0.0544, 0.0544, 0.0287, 0.0210, 0.0072, 0.0033, 0.0021, 0.6824, 0.1345, 0.0871, 0.0429, 0.0254, 0.0169, 0.0072, 0.0019, 0.0016, 0.6426, 0.1847, 0.1090, 0.0347, 0.0133, 0.0051, 0.0038, 0.0038, 0.0030}); + auto rows = NDArrayFactory::vector({0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99}); + auto cols = NDArrayFactory::vector({4, 3, 10, 8, 6, 7, 1, 5, 9, 4, 9, 8, 10, 2, 0, 6, 7, 3, 6, 8, 3, 9, 10, 1, 4, 0, 5, 10, 0, 4, 6, 8, 9, 2, 5, 7, 0, 10, 3, 1, 8, 9, 6, 7, 2, 7, 9, 3, 10, 0, 4, 2, 8, 1, 2, 8, 3, 10, 0, 4, 9, 1, 5, 5, 9, 0, 3, 10, 4, 8, 1, 2, 6, 2, 0, 3, 4, 1, 10, 9, 7, 10, 1, 3, 7, 4, 5, 2, 8, 6, 3, 4, 0, 9, 6, 5, 8, 7, 1}); + auto vals = NDArrayFactory::vector( {0.6200, 0.1964, 0.1382, 0.0195, 0.0089, 0.0084, 0.0033, 0.0026, 0.0026, 0.5877, 0.2825, 0.0810, 0.0149, 0.0122, 0.0115, 0.0042, 0.0035, 0.0025, 0.6777, 0.1832, 0.0402, 0.0294, 0.0216, 0.0199, 0.0117, 0.0084, 0.0078, 0.6771, 0.1662, 0.0604, 0.0465, 0.0169, 0.0146, 0.0064, 0.0061, 0.0059, 0.6278, 0.2351, 0.0702, 0.0309, 0.0123, 0.0092, 0.0082, 0.0043, 0.0019, 0.7123, 0.0786, 0.0706, 0.0672, 0.0290, 0.0178, 0.0148, 0.0055, 0.0042, 0.5267, 0.3304, 0.1093, 0.0185, 0.0070, 0.0064, 0.0011, 0.0007, 3.1246e-5, 0.7176, 0.0874, 0.0593, 0.0466, 0.0329, 0.0299, 0.0134, 0.0106, 0.0023, 0.6892, 0.1398, 0.0544, 0.0544, 0.0287, 0.0210, 0.0072, 0.0033, 0.0021, 0.6824, 0.1345, 0.0871, 0.0429, 0.0254, 0.0169, 0.0072, 0.0019, 0.0016, 0.6426, 0.1847, 0.1090, 0.0347, 0.0133, 0.0051, 0.0038, 0.0038, 0.0030}); //auto exp = NDArrayFactory::create({1, 39}, {15.000000, 0.000000, 0.000000, 65.000000, 60.000000, 145.000000, 20.000000, 25.000000, 65.000000, 145.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}); // data.linspace(1); auto exp4 = NDArrayFactory::create({1, 108}, {0.6239, 0.1813, 0.1236, 0.03695, 0.00795, 0.03385, 0.0074, 0.0158, 0.0013, 0.0042, 0.0074, 0.3093, 0.2085, 0.051, 0.00895, 0.01605, 0.00245, 0.00705, 0.00125, 0.0021, 0.01605, 0.6022, 0.1615, 0.0233, @@ -403,9 +403,9 @@ TEST_F(DeclarableOpsTests13, BarnesHutTsne_symmetrized_4) { TEST_F(DeclarableOpsTests13, CellContains_test_1) { - auto corners = NDArrayFactory::create( {0.5384, 0.5640, 0.3449, 0.5257, 0.5505}); - auto width = NDArrayFactory::create({0.4306, 0.3960, 0.4639, 0.5040, 0.4904}); - auto point = NDArrayFactory::create({0.3000, 0.2625, 0.2674, 0.8604, 0.4803}); + auto corners = NDArrayFactory::vector({0.5384, 0.5640, 0.3449, 0.5257, 0.5505}); + auto width = NDArrayFactory::vector({0.4306, 0.3960, 0.4639, 0.5040, 0.4904}); + auto point = NDArrayFactory::vector({0.3000, 0.2625, 0.2674, 0.8604, 0.4803}); //auto exp = NDArrayFactory::create({1, 39}, {15.000000, 0.000000, 0.000000, 65.000000, 60.000000, 145.000000, 20.000000, 25.000000, 65.000000, 145.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}); // data.linspace(1); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp index 035b9361dcb5..48efdc028526 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp @@ -39,8 +39,8 @@ class DeclarableOpsTests14 : public testing::Test { }; TEST_F(DeclarableOpsTests14, Test_Validation_Edge_1) { - auto x = NDArrayFactory::create('c', {2}, {2, 2}); - auto exp = NDArrayFactory::create('c', {2, 2}, Environment::getInstance()->defaultFloatDataType()); + auto x = NDArrayFactory::create({2}, {2, 2}); + auto exp = NDArrayFactory::create(Environment::getInstance()->defaultFloatDataType(), {2, 2}); exp.assign(4.0f); sd::ops::fill op; @@ -55,8 +55,8 @@ TEST_F(DeclarableOpsTests14, Test_Validation_Edge_1) { } TEST_F(DeclarableOpsTests14, Test_Inf_Comparison_1) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, std::numeric_limits::infinity(), 5}); - auto y = NDArrayFactory::create('c', {5}, {1, 2, 3, std::numeric_limits::infinity(), 5}); + auto x = NDArrayFactory::create({5}, {1, 2, 3, std::numeric_limits::infinity(), 5}); + auto y = NDArrayFactory::create({5}, {1, 2, 3, std::numeric_limits::infinity(), 5}); ASSERT_EQ(x, y); } @@ -67,8 +67,8 @@ TEST_F(DeclarableOpsTests14, Test_Inf_Comparison_2) { return; #endif - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, std::numeric_limits::infinity(), 5}); - auto y = NDArrayFactory::create('c', {5}, {1, 2, 3, -std::numeric_limits::infinity(), 5}); + auto x = NDArrayFactory::create({5}, {1, 2, 3, std::numeric_limits::infinity(), 5}); + auto y = NDArrayFactory::create({5}, {1, 2, 3, -std::numeric_limits::infinity(), 5}); ASSERT_NE(x, y); } @@ -77,9 +77,9 @@ TEST_F(DeclarableOpsTests14, Multiply_test) { for(int k=2;k<10;k++){ //nd4j_printf("k=%d\n", k); - NDArray x = NDArrayFactory::create('c', {k, 1}); - NDArray y = NDArrayFactory::create('c', {k}); - NDArray e = NDArrayFactory::create('c', {k, k}); + NDArray x = NDArrayFactory::create({k, 1}); + NDArray y = NDArrayFactory::create({k}); + NDArray e = NDArrayFactory::create({k, k}); x.assign(1.0); y.assign(1.0); e.assign(1.0); @@ -97,9 +97,9 @@ TEST_F(DeclarableOpsTests14, Multiply_test) { } TEST_F(DeclarableOpsTests14, Test_EvalReductionShape_1) { - auto x = NDArrayFactory::create('c', {3}, {5, 3, 4}); - auto y = NDArrayFactory::create('c', {1}, {1}); - auto e = NDArrayFactory::create('c', {2}, {5, 4}); + auto x = NDArrayFactory::create({3}, {5, 3, 4}); + auto y = NDArrayFactory::create({1}, {1}); + auto e = NDArrayFactory::create({2}, {5, 4}); sd::ops::evaluate_reduction_shape op; auto result = op.evaluate({&x, &y}, {}, {}, {false, false}); @@ -112,9 +112,9 @@ TEST_F(DeclarableOpsTests14, Test_EvalReductionShape_1) { } TEST_F(DeclarableOpsTests14, Test_EvalReductionShape_2) { - auto x = NDArrayFactory::create('c', {3}, {5, 3, 4}); - auto y = NDArrayFactory::create('c', {1}, {1}); - auto e = NDArrayFactory::create('c', {3}, {5, 1, 4}); + auto x = NDArrayFactory::create({3}, {5, 3, 4}); + auto y = NDArrayFactory::create({1}, {1}); + auto e = NDArrayFactory::create({3}, {5, 1, 4}); sd::ops::evaluate_reduction_shape op; auto result = op.evaluate({&x, &y}, {}, {}, {true, false}); @@ -127,9 +127,9 @@ TEST_F(DeclarableOpsTests14, Test_EvalReductionShape_2) { } TEST_F(DeclarableOpsTests14, Test_Reduce_Min_Small_0) { - auto x = NDArrayFactory::create('c', {3, 4}, {-999.f, 0.2236f, 0.7973f, 0.0962f, 0.7231f, 0.3381f, -0.7301f, 0.9115f, -0.5094f, 0.9749f, -2.1340f, 0.6023f}); - auto z = NDArrayFactory::create('c', {4}); - auto e = NDArrayFactory::create('c', {4}, {-999.f, 0.2236f, -2.1340f, 0.0962f}); + auto x = NDArrayFactory::create({3, 4}, {-999.f, 0.2236f, 0.7973f, 0.0962f, 0.7231f, 0.3381f, -0.7301f, 0.9115f, -0.5094f, 0.9749f, -2.1340f, 0.6023f}); + auto z = NDArrayFactory::create({4}); + auto e = NDArrayFactory::create({4}, {-999.f, 0.2236f, -2.1340f, 0.0962f}); sd::ops::reduce_min op; op.execute({&x}, {&z}, {}, {0}, {}); @@ -140,9 +140,9 @@ TEST_F(DeclarableOpsTests14, Test_Reduce_Min_Small_0) { } TEST_F(DeclarableOpsTests14, Test_Reduce_Min_Small_1) { - auto x = NDArrayFactory::create('c', {3, 4}, {-999.f, 0.2236f, 0.7973f, 0.0962f, 0.7231f, 0.3381f, -0.7301f, 0.9115f, -0.5094f, 0.9749f, -2.1340f, 0.6023f}); - auto z = NDArrayFactory::create('c', {3}); - auto e = NDArrayFactory::create('c', {3}, {-999.f, -0.7301f, -2.1340f}); + auto x = NDArrayFactory::create({3, 4}, {-999.f, 0.2236f, 0.7973f, 0.0962f, 0.7231f, 0.3381f, -0.7301f, 0.9115f, -0.5094f, 0.9749f, -2.1340f, 0.6023f}); + auto z = NDArrayFactory::create({3}); + auto e = NDArrayFactory::create({3}, {-999.f, -0.7301f, -2.1340f}); sd::ops::reduce_min op; op.execute({&x}, {&z}, {}, {1}, {}); @@ -153,9 +153,9 @@ TEST_F(DeclarableOpsTests14, Test_Reduce_Min_Small_1) { } TEST_F(DeclarableOpsTests14, Test_Diag_Zeros_1) { - auto x = NDArrayFactory::create('c', {2}, {1, 2}); - auto z = NDArrayFactory::create('c', {2, 2}, {-119, -119, -119, -119}); - auto exp = NDArrayFactory::create('c', {2, 2}, {1, 0, 0, 2}); + auto x = NDArrayFactory::create({2}, {1, 2}); + auto z = NDArrayFactory::create({2, 2}, {-119, -119, -119, -119}); + auto exp = NDArrayFactory::create({2, 2}, {1, 0, 0, 2}); sd::ops::diag op; auto status = op.execute({&x}, {&z}, {}, {}, {}); @@ -166,8 +166,8 @@ TEST_F(DeclarableOpsTests14, Test_Diag_Zeros_1) { TEST_F(DeclarableOpsTests14, Test_scalar_broadcast_1) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {5, 10}); - auto e = NDArrayFactory::create('c', {5, 10}); + auto y = NDArrayFactory::create({5, 10}); + auto e = NDArrayFactory::create({5, 10}); e.assign(1.0); @@ -182,8 +182,8 @@ TEST_F(DeclarableOpsTests14, Test_scalar_broadcast_1) { TEST_F(DeclarableOpsTests14, Test_scalar_broadcast_2) { auto x = NDArrayFactory::create(1.0f); - auto y = NDArrayFactory::create('c', {5, 10}); - auto e = NDArrayFactory::create('c', {5, 10}); + auto y = NDArrayFactory::create({5, 10}); + auto e = NDArrayFactory::create({5, 10}); y.assign(2.0f); e.assign(-1.0f); @@ -212,22 +212,22 @@ TEST_F(DeclarableOpsTests14, test_empty_fill_1) { } TEST_F(DeclarableOpsTests14, test_lstmBlockCell_1) { - auto a = NDArrayFactory::create('c', {1, 5}, {0.7787856f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f}); - auto b = NDArrayFactory::create('c', {1, 3}); - auto c = NDArrayFactory::create('c', {1, 3}); - auto d = NDArrayFactory::create('c', {8, 12}, {-0.15320599,-0.120416045,0.33126968,0.13921785,-0.32313538,-0.43956736,0.4756174,0.4335605,-0.5450856,-0.3943429,-0.28687626,0.068032146,-0.2793799,0.17298919,-0.36553562,-0.097853184,-0.2544747,-0.39872527,-0.14556861,-0.31479517,0.2559092,0.47166896,-0.31330687,0.47313118,0.5134543,-0.4678212,-0.12853557,0.26142156,0.43472284,-0.42842552,-0.1895876,0.538689,0.508651,-0.020272732,0.112327516,0.2704304,-0.046546757,0.32570732,-0.15148133,-0.19145513,0.18631572,-0.024152994,0.41603214,-0.3421499,0.0106860995,-0.2966229,-0.36713937,0.25841123,0.0843398,0.49082482,0.10800403,0.1874243,-0.26379472,-0.22531849,0.24924624,0.23119557,0.49940765,-0.051413506,0.20315129,-0.41888732,0.44097036,0.40453392,0.013338983,0.23434466,0.23942488,0.47894,-0.19898453,0.09253675,-0.032358468,-0.15213022,-0.3441009,-0.15600958,-0.08235118,0.12165731,-0.4481289,-0.4842423,-0.45797008,-0.4606034,0.08163166,-0.2981107,0.50207126,0.44195646,0.13850057,0.072246075,-0.34388685,0.030900061,0.35821778,0.47900867,0.5094063,0.23683065,0.18020362,-0.1369732,0.015235603,0.2786904,0.07954317,0.12543976}); - auto e = NDArrayFactory::create('c', {3}); - auto f = NDArrayFactory::create('c', {3}); - auto g = NDArrayFactory::create('c', {3}); - auto h = NDArrayFactory::create('c', {12}); - - auto z0 = NDArrayFactory::create('c', {1, 3}); - auto z1 = NDArrayFactory::create('c', {1, 3}); - auto z2 = NDArrayFactory::create('c', {1, 3}); - auto z3 = NDArrayFactory::create('c', {1, 3}); - auto z4 = NDArrayFactory::create('c', {1, 3}); - auto z5 = NDArrayFactory::create('c', {1, 3}); - auto z6 = NDArrayFactory::create('c', {1, 3}); + auto a = NDArrayFactory::create({1, 5}, {0.7787856f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f}); + auto b = NDArrayFactory::create({1, 3}); + auto c = NDArrayFactory::create({1, 3}); + auto d = NDArrayFactory::create({8, 12}, {-0.15320599,-0.120416045,0.33126968,0.13921785,-0.32313538,-0.43956736,0.4756174,0.4335605,-0.5450856,-0.3943429,-0.28687626,0.068032146,-0.2793799,0.17298919,-0.36553562,-0.097853184,-0.2544747,-0.39872527,-0.14556861,-0.31479517,0.2559092,0.47166896,-0.31330687,0.47313118,0.5134543,-0.4678212,-0.12853557,0.26142156,0.43472284,-0.42842552,-0.1895876,0.538689,0.508651,-0.020272732,0.112327516,0.2704304,-0.046546757,0.32570732,-0.15148133,-0.19145513,0.18631572,-0.024152994,0.41603214,-0.3421499,0.0106860995,-0.2966229,-0.36713937,0.25841123,0.0843398,0.49082482,0.10800403,0.1874243,-0.26379472,-0.22531849,0.24924624,0.23119557,0.49940765,-0.051413506,0.20315129,-0.41888732,0.44097036,0.40453392,0.013338983,0.23434466,0.23942488,0.47894,-0.19898453,0.09253675,-0.032358468,-0.15213022,-0.3441009,-0.15600958,-0.08235118,0.12165731,-0.4481289,-0.4842423,-0.45797008,-0.4606034,0.08163166,-0.2981107,0.50207126,0.44195646,0.13850057,0.072246075,-0.34388685,0.030900061,0.35821778,0.47900867,0.5094063,0.23683065,0.18020362,-0.1369732,0.015235603,0.2786904,0.07954317,0.12543976}); + auto e = NDArrayFactory::create({3}); + auto f = NDArrayFactory::create({3}); + auto g = NDArrayFactory::create({3}); + auto h = NDArrayFactory::create({12}); + + auto z0 = NDArrayFactory::create({1, 3}); + auto z1 = NDArrayFactory::create({1, 3}); + auto z2 = NDArrayFactory::create({1, 3}); + auto z3 = NDArrayFactory::create({1, 3}); + auto z4 = NDArrayFactory::create({1, 3}); + auto z5 = NDArrayFactory::create({1, 3}); + auto z6 = NDArrayFactory::create({1, 3}); sd::ops::lstmBlockCell op; auto result = op.execute({&a, &b, &c, &d, &e, &f, &g, &h}, {&z0, &z1, &z2, &z3, &z4, &z5, &z6}, {1.0, -1.0}, {0}, {}); @@ -236,7 +236,7 @@ TEST_F(DeclarableOpsTests14, test_lstmBlockCell_1) { TEST_F(DeclarableOpsTests14, test_empty_reduce_min_1) { - auto e = NDArrayFactory::create('c', {1, 0}); + auto e = NDArrayFactory::create({1, 0}); sd::ops::reduce_min sumOp; auto res2 = sumOp.evaluate({&e}, {1.}, {1}); ASSERT_EQ(res2.status(), Status::OK()); @@ -248,7 +248,7 @@ TEST_F(DeclarableOpsTests14, test_empty_reduce_min_1) { TEST_F(DeclarableOpsTests14, test_empty_reduce_max_1) { - auto e = NDArrayFactory::create('c', {1, 0}); + auto e = NDArrayFactory::create({1, 0}); sd::ops::reduce_max sumOp; auto res2 = sumOp.evaluate({&e}, {1.}, {1}); ASSERT_EQ(res2.status(), Status::OK()); @@ -264,7 +264,7 @@ TEST_F(DeclarableOpsTests14, test_empty_reduce_sum_1) { return; #endif - auto e = NDArrayFactory::create('c', {1, 0}); + auto e = NDArrayFactory::create({1, 0}); sd::ops::reduce_sum sumOp; auto res2 = sumOp.evaluate({&e}, {1.}, {1}); ASSERT_EQ(res2.status(), Status::OK()); @@ -279,7 +279,7 @@ TEST_F(DeclarableOpsTests14, test_empty_reduce_mean_1) { return; #endif - auto e = NDArrayFactory::create('c', {1, 0}); + auto e = NDArrayFactory::create({1, 0}); sd::ops::reduce_mean sumOp; auto res2 = sumOp.evaluate({&e}, {1.}, {1}); ASSERT_EQ(res2.status(), Status::OK()); @@ -291,12 +291,12 @@ TEST_F(DeclarableOpsTests14, test_empty_reduce_mean_1) { } TEST_F(DeclarableOpsTests14, Test_StridedSliceZeros_1) { - auto matrix = NDArrayFactory::create('c', {1, 2, 0, 4}); - auto b = NDArrayFactory::create('c', {3}, {0, 0, 0}); - auto e = NDArrayFactory::create('c', {3}, {2,0,2}); - auto s = NDArrayFactory::create('c', {3}, {1,1,1}); + auto matrix = NDArrayFactory::create({1, 2, 0, 4}); + auto b = NDArrayFactory::create({3}, {0, 0, 0}); + auto e = NDArrayFactory::create({3}, {2,0,2}); + auto s = NDArrayFactory::create({3}, {1,1,1}); - auto exp = NDArrayFactory::create('c', {1,0,0,4}); + auto exp = NDArrayFactory::create({1,0,0,4}); matrix.linspace(1); @@ -312,12 +312,12 @@ TEST_F(DeclarableOpsTests14, Test_StridedSliceZeros_1) { } TEST_F(DeclarableOpsTests14, Test_StridedSliceZeros_2) { - auto matrix = NDArrayFactory::create('c', {1, 2, 0, 4}); - auto b = NDArrayFactory::create('c', {3}, {0, 0, 0}); - auto e = NDArrayFactory::create('c', {3}, {2,0,2}); - auto s = NDArrayFactory::create('c', {3}, {1,1,1}); + auto matrix = NDArrayFactory::create({1, 2, 0, 4}); + auto b = NDArrayFactory::create({3}, {0, 0, 0}); + auto e = NDArrayFactory::create({3}, {2,0,2}); + auto s = NDArrayFactory::create({3}, {1,1,1}); - auto exp = NDArrayFactory::create('c', {0,0,4}); + auto exp = NDArrayFactory::create({0,0,4}); matrix.linspace(1); @@ -333,9 +333,9 @@ TEST_F(DeclarableOpsTests14, Test_StridedSliceZeros_2) { } TEST_F(DeclarableOpsTests14, test_empty_argmax_1) { - auto x = NDArrayFactory::create('c', {1, 0}); + auto x = NDArrayFactory::create({1, 0}); auto y = NDArrayFactory::create(0); - auto e = NDArrayFactory::create('c', {0}); + auto e = NDArrayFactory::create({0}); sd::ops::argmax op; //sd::ops::reduce_max op; @@ -351,7 +351,7 @@ TEST_F(DeclarableOpsTests14, test_empty_argmax_1) { } TEST_F(DeclarableOpsTests14, test_empty_argmax_2) { - auto x = NDArrayFactory::create('c', {1, 0}); + auto x = NDArrayFactory::create({1, 0}); auto y = NDArrayFactory::create(1); sd::ops::argmax op; @@ -364,7 +364,7 @@ TEST_F(DeclarableOpsTests14, test_empty_argmax_2) { } TEST_F(DeclarableOpsTests14, test_empty_tanh_5) { - auto x = NDArrayFactory::create('c', {32, 0}); + auto x = NDArrayFactory::create({32, 0}); sd::ops::tanh op; auto result = op.evaluate({&x}, {}, {}); @@ -608,9 +608,9 @@ TEST_F(DeclarableOpsTests14, Test_broadcast_SpecialCaseTest8) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test1) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto y = NDArrayFactory::create('c', {4, 3}); - auto exp = NDArrayFactory::create('f', {3, 3}, {35., 79., 123., 40., 92., 144., 45., 105., 165.}); + auto x = NDArrayFactory::create({3, 4}); + auto y = NDArrayFactory::create({4, 3}); + auto exp = NDArrayFactory::create({3, 3}, {35., 79., 123., 40., 92., 144., 45., 105., 165.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -630,9 +630,9 @@ TEST_F(DeclarableOpsTests14, matmul_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test2) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto y = NDArrayFactory::create('f', {4, 3}); - auto exp = NDArrayFactory::create('f', {3, 3}, {35., 79., 123.,40., 92., 144.,45.,105., 165.}); + auto x = NDArrayFactory::create({3, 4}); + auto y = NDArrayFactory::create({4, 3}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create({3, 3}, {35., 79., 123.,40., 92., 144.,45.,105., 165.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -651,9 +651,9 @@ TEST_F(DeclarableOpsTests14, matmul_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test3) { - auto x = NDArrayFactory::create('f', {3, 4}); - auto y = NDArrayFactory::create('c', {4, 3}); - auto exp = NDArrayFactory::create('f', {3, 3}, {35., 79., 123.,40., 92., 144.,45.,105., 165.}); + auto x = NDArrayFactory::create({3, 4}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({4LL, 3LL}); + auto exp = NDArrayFactory::create({3, 3}, {35., 79., 123.,40., 92., 144.,45.,105., 165.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -673,9 +673,9 @@ TEST_F(DeclarableOpsTests14, matmul_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test4) { - auto x = NDArrayFactory::create ('f', {3, 4}); - auto y = NDArrayFactory::create('f', {4, 3}); - auto exp = NDArrayFactory::create('f', {3, 3}, {35., 79., 123.,40., 92., 144.,45.,105., 165.}); + auto x = NDArrayFactory::create ({3, 4}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({4, 3}); + auto exp = NDArrayFactory::create({3, 3}, {35., 79., 123.,40., 92., 144.,45.,105., 165.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -695,9 +695,9 @@ TEST_F(DeclarableOpsTests14, matmul_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test5) { - auto x = NDArrayFactory::create('c', {4, 3}); - auto y = NDArrayFactory::create('c', {4, 3}); - auto exp = NDArrayFactory::create('f', {3, 3}, {83., 94., 105., 94., 107., 120., 105., 120., 135.}); + auto x = NDArrayFactory::create({4, 3}); + auto y = NDArrayFactory::create({4, 3}); + auto exp = NDArrayFactory::create({3, 3}, {83., 94., 105., 94., 107., 120., 105., 120., 135.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -716,9 +716,9 @@ TEST_F(DeclarableOpsTests14, matmul_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test6) { - auto x = NDArrayFactory::create('c', {4, 3}); - auto y = NDArrayFactory::create('f', {3, 4}); - auto exp = NDArrayFactory::create('f', {3, 3}, {35., 40., 45., 79., 92., 105., 123., 144., 165.}); + auto x = NDArrayFactory::create({4, 3}); + auto y = NDArrayFactory::create({3, 4}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create({3, 3}, {35., 40., 45., 79., 92., 105., 123., 144., 165.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -737,11 +737,12 @@ TEST_F(DeclarableOpsTests14, matmul_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test7) { - auto x = NDArrayFactory::create('c', {5, 3,4}); - auto y = NDArrayFactory::create('f', {5, 3,4}); - auto exp = NDArrayFactory::create('f',{5, 3,3}, {3. , 84.6, 281.4, 593.4, 1020.6, 7. , 107.8, 323.8, 655. , 1101.4,11. , 131. , 366.2, 716.6, 1182.2, + auto x = NDArrayFactory::create({5, 3,4}); + auto y = NDArrayFactory::create({5, 3,4}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create({5, 3,3}, {3. , 84.6, 281.4, 593.4, 1020.6, 7. , 107.8, 323.8, 655. , 1101.4,11. , 131. , 366.2, 716.6, 1182.2, 7. , 107.8, 323.8, 655. , 1101.4,17.4, 137.4, 372.6, 723. , 1188.6,27.8, 167. , 421.4, 791. , 1275.8, - 11. , 131. , 366.2, 716.6, 1182.2,27.8, 167. , 421.4, 791. , 1275.8,44.6, 203. , 476.6, 865.4, 1369.4,}); + 11. , 131. , 366.2, 716.6, 1182.2,27.8, 167. , 421.4, 791. , 1275.8,44.6, 203. , 476.6, 865.4, 1369.4,}, + sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.1, 0.1); @@ -760,13 +761,14 @@ TEST_F(DeclarableOpsTests14, matmul_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test8) { - auto x = NDArrayFactory::create('c', {2,5, 3,4}); - auto y = NDArrayFactory::create('f', {2,5, 3,4}); - auto exp = NDArrayFactory::create('f',{2,5, 3,3}, {3. , 1563. , 84.6, 2220.6, 281.4, 2993.4, 593.4, 3881.4,1020.6, 4884.6, 7. , 1663. , 107.8, 2339.8, 323.8, 3131.8, 655. , 4039. ,1101.4, 5061.4, + auto x = NDArrayFactory::create({2,5, 3,4}); + auto y = NDArrayFactory::create({2,5, 3,4}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create({2,5, 3,3}, {3. , 1563. , 84.6, 2220.6, 281.4, 2993.4, 593.4, 3881.4,1020.6, 4884.6, 7. , 1663. , 107.8, 2339.8, 323.8, 3131.8, 655. , 4039. ,1101.4, 5061.4, 11. , 1763. , 131. , 2459. , 366.2, 3270.2, 716.6, 4196.6,1182.2, 5238.2, 7. , 1663. , 107.8, 2339.8, 323.8, 3131.8, 655. , 4039. ,1101.4, 5061.4, 17.4, 1769.4, 137.4, 2465.4, 372.6, 3276.6, 723. , 4203. ,1188.6, 5244.6, 27.8, 1875.8, 167. , 2591. , 421.4, 3421.4, 791. , 4367. ,1275.8, 5427.8, 11. , 1763. , 131. , 2459. , 366.2, 3270.2, 716.6, 4196.6,1182.2, 5238.2, 27.8, 1875.8, 167. , 2591. , 421.4, 3421.4, 791. , 4367. ,1275.8, 5427.8, - 44.6, 1988.6, 203. , 2723. , 476.6, 3572.6, 865.4, 4537.4,1369.4, 5617.4}); + 44.6, 1988.6, 203. , 2723. , 476.6, 3572.6, 865.4, 4537.4,1369.4, 5617.4}, + sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.1, 0.1); @@ -785,13 +787,14 @@ TEST_F(DeclarableOpsTests14, matmul_test8) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test9) { - auto x = NDArrayFactory::create('c', {2,5, 4,3}); - auto y = NDArrayFactory::create('f', {2,5, 3,4}); - auto exp = NDArrayFactory::create('f',{2,5, 3,3}, {7. , 1639. , 103. , 2311. , 314.2, 3098.2, 640.6, 4000.6,1082.2, 5018.2, 8. , 1664. , 108.8, 2340.8, 324.8, 3132.8, 656. , 4040. ,1102.4, 5062.4, + auto x = NDArrayFactory::create({2,5, 4,3}); + auto y = NDArrayFactory::create({2,5, 3,4}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create({2,5, 3,3}, {7. , 1639. , 103. , 2311. , 314.2, 3098.2, 640.6, 4000.6,1082.2, 5018.2, 8. , 1664. , 108.8, 2340.8, 324.8, 3132.8, 656. , 4040. ,1102.4, 5062.4, 9. , 1689. , 114.6, 2370.6, 335.4, 3167.4, 671.4, 4079.4,1122.6, 5106.6, 15.8, 1743.8, 131. , 2435. , 361.4, 3241.4, 707. , 4163. ,1167.8, 5199.8, 18.4, 1770.4, 138.4, 2466.4, 373.6, 3277.6, 724. , 4204. ,1189.6, 5245.6, 21. , 1797. , 145.8, 2497.8, 385.8, 3313.8, 741. , 4245. ,1211.4, 5291.4, 24.6, 1848.6, 159. , 2559. , 408.6, 3384.6, 773.4, 4325.4,1253.4, 5381.4, 28.8, 1876.8, 168. , 2592. , 422.4, 3422.4, 792. , 4368. ,1276.8, 5428.8, - 33. , 1905. , 177. , 2625. , 436.2, 3460.2, 810.6, 4410.6,1300.2, 5476.2}); + 33. , 1905. , 177. , 2625. , 436.2, 3460.2, 810.6, 4410.6,1300.2, 5476.2}, + sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.1, 0.1); @@ -809,10 +812,10 @@ TEST_F(DeclarableOpsTests14, matmul_test9) { TEST_F(DeclarableOpsTests14, matmul_test10) { - auto x = NDArrayFactory::create('c', {3, 5}); + auto x = NDArrayFactory::create({3, 5}); x.linspace(1); - auto y = NDArrayFactory::create('c', {5, 3}); + auto y = NDArrayFactory::create({5, 3}); y.linspace(1); float _expB[]{135.0f, 310.0f, 485.0f, 150.0f, 350.0f, 550.0f, 165.0f, 390.0f, 615.0f}; @@ -821,8 +824,8 @@ TEST_F(DeclarableOpsTests14, matmul_test10) { NDArray exp(_expB, _expS); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); variableSpace->putVariable(1, new Variable()); auto block = new Context(1, variableSpace, false); @@ -843,9 +846,9 @@ TEST_F(DeclarableOpsTests14, matmul_test10) { } TEST_F(DeclarableOpsTests14, matmul_test11) { - auto A = NDArrayFactory::create('c', {3, 3}); - auto B = NDArrayFactory::create('c', {3, 1}); - auto exp = NDArrayFactory::create('c', {3, 1}, {14.00f, 32.00f, 50.00f}); + auto A = NDArrayFactory::create({3, 3}); + auto B = NDArrayFactory::create({3, 1}); + auto exp = NDArrayFactory::create({3, 1}, {14.00f, 32.00f, 50.00f}); A.linspace(1); B.linspace(1); @@ -864,9 +867,10 @@ TEST_F(DeclarableOpsTests14, matmul_test11) { } TEST_F(DeclarableOpsTests14, matmul_test12) { - auto x= NDArrayFactory::create('c', {3, 4}, {1, 2, 3, 4, 5, 6, 7, 8 , 9, 10, 11, 12}); - auto y= NDArrayFactory::create('c', {4, 3}, {1, 2, 3, 4, 5, 6, 7, 8 , 9, 10, 11, 12}); - auto exp= NDArrayFactory::create('f', {4, 4}, {38.0, 44.0, 50.0, 56.0, 83.0, 98.0, 113.0, 128.0, 128.0, 152.0, 176.0, 200.0, 173.0, 206.0, 239.0, 272.0}); + auto x= NDArrayFactory::create({3, 4}, {1, 2, 3, 4, 5, 6, 7, 8 , 9, 10, 11, 12}); + auto y= NDArrayFactory::create({4, 3}, {1, 2, 3, 4, 5, 6, 7, 8 , 9, 10, 11, 12}); + auto exp= NDArrayFactory::create({4, 4}, {38.0, 44.0, 50.0, 56.0, 83.0, 98.0, 113.0, 128.0, 128.0, 152.0, 176.0, 200.0, 173.0, 206.0, 239.0, 272.0}, + sd::kArrayOrderFortran); sd::ops::matmul op; auto result = op.evaluate({&x, &y}, {}, {1, 1}); @@ -883,9 +887,9 @@ TEST_F(DeclarableOpsTests14, matmul_test12) { TEST_F(DeclarableOpsTests14, matmul_test13) { - auto x= NDArrayFactory::create('c', {1, 3}, {1, 2, 3}); - auto y= NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto exp= NDArrayFactory::create('f', {3, 4}, {1.0, 2.0, 3.0, 2.0, 4.0, 6.0, 3.0, 6.0, 9.0, 4.0, 8.0, 12.0}); + auto x= NDArrayFactory::create({1, 3}, {1, 2, 3}); + auto y= NDArrayFactory::create({1, 4}, {1, 2, 3, 4}); + auto exp= NDArrayFactory::create({3, 4}, {1.0, 2.0, 3.0, 2.0, 4.0, 6.0, 3.0, 6.0, 9.0, 4.0, 8.0, 12.0}, sd::kArrayOrderFortran); sd::ops::matmul op; auto result = op.evaluate({&x, &y}, {}, {1, 0}); @@ -902,9 +906,9 @@ TEST_F(DeclarableOpsTests14, matmul_test13) { } TEST_F(DeclarableOpsTests14, matmul_test14) { - auto x= NDArrayFactory::create('c', {3, 1}, {1, 2, 3}); - auto y= NDArrayFactory::create('c', {4, 1}, {1, 2, 3, 4}); - auto exp= NDArrayFactory::create('f', {3, 4}, {1.0, 2.0, 3.0, 2.0, 4.0, 6.0, 3.0, 6.0, 9.0, 4.0, 8.0, 12.0}); + auto x= NDArrayFactory::create({3, 1}, {1, 2, 3}); + auto y= NDArrayFactory::create({4, 1}, {1, 2, 3, 4}); + auto exp= NDArrayFactory::create({3, 4}, {1.0, 2.0, 3.0, 2.0, 4.0, 6.0, 3.0, 6.0, 9.0, 4.0, 8.0, 12.0}, sd::kArrayOrderFortran); sd::ops::matmul op; auto result = op.evaluate({&x, &y}, {}, {0, 1}); @@ -921,9 +925,9 @@ TEST_F(DeclarableOpsTests14, matmul_test14) { } TEST_F(DeclarableOpsTests14, matmul_test15) { - auto x= NDArrayFactory::create('c', {3, 1}, {1, 2, 3}); - auto y= NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto exp= NDArrayFactory::create('f', {3, 4}, {1.0, 2.0, 3.0, 2.0, 4.0, 6.0, 3.0, 6.0, 9.0, 4.0, 8.0, 12.0}); + auto x= NDArrayFactory::create({3, 1}, {1, 2, 3}); + auto y= NDArrayFactory::create({1, 4}, {1, 2, 3, 4}); + auto exp= NDArrayFactory::create({3, 4}, {1.0, 2.0, 3.0, 2.0, 4.0, 6.0, 3.0, 6.0, 9.0, 4.0, 8.0, 12.0}, sd::kArrayOrderFortran); sd::ops::matmul op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -940,9 +944,9 @@ TEST_F(DeclarableOpsTests14, matmul_test15) { } TEST_F(DeclarableOpsTests14, matmul_test16) { - auto x= NDArrayFactory::create('c', {4, 1}, {1, 2, 3, 4}); - auto y= NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto exp= NDArrayFactory::create('f', {4, 4}, {1,2, 3, 4,2,4, 6, 8,3,6, 9,12,4,8,12,16}); + auto x= NDArrayFactory::create({4, 1}, {1, 2, 3, 4}); + auto y= NDArrayFactory::create({1, 4}, {1, 2, 3, 4}); + auto exp= NDArrayFactory::create({4, 4}, {1,2, 3, 4,2,4, 6, 8,3,6, 9,12,4,8,12,16}, sd::kArrayOrderFortran); sd::ops::matmul op; auto result = op.evaluate({&x, &y}); @@ -959,9 +963,9 @@ TEST_F(DeclarableOpsTests14, matmul_test16) { } TEST_F(DeclarableOpsTests14, matmul_test17) { - auto x = NDArrayFactory::create('c', {1, 2}, {2.0f, 2.0f}); - auto y = NDArrayFactory::create('c', {2, 1}, {2.0f, 2.0f}); - auto exp = NDArrayFactory::create('c', {1, 1}, {8.0f}); + auto x = NDArrayFactory::create({1, 2}, {2.0f, 2.0f}); + auto y = NDArrayFactory::create({2, 1}, {2.0f, 2.0f}); + auto exp = NDArrayFactory::create({1, 1}, {8.0f}); sd::ops::matmul op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -976,9 +980,9 @@ TEST_F(DeclarableOpsTests14, matmul_test17) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test18) { - auto x = NDArrayFactory::create('c', {1, 4, 3}); - auto y = NDArrayFactory::create('f', {1, 3, 4}); - auto exp = NDArrayFactory::create('f', {1, 3, 3}, {35., 40., 45., 79., 92., 105., 123., 144., 165.}); + auto x = NDArrayFactory::create({1, 4, 3}); + auto y = NDArrayFactory::create({1, 3, 4}, {}, sd::kArrayOrderFortran ); + auto exp = NDArrayFactory::create({1, 3, 3}, {35., 40., 45., 79., 92., 105., 123., 144., 165.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -990,16 +994,14 @@ TEST_F(DeclarableOpsTests14, matmul_test18) { ASSERT_EQ(Status::OK(), results.status()); ASSERT_TRUE(exp.isSameShape(z)); ASSERT_TRUE(exp.equalsTo(z)); - - } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test19) { - auto x = NDArrayFactory::create('c', {4, 1}); - auto y = NDArrayFactory::create('f', {1, 4}); - auto exp = NDArrayFactory::create('f', {1, 1}, {15}); + auto x = NDArrayFactory::create({4, 1}); + auto y = NDArrayFactory::create({1, 4},{}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create({1, 1}, {15}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -1017,9 +1019,9 @@ TEST_F(DeclarableOpsTests14, matmul_test19) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test20) { - auto x = NDArrayFactory::create('c', {1, 4, 1}); - auto y = NDArrayFactory::create('f', {1, 1, 4}); - auto exp = NDArrayFactory::create('f', {1, 1, 1}, {15}); + auto x = NDArrayFactory::create({1, 4, 1}); + auto y = NDArrayFactory::create({1, 1, 4}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create({1, 1, 1}, {15.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -1038,9 +1040,9 @@ TEST_F(DeclarableOpsTests14, matmul_test20) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test21) { - auto x = NDArrayFactory::create('c', {2, 3}); - auto y = NDArrayFactory::create('c', {3, 5}); - auto exp = NDArrayFactory::create('f', {5, 2}, {23. , 26. , 29. , 32. , 35., 50. , 57.5, 65. , 72.5, 80.}); + auto x = NDArrayFactory::create({2, 3}); + auto y = NDArrayFactory::create({3, 5}); + auto exp = NDArrayFactory::create({5, 2}, {23. , 26. , 29. , 32. , 35., 50. , 57.5, 65. , 72.5, 80.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -1059,9 +1061,9 @@ TEST_F(DeclarableOpsTests14, matmul_test21) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test22) { - auto x = NDArrayFactory::create('c', {3, 2}); - auto y = NDArrayFactory::create('c', {3, 5}); - auto exp = NDArrayFactory::create('f', {5, 2}, {37. , 41.5, 46. , 50.5, 55., 46. , 52. , 58. , 64. , 70.}); + auto x = NDArrayFactory::create({3, 2}); + auto y = NDArrayFactory::create({3, 5}); + auto exp = NDArrayFactory::create({5, 2}, {37. , 41.5, 46. , 50.5, 55., 46. , 52. , 58. , 64. , 70.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -1080,9 +1082,9 @@ TEST_F(DeclarableOpsTests14, matmul_test22) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test23) { - auto x = NDArrayFactory::create('c', {3, 2}); - auto y = NDArrayFactory::create('c', {3, 5}); - auto exp = NDArrayFactory::create('f', {5, 2}, {37. , 41.5, 46. , 50.5, 55., 46. , 52. , 58. , 64. , 70.}); + auto x = NDArrayFactory::create({3, 2}); + auto y = NDArrayFactory::create({3, 5}); + auto exp = NDArrayFactory::create({5, 2}, {37. , 41.5, 46. , 50.5, 55., 46. , 52. , 58. , 64. , 70.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.5, 0.5); @@ -1101,12 +1103,13 @@ TEST_F(DeclarableOpsTests14, matmul_test23) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test24) { - auto x = NDArrayFactory::create('c', {2,2, 3,5}); - auto y = NDArrayFactory::create('c', {2,2, 4,3}); - auto exp = NDArrayFactory::create('f',{2,2, 4,5}, {4.6, 281.8, 89.2, 582.4, 10. , 314.2,108.1, 628.3, 15.4, 346.6,127. , 674.2, 20.8, 379. ,145.9, 720.1, 5.2, 289.6, 93.4, 593.8, + auto x = NDArrayFactory::create({2,2, 3,5}); + auto y = NDArrayFactory::create({2,2, 4,3}); + auto exp = NDArrayFactory::create({2,2, 4,5}, {4.6, 281.8, 89.2, 582.4, 10. , 314.2,108.1, 628.3, 15.4, 346.6,127. , 674.2, 20.8, 379. ,145.9, 720.1, 5.2, 289.6, 93.4, 593.8, 11.5, 322.9,113.2, 640.6, 17.8, 356.2,133. , 687.4, 24.1, 389.5,152.8, 734.2, 5.8, 297.4, 97.6, 605.2, 13. , 331.6,118.3, 652.9, 20.2, 365.8,139. , 700.6, 27.4, 400. ,159.7, 748.3, 6.4, 305.2,101.8, 616.6, 14.5, 340.3,123.4, 665.2, 22.6, 375.4,145. , 713.8, - 30.7, 410.5,166.6, 762.4, 7. , 313. ,106. , 628. , 16. , 349. ,128.5, 677.5, 25. , 385. ,151. , 727. , 34. , 421. ,173.5, 776.5}); + 30.7, 410.5,166.6, 762.4, 7. , 313. ,106. , 628. , 16. , 349. ,128.5, 677.5, 25. , 385. ,151. , 727. , 34. , 421. ,173.5, 776.5}, + sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.1, 0.1); @@ -1125,9 +1128,9 @@ TEST_F(DeclarableOpsTests14, matmul_test24) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test25) { - auto x = NDArrayFactory::create('f', {4, 3}); - auto y = NDArrayFactory::create('c', {4}); - auto exp = NDArrayFactory::create('f',{3}, {7., 8., 9.}); + auto x = NDArrayFactory::create({4, 3}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({4}); + auto exp = NDArrayFactory::create({3}, {7., 8., 9.}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.1, 0.1); @@ -1146,9 +1149,9 @@ TEST_F(DeclarableOpsTests14, matmul_test25) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test26) { - auto x = NDArrayFactory::create('f', {3}); - auto y = NDArrayFactory::create('c', {4, 3}); - auto exp = NDArrayFactory::create('f',{4}, {1.4, 3.2, 5., 6.8}); + auto x = NDArrayFactory::create({3}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({4, 3}); + auto exp = NDArrayFactory::create({4}, {1.4, 3.2, 5., 6.8}, sd::kArrayOrderFortran); x.linspace(1.); y.linspace(0.1, 0.1); @@ -1167,9 +1170,9 @@ TEST_F(DeclarableOpsTests14, matmul_test26) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test27) { - auto x = NDArrayFactory::create('f', {1, 1}); - auto y = NDArrayFactory::create('c', {1, 1}); - auto exp = NDArrayFactory::create('f',{1, 1}, {0.2}); + auto x = NDArrayFactory::create({1, 1}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({1, 1}); + auto exp = NDArrayFactory::create({1, 1}, {0.2}, sd::kArrayOrderFortran); x.linspace(2.); y.linspace(0.1, 0.1); @@ -1189,9 +1192,9 @@ TEST_F(DeclarableOpsTests14, matmul_test27) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test28) { - auto x = NDArrayFactory::create('f', {1, 1}); - auto y = NDArrayFactory::create('c', {1, 1}); - auto exp = NDArrayFactory::create('f',{1, 1}, {0.2}); + auto x = NDArrayFactory::create({1, 1}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({1, 1}); + auto exp = NDArrayFactory::create({1, 1}, {0.2}, sd::kArrayOrderFortran); x.linspace(2.); y.linspace(0.1, 0.1); @@ -1211,9 +1214,9 @@ TEST_F(DeclarableOpsTests14, matmul_test28) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test29) { - auto x = NDArrayFactory::create('f', {1}); - auto y = NDArrayFactory::create('c', {1, 1}); - auto exp = NDArrayFactory::create('f',{1}, {0.2}); + auto x = NDArrayFactory::create({1}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({1, 1}); + auto exp = NDArrayFactory::create({1}, {0.2}, sd::kArrayOrderFortran); x.linspace(2.); y.linspace(0.1, 0.1); @@ -1231,9 +1234,9 @@ TEST_F(DeclarableOpsTests14, matmul_test29) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test30) { - auto x = NDArrayFactory::create('f', {1,1}); - auto y = NDArrayFactory::create('c', {1}); - auto exp = NDArrayFactory::create('f',{1}, {0.2}); + auto x = NDArrayFactory::create({1,1}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::vector(1); + auto exp = NDArrayFactory::create({1}, {0.2}, sd::kArrayOrderFortran); x.linspace(2.); y.linspace(0.1, 0.1); @@ -1251,8 +1254,8 @@ TEST_F(DeclarableOpsTests14, matmul_test30) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test31) { - auto x = NDArrayFactory::create('f', {4}); - auto y = NDArrayFactory::create('c', {4}); + auto x = NDArrayFactory::create({4}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::vector(4); auto exp = NDArrayFactory::create(3.); x.linspace(1.); @@ -1271,8 +1274,8 @@ TEST_F(DeclarableOpsTests14, matmul_test31) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test32) { - auto x = NDArrayFactory::create('f', {1}, {2.}); - auto y = NDArrayFactory::create('c', {1}, {3.}); + auto x = NDArrayFactory::create({1}, {2.}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create({1}, {3.}); auto exp = NDArrayFactory::create(6.); sd::ops::matmul op; @@ -1287,9 +1290,9 @@ TEST_F(DeclarableOpsTests14, matmul_test32) { } ///////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test33) { - auto x = NDArrayFactory::create('c', {4, 3}); - auto y = NDArrayFactory::create('c', {4, 1}); - auto exp = NDArrayFactory::create('c',{ 3, 1}, {70, 80, 90}); + auto x = NDArrayFactory::create({4, 3}); + auto y = NDArrayFactory::create({4, 1}); + auto exp = NDArrayFactory::create({ 3, 1}, {70, 80, 90}); x.linspace(1); y.linspace(1); @@ -1307,9 +1310,9 @@ TEST_F(DeclarableOpsTests14, matmul_test33) { } ////////////////////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test34) { - auto a = NDArrayFactory::create('c', {3, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto b = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {30, 70, 110}); + auto a = NDArrayFactory::create({3, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto b = NDArrayFactory::create({4}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create({3}, {30, 70, 110}); sd::ops::matmul op; auto result = op.evaluate({&a, &b}); @@ -1324,9 +1327,9 @@ TEST_F(DeclarableOpsTests14, matmul_test34) { } ///////////////////////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test35) { - auto a = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); - auto b = NDArrayFactory::create('c', {4, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto exp = NDArrayFactory::create('c', {3}, {70, 80, 90}); + auto a = NDArrayFactory::create({4}, {1, 2, 3, 4}); + auto b = NDArrayFactory::create({4, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto exp = NDArrayFactory::create({3}, {70, 80, 90}); sd::ops::matmul op; auto result = op.evaluate({&a, &b}); @@ -1341,9 +1344,9 @@ TEST_F(DeclarableOpsTests14, matmul_test35) { } //////////////////////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests14, matmul_test36) { - auto a = NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto b = NDArrayFactory::create('c', {4, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto exp = NDArrayFactory::create('c', {1, 3}, {70, 80, 90}); + auto a = NDArrayFactory::create({1, 4}, {1, 2, 3, 4}); + auto b = NDArrayFactory::create({4, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto exp = NDArrayFactory::create({1, 3}, {70, 80, 90}); sd::ops::matmul op; auto result = op.evaluate({&a, &b}); @@ -1865,9 +1868,9 @@ TEST_F(DeclarableOpsTests14, Stack_12) { float inBuff[] = {1.0f, 2.0f, 3.0f}; float expBuff[] = {1.0f, 2.0f, 3.0f}; - auto input = NDArrayFactory::create(inBuff, 'c', {1, 3}); + auto input = NDArrayFactory::create(inBuff, {1, 3}); - auto exp = NDArrayFactory::create(expBuff, 'c', {1, 1, 3}); + auto exp = NDArrayFactory::create(expBuff, {1, 1, 3}); sd::ops::stack op; @@ -1887,9 +1890,9 @@ TEST_F(DeclarableOpsTests14, Stack_13) { float inBuff[] = {1.0f, 2.0f, 3.0f}; float expBuff[] = {1.0f, 2.0f, 3.0f}; - auto input = NDArrayFactory::create(inBuff, 'c', {1, 1, 3}); + auto input = NDArrayFactory::create(inBuff, {1, 1, 3}); - auto exp = NDArrayFactory::create(expBuff, 'c', {1, 1, 1, 3}); + auto exp = NDArrayFactory::create(expBuff, {1, 1, 1, 3}); sd::ops::stack op; @@ -1909,9 +1912,9 @@ TEST_F(DeclarableOpsTests14, Stack_14) { float inBuff[] = {1.0f, 2.0f, 3.0f}; float expBuff[] = {1.0f, 2.0f, 3.0f}; - auto input = NDArrayFactory::create(inBuff, 'c', {1, 3}); + auto input = NDArrayFactory::create(inBuff, {1, 3}); - auto exp = NDArrayFactory::create(expBuff, 'c', {1, 1, 3}); + auto exp = NDArrayFactory::create(expBuff, {1, 1, 3}); sd::ops::stack op; @@ -1929,10 +1932,10 @@ TEST_F(DeclarableOpsTests14, Stack_14) { } TEST_F(DeclarableOpsTests14, Stack_15) { - auto t = NDArrayFactory::create('c', {2, 3, 5}); - auto u = NDArrayFactory::create('c', {2, 3, 5}); - auto v = NDArrayFactory::create('c', {2, 3, 5}); - auto exp = NDArrayFactory::create('c', {3, 2, 3, 5}); + auto t = NDArrayFactory::create({2, 3, 5}); + auto u = NDArrayFactory::create({2, 3, 5}); + auto v = NDArrayFactory::create({2, 3, 5}); + auto exp = NDArrayFactory::create({3, 2, 3, 5}); sd::ops::stack op; auto result = op.evaluate({&t, &u, &v}, {}, {-4}); @@ -1951,7 +1954,7 @@ TEST_F(DeclarableOpsTests14, Stack_16) { auto t = NDArrayFactory::create(1.0f); auto u = NDArrayFactory::create(2.0f); auto v = NDArrayFactory::create(3.0f); - auto exp = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create({3}, {1, 2, 3}); sd::ops::stack op; auto result = op.evaluate({&t, &u, &v}, {}, {0}); @@ -1966,11 +1969,11 @@ TEST_F(DeclarableOpsTests14, Stack_16) { } TEST_F(DeclarableOpsTests14, Stack_17) { - auto t = NDArrayFactory::create('c', {1, 1}, {1.0f}); - auto u = NDArrayFactory::create('c', {1, 1}, {2.0f}); - auto v = NDArrayFactory::create('c', {1, 1}, {3.0f}); - auto w = NDArrayFactory::create('c', {1, 1}, {4.0f}); - auto exp = NDArrayFactory::create('c', {4, 1, 1}, {1, 2, 3, 4}); + auto t = NDArrayFactory::create({1, 1}, {1.0f}); + auto u = NDArrayFactory::create({1, 1}, {2.0f}); + auto v = NDArrayFactory::create({1, 1}, {3.0f}); + auto w = NDArrayFactory::create({1, 1}, {4.0f}); + auto exp = NDArrayFactory::create({4, 1, 1}, {1, 2, 3, 4}); sd::ops::stack op; auto result = op.evaluate({&t, &u, &v, &w}, {}, {0}); @@ -1987,8 +1990,8 @@ TEST_F(DeclarableOpsTests14, Stack_17) { } TEST_F(DeclarableOpsTests14, Stack_18) { - auto x = NDArrayFactory::create('c', {0}); - auto e = NDArrayFactory::create('c', {1, 0}); + auto x = NDArrayFactory::create({0}); + auto e = NDArrayFactory::create({1, 0}); sd::ops::stack op; auto result = op.evaluate({&x}, {}, {0}); @@ -2008,7 +2011,7 @@ TEST_F(DeclarableOpsTests14, Stack_18) { TEST_F(DeclarableOpsTests14, Stack_19) { auto x = NDArrayFactory::empty(); - auto e = NDArrayFactory::create('c', {0}); + auto e = NDArrayFactory::create({0}); sd::ops::stack op; auto result = op.evaluate({&x}, {}, {0}); @@ -2022,7 +2025,7 @@ TEST_F(DeclarableOpsTests14, Stack_19) { TEST_F(DeclarableOpsTests14, Stack_20) { auto x = NDArrayFactory::empty(); - auto e = NDArrayFactory::create('c', {2, 0}); + auto e = NDArrayFactory::create({2, 0}); sd::ops::stack op; auto result = op.evaluate({&x, &x}, {}, {0}); @@ -2064,13 +2067,13 @@ TEST_F(DeclarableOpsTests14, Reshape1) { const std::vector xShape = { 5,4,3 }; const std::vector yShape = { 3,5,4 }; - auto x = NDArrayFactory::create('f', xShape); - auto y = NDArrayFactory::create('f', yShape); + auto x = NDArrayFactory::create(xShape, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create(yShape, {}, sd::kArrayOrderFortran); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -2093,7 +2096,7 @@ TEST_F(DeclarableOpsTests14, Reshape2) { auto y = NDArrayFactory::create('c', yShape); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); variableSpace->putVariable(1, new Variable()); auto block = new Context(1, variableSpace, false); @@ -2118,7 +2121,7 @@ TEST_F(DeclarableOpsTests14, Reshape2) { } TEST_F(DeclarableOpsTests14, Reshape3) { - auto x = NDArrayFactory::create('c', { 3, 4, 5 }); + auto x = NDArrayFactory::create({ 3, 4, 5 }); sd::ops::reshape op; auto result = op.evaluate({ &x }, {}, { -99, 3, 4, 5 }); @@ -2131,7 +2134,7 @@ TEST_F(DeclarableOpsTests14, Reshape3) { } TEST_F(DeclarableOpsTests14, Reshape4) { - auto x = NDArrayFactory::create('c', { 3, 4, 5 }); + auto x = NDArrayFactory::create({ 3, 4, 5 }); sd::ops::reshape op; auto result = op.evaluate({ &x }, {}, { 3, 4, 5 }); @@ -2144,7 +2147,7 @@ TEST_F(DeclarableOpsTests14, Reshape4) { } TEST_F(DeclarableOpsTests14, Reshape5) { - auto x = NDArrayFactory::create('c', { 3, 4, 5 }); + auto x = NDArrayFactory::create({ 3, 4, 5 }); sd::ops::reshape op; auto result = op.evaluate({ &x }, {}, { 5, 4, 3 }); @@ -2153,8 +2156,8 @@ TEST_F(DeclarableOpsTests14, Reshape5) { } TEST_F(DeclarableOpsTests14, Reshape6) { - auto x = NDArrayFactory::create('c', { 3, 4, 5 }); - auto exp = NDArrayFactory::create('c', { 4, 15 }); + auto x = NDArrayFactory::create({ 3, 4, 5 }); + auto exp = NDArrayFactory::create({ 4, 15 }); sd::ops::reshape op; auto result = op.evaluate({ &x }, {}, { 4, -1 }); @@ -2167,8 +2170,8 @@ TEST_F(DeclarableOpsTests14, Reshape6) { } TEST_F(DeclarableOpsTests14, Reshape7) { - auto x = NDArrayFactory::create('c', { 3, 4, 5 }); - auto exp = NDArrayFactory::create('c', { 60 }); + auto x = NDArrayFactory::create({ 3, 4, 5 }); + auto exp = NDArrayFactory::create({ 60 }); sd::ops::reshape op; auto result = op.evaluate({ &x }, {}, { -1 }); @@ -2181,10 +2184,10 @@ TEST_F(DeclarableOpsTests14, Reshape7) { } TEST_F(DeclarableOpsTests14, Reshape8) { - auto x = NDArrayFactory::create('f', {2, 3}, {1.0, 4.0, 2.0, 5.0, 3.0, 6.0}); - auto e = NDArrayFactory::create('f', {3, 2}, {1.0, 3.0, 5.0, 2.0, 4.0, 6.0}); + auto x = NDArrayFactory::create({2, 3}, {1.0, 4.0, 2.0, 5.0, 3.0, 6.0}, sd::kArrayOrderFortran); + auto e = NDArrayFactory::create({3, 2}, {1.0, 3.0, 5.0, 2.0, 4.0, 6.0}, sd::kArrayOrderFortran); - auto r = x.reshape('c', {3, 2});; + auto r = x.reshape('c', {3, 2}); r.streamline('f'); sd::ops::reshape op; @@ -2196,7 +2199,7 @@ TEST_F(DeclarableOpsTests14, Reshape8) { TEST_F(DeclarableOpsTests14, Reshape9) { auto array = NDArrayFactory::create(119.f); - auto e = NDArrayFactory::create('c', {1, 1}, {119.f}); + auto e = NDArrayFactory::create({1, 1}, {119.f}); sd::ops::reshape op; auto result = op.evaluate({&array}, {}, {1, 1}); @@ -2209,8 +2212,8 @@ TEST_F(DeclarableOpsTests14, Reshape9) { TEST_F(DeclarableOpsTests14, Reshape10) { auto array = NDArrayFactory::create(119.f); - auto e = NDArrayFactory::create('c', {1, 1}, {119.f}); - auto z = NDArrayFactory::create('c', {1, 1}); + auto e = NDArrayFactory::create({1, 1}, {119.f}); + auto z = NDArrayFactory::create({1, 1}); sd::ops::reshape op; auto result = op.execute({&array}, {&z}, {}, {1, 1}, {}); @@ -2219,8 +2222,8 @@ TEST_F(DeclarableOpsTests14, Reshape10) { } TEST_F(DeclarableOpsTests14, Reshape11) { - auto x = NDArrayFactory::create('c', {4, 3}); - auto exp = NDArrayFactory::create('c', {4, 3}); + auto x = NDArrayFactory::create({4, 3}); + auto exp = NDArrayFactory::create({4, 3}); x.linspace(1); exp.linspace(1); @@ -2235,9 +2238,9 @@ TEST_F(DeclarableOpsTests14, Reshape11) { } TEST_F(DeclarableOpsTests14, Reshape12) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); - auto shape = NDArrayFactory::create('c', {2}, {-1, 2}); - auto exp = NDArrayFactory::create('c', {4, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto x = NDArrayFactory::create({2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto shape = NDArrayFactory::create({2}, {-1, 2}); + auto exp = NDArrayFactory::create({4, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); sd::ops::reshape op; auto result = op.evaluate({&x, &shape}); @@ -2250,7 +2253,7 @@ TEST_F(DeclarableOpsTests14, Reshape12) { } TEST_F(DeclarableOpsTests14, Reshape13) { - auto vector = NDArrayFactory::create('c', {1}, {119.0f}); + auto vector = NDArrayFactory::create({1}, {119.0f}); auto exp = NDArrayFactory::create(119.f); auto empty = NDArrayFactory::empty(); @@ -2265,9 +2268,9 @@ TEST_F(DeclarableOpsTests14, Reshape13) { } TEST_F(DeclarableOpsTests14, Reshape14) { - auto x = NDArrayFactory::create('c', {1, 0, 0, 2}); - auto y = NDArrayFactory::create('c', {2}, {10, 0}); - auto e = NDArrayFactory::create('c', {10, 0}); + auto x = NDArrayFactory::create({1, 0, 0, 2}); + auto y = NDArrayFactory::create({2}, {10, 0}); + auto e = NDArrayFactory::create({10, 0}); sd::ops::reshape op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -2282,14 +2285,14 @@ TEST_F(DeclarableOpsTests14, Reshape14) { TEST_F(DeclarableOpsTests14, Reshape15) { - auto x0 = NDArrayFactory::create('c', {2, 0}); - auto x1 = NDArrayFactory::create('c', {0, 1, 2}); + auto x0 = NDArrayFactory::create({2, 0}); + auto x1 = NDArrayFactory::create({0, 1, 2}); - auto shape0 = NDArrayFactory::create('c', {3}, {2, 0, -1}); - auto shape1 = NDArrayFactory::create('c', {2}, {-1, 1}); + auto shape0 = NDArrayFactory::create({3}, {2, 0, -1}); + auto shape1 = NDArrayFactory::create({2}, {-1, 1}); - auto e0 = NDArrayFactory::create('c', {2, 0, 1}); - auto e1 = NDArrayFactory::create('c', {0, 1}); + auto e0 = NDArrayFactory::create({2, 0, 1}); + auto e1 = NDArrayFactory::create({0, 1}); sd::ops::reshape op; auto result0 = op.evaluate({&x0, &shape0}, {}, {}); @@ -2304,10 +2307,10 @@ TEST_F(DeclarableOpsTests14, Reshape15) { } TEST_F(DeclarableOpsTests14, Reshape16) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); - auto shape = NDArrayFactory::create('c', {1, 3}, {1, 2, 2}); + auto x = NDArrayFactory::create({2, 2}, {1, 2, 3, 4}); + auto shape = NDArrayFactory::create({1, 3}, {1, 2, 2}); - auto exp = NDArrayFactory::create('c', {1, 2, 2}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create({1, 2, 2}, {1, 2, 3, 4}); sd::ops::reshape op; @@ -2322,7 +2325,7 @@ TEST_F(DeclarableOpsTests14, Reshape16) { TEST_F(DeclarableOpsTests14, Reshape17) { auto x = NDArrayFactory::create(2.0f); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {2.0f}); + auto exp = NDArrayFactory::create({1, 1, 1}, {2.0f}); sd::ops::reshape op; auto result = op.evaluate({&x}, {}, {-99, 1, 1, 1}); @@ -2335,8 +2338,8 @@ TEST_F(DeclarableOpsTests14, Reshape17) { } TEST_F(DeclarableOpsTests14, Reshape18) { - auto x = NDArrayFactory::create('c', {1, 3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto x = NDArrayFactory::create({1, 3}, {1, 2, 3}); + auto exp = NDArrayFactory::create({3}, {1, 2, 3}); sd::ops::reshape op; auto result = op.evaluate({&x}, {}, {-99, 3}); @@ -2351,8 +2354,8 @@ TEST_F(DeclarableOpsTests14, Reshape18) { } TEST_F(DeclarableOpsTests14, Reshape19) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {1, 3}, {1, 2, 3}); + auto x = NDArrayFactory::create({3}, {1, 2, 3}); + auto exp = NDArrayFactory::create({1, 3}, {1, 2, 3}); sd::ops::reshape op; auto result = op.evaluate({&x}, {}, {-99, 1, 3}); From 3543bcd1b0a7107ce401d8815102c04ff03aa798 Mon Sep 17 00:00:00 2001 From: shugeo Date: Wed, 17 Jun 2020 19:20:24 +0300 Subject: [PATCH 50/99] Finished with the fourteenth test file. Signed-off-by: shugeo --- .../tests_cpu/layers_tests/DeclarableOpsTests14.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp index 48efdc028526..e43158ec18ee 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp @@ -2081,7 +2081,7 @@ TEST_F(DeclarableOpsTests14, Reshape1) { reshape.execute(block); - ASSERT_TRUE(x->isSameShape(y)); + ASSERT_TRUE(x.isSameShape(y)); delete variableSpace; delete block; @@ -2092,8 +2092,8 @@ TEST_F(DeclarableOpsTests14, Reshape2) { const std::vector xShape = { 5,4,3 }; const std::vector yShape = { 3,5,4 }; - auto x = NDArrayFactory::create('c', xShape); - auto y = NDArrayFactory::create('c', yShape); + auto x = NDArrayFactory::create(xShape); + auto y = NDArrayFactory::create(yShape); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(x)); @@ -2102,7 +2102,7 @@ TEST_F(DeclarableOpsTests14, Reshape2) { auto block = new Context(1, variableSpace, false); block->fillInputs({ -1 }); std::vector* arguments = block->getIArguments(); - arguments->push_back(-y->ordering()); + arguments->push_back(-y.ordering()); arguments->push_back(3); arguments->push_back(5); arguments->push_back(4); @@ -2115,7 +2115,6 @@ TEST_F(DeclarableOpsTests14, Reshape2) { ASSERT_TRUE(result->isSameShape(y)); - delete y; delete block; delete variableSpace; } @@ -2263,8 +2262,6 @@ TEST_F(DeclarableOpsTests14, Reshape13) { ASSERT_EQ(Status::OK(), result.status()); ASSERT_EQ(exp, *result.at(0)); - - delete empty; } TEST_F(DeclarableOpsTests14, Reshape14) { From d19b592f45d399d73b8a06fb73d8fef892d41020 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 18 Jun 2020 09:32:17 +0300 Subject: [PATCH 51/99] Fixed the fifteenth test file with usage factory create. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests15.cpp | 190 +++++++++--------- 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp index e01900e87311..19e4cf31f676 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp @@ -40,13 +40,13 @@ class DeclarableOpsTests15 : public testing::Test { }; TEST_F(DeclarableOpsTests15, Test_NormalizeMoments_1) { - auto d = NDArrayFactory::create('c', {10, 10}); + auto d = NDArrayFactory::create( {10, 10}); auto w = NDArrayFactory::create(10); - auto x = NDArrayFactory::create('c', {10}); - auto y = NDArrayFactory::create('c', {10}); + auto x = NDArrayFactory::create( {10}); + auto y = NDArrayFactory::create( {10}); - auto z0 = NDArrayFactory::create('c', {10}); - auto z1 = NDArrayFactory::create('c', {10}); + auto z0 = NDArrayFactory::create( {10}); + auto z1 = NDArrayFactory::create( {10}); sd::ops::normalize_moments op; auto result = op.execute({&w, &x, &y}, std::vector{&z0, &z1}, {1e-4}, {}, {}); @@ -54,9 +54,9 @@ TEST_F(DeclarableOpsTests15, Test_NormalizeMoments_1) { } TEST_F(DeclarableOpsTests15, Test_Add_1) { - auto x = NDArrayFactory::create('c', {5}, {1, 1, 1, 1, 1}); - auto y = NDArrayFactory::create('c', {5}, {1, 1, 1, 1, 1}); - auto e = NDArrayFactory::create('c', {5}, {2, 2, 2, 2, 2}); + auto x = NDArrayFactory::create( {5}, {1, 1, 1, 1, 1}); + auto y = NDArrayFactory::create( {5}, {1, 1, 1, 1, 1}); + auto e = NDArrayFactory::create( {5}, {2, 2, 2, 2, 2}); sd::ops::add op; auto result = op.execute({&x, &y}, {&x}, {}, {}, {}); @@ -65,7 +65,7 @@ TEST_F(DeclarableOpsTests15, Test_Add_1) { } TEST_F(DeclarableOpsTests15, Test_Half_assign_1) { - auto x = NDArrayFactory::create('c', {2, 5}); + auto x = NDArrayFactory::create( {2, 5}); int y = 1; x.assign(y); @@ -73,8 +73,8 @@ TEST_F(DeclarableOpsTests15, Test_Half_assign_1) { } TEST_F(DeclarableOpsTests15, Test_standarize_1) { - auto x = NDArrayFactory::create('c', {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); - auto e = NDArrayFactory::create('c', {5}, {0.f, 0.f, 0.f, 0.f, 0.f}); + auto x = NDArrayFactory::create( {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto e = NDArrayFactory::create( {5}, {0.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::standardize op; auto result = op.execute({&x}, {&x}, {}, {0}, {}); @@ -83,8 +83,8 @@ TEST_F(DeclarableOpsTests15, Test_standarize_1) { } TEST_F(DeclarableOpsTests15, Test_standarize_bp_1) { - auto x = NDArrayFactory::create('c', {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); - auto eps = NDArrayFactory::create('c', {5}, {0.f, 0.f, 0.f, 0.f, 0.f}); + auto x = NDArrayFactory::create( {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto eps = NDArrayFactory::create( {5}, {0.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::standardize_bp op; auto result = op.evaluate({&x, &eps}, {0}); @@ -93,9 +93,9 @@ TEST_F(DeclarableOpsTests15, Test_standarize_bp_1) { } TEST_F(DeclarableOpsTests15, Test_AdjustContrast_1) { - auto x = NDArrayFactory::create('c', {4,4,3}); + auto x = NDArrayFactory::create( {4,4,3}); NDArray factor = NDArrayFactory::create(2.); - auto e = NDArrayFactory::create('c', {4,4,3}, {-21.5, -20.5, -19.5, -15.5, -14.5, -13.5, -9.5, -8.5, -7.5, -3.5, -2.5, -1.5, + auto e = NDArrayFactory::create( {4,4,3}, {-21.5, -20.5, -19.5, -15.5, -14.5, -13.5, -9.5, -8.5, -7.5, -3.5, -2.5, -1.5, 2.5, 3.5, 4.5, 8.5, 9.5, 10.5, 14.5, 15.5, 16.5, 20.5, 21.5, 22.5, 26.5, 27.5, 28.5, 32.5, 33.5, 34.5, 38.5, 39.5, 40.5, 44.5, 45.5, 46.5, 50.5, 51.5, 52.5, 56.5, 57.5, 58.5, 62.5, 63.5, 64.5, 68.5, 69.5, 70.5}); @@ -112,8 +112,8 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_1) { } TEST_F(DeclarableOpsTests15, Test_AdjustContrast_2) { - auto x = NDArrayFactory::create('c', {1, 4,4,3}); - auto e = NDArrayFactory::create('c', {1, 4,4,3}, { + auto x = NDArrayFactory::create( {1, 4,4,3}); + auto e = NDArrayFactory::create( {1, 4,4,3}, { -21.5f, -20.5f, -19.5f, -15.5f, -14.5f, -13.5f, -9.5f, -8.5f, -7.5f, -3.5f, -2.5f, -1.5f, 2.5f, 3.5f, 4.5f, 8.5f, 9.5f, 10.5f, 14.5f, 15.5f, 16.5f, 20.5f, 21.5f, 22.5f, 26.5f, 27.5f, 28.5f, 32.5f, 33.5f, 34.5f, 38.5f, 39.5f, 40.5f, 44.5f, 45.5f, 46.5f, @@ -130,8 +130,8 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_2) { } TEST_F(DeclarableOpsTests15, Test_AdjustContrast_3) { - auto x = NDArrayFactory::create('c', {1, 4,4,3}); - auto e = NDArrayFactory::create('c', {1, 4,4,3}, { + auto x = NDArrayFactory::create( {1, 4,4,3}); + auto e = NDArrayFactory::create( {1, 4,4,3}, { -21.5f, -20.5f, -19.5f, -15.5f, -14.5f, -13.5f, -9.5f, -8.5f, -7.5f, -3.5f, -2.5f, -1.5f, 2.5f, 3.5f, 4.5f, 8.5f, 9.5f, 10.5f, 14.5f, 15.5f, 16.5f, 20.5f, 21.5f, 22.5f, 26.5f, 27.5f, 28.5f, 32.5f, 33.5f, 34.5f, 38.5f, 39.5f, 40.5f, 44.5f, 45.5f, 46.5f, @@ -148,8 +148,8 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_3) { } TEST_F(DeclarableOpsTests15, Test_AdjustContrast_4) { - auto x = NDArrayFactory::create('c', {4, 4, 3}); - auto e = NDArrayFactory::create('c', {4, 4, 3}, { + auto x = NDArrayFactory::create( {4, 4, 3}); + auto e = NDArrayFactory::create( {4, 4, 3}, { -21.5, -20.5, -19.5, -15.5, -14.5, -13.5, -9.5, -8.5, -7.5, -3.5, -2.5, -1.5, 2.5, 3.5, 4.5, 8.5, 9.5, 10.5, 14.5, 15.5, 16.5, 20.5, 21.5, 22.5, 26.5, 27.5, 28.5, 32.5, 33.5, 34.5, 38.5, 39.5, 40.5, 44.5, 45.5, 46.5, @@ -166,8 +166,8 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_4) { } TEST_F(DeclarableOpsTests15, Test_AdjustContrast_5) { - auto x = NDArrayFactory::create('c', {1, 3, 4}); - auto e = NDArrayFactory::create('c', {1, 3, 4}, { + auto x = NDArrayFactory::create( {1, 3, 4}); + auto e = NDArrayFactory::create( {1, 3, 4}, { -3., -2., -1., 0., 5., 6., 7., 8., 13., 14., 15., 16. }); x.linspace(1.); @@ -209,7 +209,7 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_5) { * */ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_6) { - auto x = NDArrayFactory::create('c', {8,8, 3, 1}, {0.7788f,0.8012f,0.7244f,0.2309f,0.7271f,0.1804f, + auto x = NDArrayFactory::create( {8,8, 3, 1}, {0.7788f,0.8012f,0.7244f,0.2309f,0.7271f,0.1804f, 0.5056f,0.8925f,0.5461f,0.9234f,0.0856f,0.7938f,0.6591f,0.5555f,0.1596f,0.3087f,0.1548f,0.4695f, 0.9939f,0.6113f,0.6765f,0.1800f,0.6750f,0.2246f,0.0509f,0.4601f,0.8284f,0.2354f,0.9752f,0.8361f, 0.2585f,0.4189f,0.7028f,0.7679f,0.5373f,0.7234f,0.2690f,0.0062f,0.0327f,0.0644f,0.8428f,0.7494f, @@ -227,7 +227,7 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_6) { 0.9636f,0.4830f,0.6569f,0.3353f,0.9997f,0.5869f,0.5747f,0.0238f,0.2943f,0.5248f,0.5879f, .7266f,0.1965f,0.9167f,0.9726f,0.9206f,0.0519f,0.2997f,0.0039f,0.7652f,0.5498f, 0.3794f,0.3791f,0.3528f,0.2873f,0.8082f,0.4732f,0.4399f,0.6606f,0.5991f,0.0034f,0.4874f}); - auto e = NDArrayFactory::create('c', {8, 8, 3, 1}, { + auto e = NDArrayFactory::create( {8, 8, 3, 1}, { 1.0218375f, 1.0666375f, 0.9130375f, -0.07396251f, 0.91843754f, -0.17496246f, 0.47543746f, 1.2492375f, 0.55643755f, @@ -312,7 +312,7 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_6) { } TEST_F(DeclarableOpsTests15, Test_AdjustContrast_7) { - auto x = NDArrayFactory::create('c', {8,8, 3, 1}, {0.7788f,0.8012f,0.7244f,0.2309f,0.7271f,0.1804f, + auto x = NDArrayFactory::create( {8,8, 3, 1}, {0.7788f,0.8012f,0.7244f,0.2309f,0.7271f,0.1804f, 0.5056f,0.8925f,0.5461f,0.9234f,0.0856f,0.7938f,0.6591f,0.5555f,0.1596f,0.3087f,0.1548f,0.4695f, 0.9939f,0.6113f,0.6765f,0.1800f,0.6750f,0.2246f,0.0509f,0.4601f,0.8284f,0.2354f,0.9752f,0.8361f, 0.2585f,0.4189f,0.7028f,0.7679f,0.5373f,0.7234f,0.2690f,0.0062f,0.0327f,0.0644f,0.8428f,0.7494f, @@ -330,7 +330,7 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_7) { 0.9636f,0.4830f,0.6569f,0.3353f,0.9997f,0.5869f,0.5747f,0.0238f,0.2943f,0.5248f,0.5879f, .7266f,0.1965f,0.9167f,0.9726f,0.9206f,0.0519f,0.2997f,0.0039f,0.7652f,0.5498f, 0.3794f,0.3791f,0.3528f,0.2873f,0.8082f,0.4732f,0.4399f,0.6606f,0.5991f,0.0034f,0.4874f}); - auto e = NDArrayFactory::create('c', {8, 8, 3, 1}, { + auto e = NDArrayFactory::create( {8, 8, 3, 1}, { 1.0218375, 1.0666375 , 0.9130375 , -0.07396251, 0.91843754, -0.17496246, 0.47543746, 1.2492375 , 0.55643755, @@ -419,8 +419,8 @@ TEST_F(DeclarableOpsTests15, Test_AdjustContrast_7) { } TEST_F(DeclarableOpsTests15, Test_BitCast_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2}); - auto e = NDArrayFactory::create('c', {2, 2}, {2., 512., 8192., 131072.032 }); + auto x = NDArrayFactory::create( {2, 2, 2}); + auto e = NDArrayFactory::create( {2, 2}, {2., 512., 8192., 131072.032 }); x.linspace(1.); sd::ops::bitcast op; @@ -433,8 +433,8 @@ TEST_F(DeclarableOpsTests15, Test_BitCast_1) { } TEST_F(DeclarableOpsTests15, Test_BitCast_2) { - auto x = NDArrayFactory::create('c', {2, 4}); - auto e = NDArrayFactory::create('c', {2, 4, 2}, {0.f, 1.875f, 0.f, 2.f, 0.f, 2.125f, 0.f, 2.25f, + auto x = NDArrayFactory::create( {2, 4}); + auto e = NDArrayFactory::create( {2, 4, 2}, {0.f, 1.875f, 0.f, 2.f, 0.f, 2.125f, 0.f, 2.25f, 0.f, 2.312f, 0.f, 2.375f, 0.f, 2.438f, 0.f, 2.5f}); x.linspace(1.); @@ -448,7 +448,7 @@ TEST_F(DeclarableOpsTests15, Test_BitCast_2) { } TEST_F(DeclarableOpsTests15, Test_BitCast_3) { - auto x = NDArrayFactory::create('c', {1, 4}); + auto x = NDArrayFactory::create( {1, 4}); x.linspace(1.); sd::ops::bitcast op; @@ -462,8 +462,8 @@ TEST_F(DeclarableOpsTests15, Test_BitCast_3) { } TEST_F(DeclarableOpsTests15, Test_BitCast_4) { - auto x = NDArrayFactory::create('c', {1, 4}); - auto e = NDArrayFactory::create('c', {1, 2}, {1234567890LL, 2468013579LL}); + auto x = NDArrayFactory::create( {1, 4}); + auto e = NDArrayFactory::create( {1, 2}, {1234567890LL, 2468013579LL}); x.linspace(1.); sd::ops::bitcast op; try { @@ -476,8 +476,8 @@ TEST_F(DeclarableOpsTests15, Test_BitCast_4) { } TEST_F(DeclarableOpsTests15, Test_BitCast_4_1) { - auto x = NDArrayFactory::create('c', {1, 2}); - auto e = NDArrayFactory::create('c', {1, 2}, {4607182418800017408LL, 4611686018427387904LL}); // as TF 4607182418800017408, 4611686018427387904 + auto x = NDArrayFactory::create( {1, 2}); + auto e = NDArrayFactory::create( {1, 2}, {4607182418800017408LL, 4611686018427387904LL}); // as TF 4607182418800017408, 4611686018427387904 x.linspace(1.); sd::ops::bitcast op; @@ -492,13 +492,13 @@ TEST_F(DeclarableOpsTests15, Test_BitCast_4_1) { TEST_F(DeclarableOpsTests15, Test_BitCast_5) { - auto x = NDArrayFactory::create('c', {4, 4}, { + auto x = NDArrayFactory::create( {4, 4}, { 0.4922f, 0.2969f, 0.6172f, 0.8906f, 0.9297f, 0.0859f, 0.2344f, 0.3828f, 0.5781f, 0.7969f, 0.0391f, 0.1719f, 0.8359f, 0.9297f, 0.3438f, 0.0938f}); - auto e = NDArrayFactory::create('c', {4}, {4260467851820808160LL, 3900173902914993008LL, 3566895990128523424LL, + auto e = NDArrayFactory::create( {4}, {4260467851820808160LL, 3900173902914993008LL, 3566895990128523424LL, 3314989625590692528LL}); sd::ops::bitcast op; @@ -512,13 +512,13 @@ TEST_F(DeclarableOpsTests15, Test_BitCast_5) { } TEST_F(DeclarableOpsTests15, Test_BitCast_6) { - auto x = NDArrayFactory::create('c', {4, 4}, { + auto x = NDArrayFactory::create( {4, 4}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 16.f}); - auto e = NDArrayFactory::create('c', {4}, {4899988963420290048LL, 5188224837230806272LL, 5332342774136064128LL, + auto e = NDArrayFactory::create( {4}, {4899988963420290048LL, 5188224837230806272LL, 5332342774136064128LL, 5476460161268730496LL}); sd::ops::bitcast op; @@ -531,13 +531,13 @@ TEST_F(DeclarableOpsTests15, Test_BitCast_6) { } TEST_F(DeclarableOpsTests15, Test_BitCast_7) { - auto x = NDArrayFactory::create('c', {4, 4}, { + auto x = NDArrayFactory::create( {4, 4}, { 1.1f, 2.2f, 3.3f, 4.4f, 5.1f, 6.2f, 7.3f, 8.4f, 9.1f, 10.2f, 11.3f, 12.4f, 13.f, 14.2f, 15.3f, 16.4f}); - auto e = NDArrayFactory::create('c', {4}, { + auto e = NDArrayFactory::create( {4}, { 4928700072476425318LL, 5202580391758873882LL, 5346698272827918477LL, 5483778673873668736LL}); sd::ops::bitcast op; @@ -551,12 +551,12 @@ TEST_F(DeclarableOpsTests15, Test_BitCast_7) { } TEST_F(DeclarableOpsTests15, test_matmul_bp_1) { - auto a = NDArrayFactory::create('c', {1, 3}); - auto b = NDArrayFactory::create('c', {1, 4}); - auto gI = NDArrayFactory::create('c', {3, 4}); + auto a = NDArrayFactory::create( {1, 3}); + auto b = NDArrayFactory::create( {1, 4}); + auto gI = NDArrayFactory::create( {3, 4}); - auto gA = NDArrayFactory::create('c', {1, 3}); - auto gB = NDArrayFactory::create('c', {1, 4}); + auto gA = NDArrayFactory::create( {1, 3}); + auto gB = NDArrayFactory::create( {1, 4}); sd::ops::matmul_bp op; auto status = op.execute({&a, &b, &gI}, std::vector{&gA, &gB}, {}, {1, 0, 0}, {}); @@ -579,7 +579,7 @@ TEST_F(DeclarableOpsTests15, test_non_decreasing_1) { } TEST_F(DeclarableOpsTests15, test_check_numeric_1) { - auto x = NDArrayFactory::create('c', {3},{1.f, 2.f, 3.f}); + auto x = NDArrayFactory::create( {3},{1.f, 2.f, 3.f}); auto y = NDArrayFactory::string("shouldn't ever trigger"); sd::ops::check_numerics op; @@ -597,9 +597,9 @@ TEST_F(DeclarableOpsTests15, test_check_numeric_2) { return; #endif - auto x = NDArrayFactory::create('c', {3},{1.f, 2.f, std::numeric_limits::infinity()}); + auto x = NDArrayFactory::create( {3},{1.f, 2.f, std::numeric_limits::infinity()}); auto y = NDArrayFactory::string("should trigger"); - auto z = NDArrayFactory::create('c', {3} ); + auto z = NDArrayFactory::create( {3} ); sd::ops::check_numerics op; try { @@ -616,9 +616,9 @@ TEST_F(DeclarableOpsTests15, test_check_numeric_3) { return; #endif - auto x = NDArrayFactory::create('c', {3},{1.f, 2.f, std::numeric_limits::quiet_NaN()}); + auto x = NDArrayFactory::create( {3},{1.f, 2.f, std::numeric_limits::quiet_NaN()}); auto y = NDArrayFactory::string("should trigger"); - auto z = NDArrayFactory::create('c', {3} ); + auto z = NDArrayFactory::create( {3} ); sd::ops::check_numerics op; try { @@ -630,9 +630,9 @@ TEST_F(DeclarableOpsTests15, test_check_numeric_3) { } TEST_F(DeclarableOpsTests15, Test_layer_norm_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1.f, 2.f, 3.f, 4.f, 5.f}); - auto g = NDArrayFactory::create('c', {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); - auto b = NDArrayFactory::create('c', {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); + auto x = NDArrayFactory::create( {1, 5}, {1.f, 2.f, 3.f, 4.f, 5.f}); + auto g = NDArrayFactory::create( {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); + auto b = NDArrayFactory::create( {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); sd::ops::layer_norm op; auto result = op.evaluate({&x, &g, &b}, {}, {0}, {false}); @@ -641,10 +641,10 @@ TEST_F(DeclarableOpsTests15, Test_layer_norm_1) { } TEST_F(DeclarableOpsTests15, Test_layer_norm_bp_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1.f, 2.f, 3.f, 4.f, 5.f}); - auto g = NDArrayFactory::create('c', {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); - auto b = NDArrayFactory::create('c', {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); - auto eps = NDArrayFactory::create('c', {1, 5}, {0.f, 0.f, 0.f, 0.f, 0.f}); + auto x = NDArrayFactory::create( {1, 5}, {1.f, 2.f, 3.f, 4.f, 5.f}); + auto g = NDArrayFactory::create( {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); + auto b = NDArrayFactory::create( {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); + auto eps = NDArrayFactory::create( {1, 5}, {0.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::layer_norm_bp op; auto result = op.evaluate({&x, &g, &b, &eps}, {}, {0}, {false}); @@ -673,8 +673,8 @@ TEST_F(DeclarableOpsTests15, Test_layer_norm_bp_2) { } TEST_F(DeclarableOpsTests15, test_hashCode_1) { - auto x = NDArrayFactory::create('c', {10}); - auto y = NDArrayFactory::create('c', {10}); + auto x = NDArrayFactory::create( {10}); + auto y = NDArrayFactory::create( {10}); x.linspace(1.); y.linspace(2.); @@ -691,8 +691,8 @@ TEST_F(DeclarableOpsTests15, test_hashCode_1) { } TEST_F(DeclarableOpsTests15, test_hashCode_2) { - auto x = NDArrayFactory::create('c', {1027}); - auto y = NDArrayFactory::create('c', {1027}); + auto x = NDArrayFactory::create( {1027}); + auto y = NDArrayFactory::create( {1027}); x.linspace(1.); y.linspace(2.); @@ -711,9 +711,9 @@ TEST_F(DeclarableOpsTests15, test_hashCode_2) { } TEST_F(DeclarableOpsTests15, test_rank_1) { - auto array = NDArrayFactory::create('c', {4, 64}); - auto e = NDArrayFactory::create('c', {}, {2}); - auto z = NDArrayFactory::create('c', {}); + auto array = NDArrayFactory::create( {4, 64}); + auto e = NDArrayFactory::create( {}, {2}); + auto z = NDArrayFactory::create( {}); sd::ops::rank op; auto result = op.execute({&array}, {&z}, {}, {}, {}); @@ -722,8 +722,8 @@ TEST_F(DeclarableOpsTests15, test_rank_1) { } TEST_F(DeclarableOpsTests15, test_rank_2) { - auto array = NDArrayFactory::create('c', {4, 64}); - auto e = NDArrayFactory::create('c', {}, {2}); + auto array = NDArrayFactory::create( {4, 64}); + auto e = NDArrayFactory::create( {}, {2}); sd::ops::rank op; auto result = op.evaluate({&array}, {}, {}); @@ -738,14 +738,14 @@ TEST_F(DeclarableOpsTests15, test_rank_2) { TEST_F(DeclarableOpsTests15, test_lstmBlock_1) { auto x0 = NDArrayFactory::create(5); - auto x1 = NDArrayFactory::create('c', {5, 1, 4}, {0.7787856f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f, 0.50563407f, 0.89252293f, 0.5461209f, 0.92336726f, 0.085571885f, 0.7937801f, 0.65908563f, 0.55552566f, 0.15962744f, 0.30874777f, 0.15476847f, 0.46954823f, 0.9938899f, 0.6112741f}); - auto x2 = NDArrayFactory::create('c', {1, 3}, {0.7717289f, 0.9280778f, 0.98455656f}); - auto x3 = NDArrayFactory::create('c', {1, 3}, {0.94414854f, 0.5956861f, 0.8668989f}); - auto x4 = NDArrayFactory::create('c', {7, 12}, {0.460692f, 0.042572856f, 0.08420354f, -0.09538093f, -0.11416581f, -0.53166187f, 0.40133476f, -0.24381405f, 0.30778718f, 0.52713746f, 0.16253126f, -0.034891903f, 0.011679292f, -0.19076681f, 0.14710993f, -0.3704369f, 0.51872355f, 0.13536876f, -0.5568739f, -0.08727971f, 0.07601875f, -0.074174374f, -0.5345982f, -0.3581748f, -0.28263924f, -0.25141674f, 0.43328637f, -0.50227314f, -0.26641843f, -0.38241976f, -0.19636461f, -0.04020852f, -0.27312332f, 0.5207915f, -0.37247592f, -0.4713087f, -0.25670746f, -0.14942765f, -0.015806139f, -0.22531253f, 0.5582536f, 0.3093416f, 0.3221351f, -0.0964683f, 0.14318448f, 0.42279094f, -0.46992f, -0.43399644f, -0.51704615f, -0.11854091f, 0.21697259f, -0.049382925f, 0.14059627f, 0.3912331f, -0.41345632f, 0.5067368f, -0.3420229f, 0.485789f, 0.044918716f, 0.26209074f, 0.12357575f, 0.21778125f, -0.53791714f, 0.18346387f, 0.054183125f, 0.5480431f, 0.03675288f, -0.26656917f, -0.018610716f, 0.19917983f, 0.5566165f, 0.43570566f, -0.35720813f, 0.31097364f, -0.47134516f, -0.289197f, 0.091138184f, 0.13300979f, -0.36592877f, -0.17540845f, 0.21732038f, 0.4393713f, 0.42800313f, 0.5006979f}); - auto x5 = NDArrayFactory::create('c', {1, 3}); - auto x6 = NDArrayFactory::create('c', {1, 3}); - auto x7 = NDArrayFactory::create('c', {1, 3}); - auto x8 = NDArrayFactory::create('c', {12}); + auto x1 = NDArrayFactory::create( {5, 1, 4}, {0.7787856f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f, 0.50563407f, 0.89252293f, 0.5461209f, 0.92336726f, 0.085571885f, 0.7937801f, 0.65908563f, 0.55552566f, 0.15962744f, 0.30874777f, 0.15476847f, 0.46954823f, 0.9938899f, 0.6112741f}); + auto x2 = NDArrayFactory::create( {1, 3}, {0.7717289f, 0.9280778f, 0.98455656f}); + auto x3 = NDArrayFactory::create( {1, 3}, {0.94414854f, 0.5956861f, 0.8668989f}); + auto x4 = NDArrayFactory::create( {7, 12}, {0.460692f, 0.042572856f, 0.08420354f, -0.09538093f, -0.11416581f, -0.53166187f, 0.40133476f, -0.24381405f, 0.30778718f, 0.52713746f, 0.16253126f, -0.034891903f, 0.011679292f, -0.19076681f, 0.14710993f, -0.3704369f, 0.51872355f, 0.13536876f, -0.5568739f, -0.08727971f, 0.07601875f, -0.074174374f, -0.5345982f, -0.3581748f, -0.28263924f, -0.25141674f, 0.43328637f, -0.50227314f, -0.26641843f, -0.38241976f, -0.19636461f, -0.04020852f, -0.27312332f, 0.5207915f, -0.37247592f, -0.4713087f, -0.25670746f, -0.14942765f, -0.015806139f, -0.22531253f, 0.5582536f, 0.3093416f, 0.3221351f, -0.0964683f, 0.14318448f, 0.42279094f, -0.46992f, -0.43399644f, -0.51704615f, -0.11854091f, 0.21697259f, -0.049382925f, 0.14059627f, 0.3912331f, -0.41345632f, 0.5067368f, -0.3420229f, 0.485789f, 0.044918716f, 0.26209074f, 0.12357575f, 0.21778125f, -0.53791714f, 0.18346387f, 0.054183125f, 0.5480431f, 0.03675288f, -0.26656917f, -0.018610716f, 0.19917983f, 0.5566165f, 0.43570566f, -0.35720813f, 0.31097364f, -0.47134516f, -0.289197f, 0.091138184f, 0.13300979f, -0.36592877f, -0.17540845f, 0.21732038f, 0.4393713f, 0.42800313f, 0.5006979f}); + auto x5 = NDArrayFactory::create( {1, 3}); + auto x6 = NDArrayFactory::create( {1, 3}); + auto x7 = NDArrayFactory::create( {1, 3}); + auto x8 = NDArrayFactory::create( {12}); sd::ops::lstmBlock op; auto result = op.evaluate({&x0, &x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8}, {2.0, 0.3}, {0, 0}); @@ -762,14 +762,14 @@ TEST_F(DeclarableOpsTests15, test_lstmBlock_2) { int nIn = 8; auto x0 = NDArrayFactory::create(5); - auto x1 = NDArrayFactory::create('f', {bS, nIn, seqLen}); - auto x2 = NDArrayFactory::create('f', {bS, nIn}); // nIn == nOut - auto x3 = NDArrayFactory::create('f', {bS, nIn}); - auto x4 = NDArrayFactory::create('f', {2 * nIn, 4 * nIn}); - auto x5 = NDArrayFactory::create('f', {nIn}); - auto x6 = NDArrayFactory::create('f', {nIn}); - auto x7 = NDArrayFactory::create('f', {nIn}); - auto x8 = NDArrayFactory::create('f', {4 * nIn}); + auto x1 = NDArrayFactory::create({bS, nIn, seqLen}, {}, sd::kArrayOrderFortran); + auto x2 = NDArrayFactory::create({bS, nIn},{}, sd::kArrayOrderFortran); // nIn == nOut + auto x3 = NDArrayFactory::create({bS, nIn}, {}, sd::kArrayOrderFortran); + auto x4 = NDArrayFactory::create({2 * nIn, 4 * nIn}, {}, sd::kArrayOrderFortran); + auto x5 = NDArrayFactory::create({nIn}, {}, sd::kArrayOrderFortran); + auto x6 = NDArrayFactory::create({nIn}, {}, sd::kArrayOrderFortran); + auto x7 = NDArrayFactory::create({nIn}, {}, sd::kArrayOrderFortran); + auto x8 = NDArrayFactory::create({4 * nIn}, {}, sd::kArrayOrderFortran); sd::ops::lstmBlock op; auto result = op.evaluate({&x0, &x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8}, {1.0, 0.0}, {0, 1}); @@ -806,7 +806,7 @@ TEST_F(DeclarableOpsTests15, test_lstmBlock_3) { } TEST_F(DeclarableOpsTests15, test_empty_increasing_1) { - auto x = NDArrayFactory::create('c', {1, 0, 3}); + auto x = NDArrayFactory::create( {1, 0, 3}); auto z = NDArrayFactory::create(false); Context ctx(1); @@ -821,7 +821,7 @@ TEST_F(DeclarableOpsTests15, test_empty_increasing_1) { } TEST_F(DeclarableOpsTests15, test_empty_decreasing_1) { - auto x = NDArrayFactory::create('c', {1, 0, 3}); + auto x = NDArrayFactory::create( {1, 0, 3}); auto z = NDArrayFactory::create(false); Context ctx(1); @@ -852,8 +852,8 @@ TEST_F(DeclarableOpsTests15, test_rgb_to_grs_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests15, test_rgb_to_grs_2) { // rank 1 - auto rgbs = NDArrayFactory::create('f', { 3 }, { 1, 120, -25 }); - auto expected = NDArrayFactory::create('f', { 1 }, { 67 }); + auto rgbs = NDArrayFactory::create({ 3 }, { 1, 120, -25 }, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create({ 1 }, { 67 }, sd::kArrayOrderFortran); sd::ops::rgb_to_grs op; auto result = op.evaluate({ &rgbs }, {}, {}); auto output = result.at(0); @@ -910,8 +910,8 @@ TEST_F(DeclarableOpsTests15, test_rgb_to_grs_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests15, test_rgb_to_grs_6) { // rank 3 - auto rgbs = NDArrayFactory::create('c', { 5,4,3 }, {1.7750e+01f, -7.1062e+01f, -1.0019e+02f,-2.3406e+01f, 5.2094e+01f, 9.5438e+01f, -6.7461e+00f, 3.8562e+01f, 6.5078e+00f,3.3562e+01f, -5.8844e+01f, 2.2750e+01f, -1.0477e+01f, 7.7344e+00f, 9.5469e+00f,2.1391e+01f, -8.5312e+01f, 7.5830e-01f,2.3125e+01f, 1.8145e+00f, 1.4602e+01f,-4.5859e+00f, 3.9344e+01f, 1.1617e+01f,-8.6562e+01f, 1.0038e+02f, 6.7938e+01f,5.9961e+00f, 6.7812e+01f, 2.9734e+01f,2.9609e+01f, -6.1438e+01f, 1.7750e+01f,6.8562e+01f, -7.4414e+00f, 3.9656e+01f,1.1641e+01f, -2.7516e+01f, 6.7562e+01f,7.8438e+01f, 5.4883e+00f, 2.9438e+01f,-3.1344e+01f, 6.5125e+01f, 1.2695e+01f,4.0531e+01f, -6.1211e+00f, 6.2219e+01f,4.6812e+01f, 5.2250e+01f, -1.1414e+01f,1.5404e-02f, 2.9938e+01f, 5.6719e+00f,-2.0125e+01f, 2.1531e+01f, 6.2500e+01f,7.2188e+01f, 9.3750e+00f, -4.8125e+01f}); - auto expected = NDArrayFactory::create('c', { 5,4,1 }, {-47.82958221f, 34.46305847f, 21.36137581f, -21.91625023f,2.49686432f, -43.59792709f, 9.64180183f, 23.04854202f,40.7946167f, 44.98754883f, -25.19047546f, 20.64586449f,-4.97033119f, 30.0226841f, 30.30688286f, 15.61459541f,43.36166f, 18.22480774f, 13.74833488f, 21.59387016f}); + auto rgbs = NDArrayFactory::create( { 5,4,3 }, {1.7750e+01f, -7.1062e+01f, -1.0019e+02f,-2.3406e+01f, 5.2094e+01f, 9.5438e+01f, -6.7461e+00f, 3.8562e+01f, 6.5078e+00f,3.3562e+01f, -5.8844e+01f, 2.2750e+01f, -1.0477e+01f, 7.7344e+00f, 9.5469e+00f,2.1391e+01f, -8.5312e+01f, 7.5830e-01f,2.3125e+01f, 1.8145e+00f, 1.4602e+01f,-4.5859e+00f, 3.9344e+01f, 1.1617e+01f,-8.6562e+01f, 1.0038e+02f, 6.7938e+01f,5.9961e+00f, 6.7812e+01f, 2.9734e+01f,2.9609e+01f, -6.1438e+01f, 1.7750e+01f,6.8562e+01f, -7.4414e+00f, 3.9656e+01f,1.1641e+01f, -2.7516e+01f, 6.7562e+01f,7.8438e+01f, 5.4883e+00f, 2.9438e+01f,-3.1344e+01f, 6.5125e+01f, 1.2695e+01f,4.0531e+01f, -6.1211e+00f, 6.2219e+01f,4.6812e+01f, 5.2250e+01f, -1.1414e+01f,1.5404e-02f, 2.9938e+01f, 5.6719e+00f,-2.0125e+01f, 2.1531e+01f, 6.2500e+01f,7.2188e+01f, 9.3750e+00f, -4.8125e+01f}); + auto expected = NDArrayFactory::create( { 5,4,1 }, {-47.82958221f, 34.46305847f, 21.36137581f, -21.91625023f,2.49686432f, -43.59792709f, 9.64180183f, 23.04854202f,40.7946167f, 44.98754883f, -25.19047546f, 20.64586449f,-4.97033119f, 30.0226841f, 30.30688286f, 15.61459541f,43.36166f, 18.22480774f, 13.74833488f, 21.59387016f}); sd::ops::rgb_to_grs op; auto result = op.evaluate({ &rgbs }, {}, {}); @@ -925,8 +925,8 @@ TEST_F(DeclarableOpsTests15, test_rgb_to_grs_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests15, test_rgb_to_grs_7) { // rank 3 - auto rgbs = NDArrayFactory::create('c', { 5,3,4 }, { 1.7750e+01f, -7.1062e+01f, -1.0019e+02f,-2.3406e+01f, 5.2094e+01f, 9.5438e+01f, -6.7461e+00f, 3.8562e+01f, 6.5078e+00f,3.3562e+01f, -5.8844e+01f, 2.2750e+01f, -1.0477e+01f, 7.7344e+00f, 9.5469e+00f,2.1391e+01f, -8.5312e+01f, 7.5830e-01f,2.3125e+01f, 1.8145e+00f, 1.4602e+01f,-4.5859e+00f, 3.9344e+01f, 1.1617e+01f,-8.6562e+01f, 1.0038e+02f, 6.7938e+01f,5.9961e+00f, 6.7812e+01f, 2.9734e+01f,2.9609e+01f, -6.1438e+01f, 1.7750e+01f,6.8562e+01f, -7.4414e+00f, 3.9656e+01f,1.1641e+01f, -2.7516e+01f, 6.7562e+01f,7.8438e+01f, 5.4883e+00f, 2.9438e+01f,-3.1344e+01f, 6.5125e+01f, 1.2695e+01f,4.0531e+01f, -6.1211e+00f, 6.2219e+01f,4.6812e+01f, 5.2250e+01f, -1.1414e+01f,1.5404e-02f, 2.9938e+01f, 5.6719e+00f,-2.0125e+01f, 2.1531e+01f, 6.2500e+01f,7.2188e+01f, 9.3750e+00f, -4.8125e+01f}); - auto expected = NDArrayFactory::create('c', { 5,1,4 }, { 36.626545f, 38.607746f, -40.614971f, 18.233341f, -51.545094f,2.234142f, 20.913160f, 8.783220f, 15.955761f, 55.273506f, 36.838833f, -29.751089f, 8.148357f, 13.676106f, 1.097548f, 68.766457f, 38.690712f, 27.176361f, -14.156269f, 7.157052f }); + auto rgbs = NDArrayFactory::create( { 5,3,4 }, { 1.7750e+01f, -7.1062e+01f, -1.0019e+02f,-2.3406e+01f, 5.2094e+01f, 9.5438e+01f, -6.7461e+00f, 3.8562e+01f, 6.5078e+00f,3.3562e+01f, -5.8844e+01f, 2.2750e+01f, -1.0477e+01f, 7.7344e+00f, 9.5469e+00f,2.1391e+01f, -8.5312e+01f, 7.5830e-01f,2.3125e+01f, 1.8145e+00f, 1.4602e+01f,-4.5859e+00f, 3.9344e+01f, 1.1617e+01f,-8.6562e+01f, 1.0038e+02f, 6.7938e+01f,5.9961e+00f, 6.7812e+01f, 2.9734e+01f,2.9609e+01f, -6.1438e+01f, 1.7750e+01f,6.8562e+01f, -7.4414e+00f, 3.9656e+01f,1.1641e+01f, -2.7516e+01f, 6.7562e+01f,7.8438e+01f, 5.4883e+00f, 2.9438e+01f,-3.1344e+01f, 6.5125e+01f, 1.2695e+01f,4.0531e+01f, -6.1211e+00f, 6.2219e+01f,4.6812e+01f, 5.2250e+01f, -1.1414e+01f,1.5404e-02f, 2.9938e+01f, 5.6719e+00f,-2.0125e+01f, 2.1531e+01f, 6.2500e+01f,7.2188e+01f, 9.3750e+00f, -4.8125e+01f}); + auto expected = NDArrayFactory::create( { 5,1,4 }, { 36.626545f, 38.607746f, -40.614971f, 18.233341f, -51.545094f,2.234142f, 20.913160f, 8.783220f, 15.955761f, 55.273506f, 36.838833f, -29.751089f, 8.148357f, 13.676106f, 1.097548f, 68.766457f, 38.690712f, 27.176361f, -14.156269f, 7.157052f }); sd::ops::rgb_to_grs op; auto result = op.evaluate({ &rgbs }, {}, {1}); @@ -940,7 +940,7 @@ TEST_F(DeclarableOpsTests15, test_rgb_to_grs_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests15, test_rgb_to_grs_8) { // rank 3 - auto rgbs = NDArrayFactory::create('c', { 3,5,4 }, {1.7750e+01f, -7.1062e+01f, -1.0019e+02f,-2.3406e+01f, 5.2094e+01f, 9.5438e+01f, -6.7461e+00f, 3.8562e+01f, 6.5078e+00f,3.3562e+01f, -5.8844e+01f, 2.2750e+01f, -1.0477e+01f, 7.7344e+00f, 9.5469e+00f,2.1391e+01f, -8.5312e+01f, 7.5830e-01f,2.3125e+01f, 1.8145e+00f, 1.4602e+01f,-4.5859e+00f, 3.9344e+01f, 1.1617e+01f,-8.6562e+01f, 1.0038e+02f, 6.7938e+01f,5.9961e+00f, 6.7812e+01f, 2.9734e+01f,2.9609e+01f, -6.1438e+01f, 1.7750e+01f,6.8562e+01f, -7.4414e+00f, 3.9656e+01f,1.1641e+01f, -2.7516e+01f, 6.7562e+01f,7.8438e+01f, 5.4883e+00f, 2.9438e+01f,-3.1344e+01f, 6.5125e+01f, 1.2695e+01f,4.0531e+01f, -6.1211e+00f, 6.2219e+01f,4.6812e+01f, 5.2250e+01f, -1.1414e+01f,1.5404e-02f, 2.9938e+01f, 5.6719e+00f,-2.0125e+01f, 2.1531e+01f, 6.2500e+01f,7.2188e+01f, 9.3750e+00f, -4.8125e+01f}); + auto rgbs = NDArrayFactory::create( { 3,5,4 }, {1.7750e+01f, -7.1062e+01f, -1.0019e+02f,-2.3406e+01f, 5.2094e+01f, 9.5438e+01f, -6.7461e+00f, 3.8562e+01f, 6.5078e+00f,3.3562e+01f, -5.8844e+01f, 2.2750e+01f, -1.0477e+01f, 7.7344e+00f, 9.5469e+00f,2.1391e+01f, -8.5312e+01f, 7.5830e-01f,2.3125e+01f, 1.8145e+00f, 1.4602e+01f,-4.5859e+00f, 3.9344e+01f, 1.1617e+01f,-8.6562e+01f, 1.0038e+02f, 6.7938e+01f,5.9961e+00f, 6.7812e+01f, 2.9734e+01f,2.9609e+01f, -6.1438e+01f, 1.7750e+01f,6.8562e+01f, -7.4414e+00f, 3.9656e+01f,1.1641e+01f, -2.7516e+01f, 6.7562e+01f,7.8438e+01f, 5.4883e+00f, 2.9438e+01f,-3.1344e+01f, 6.5125e+01f, 1.2695e+01f,4.0531e+01f, -6.1211e+00f, 6.2219e+01f,4.6812e+01f, 5.2250e+01f, -1.1414e+01f,1.5404e-02f, 2.9938e+01f, 5.6719e+00f,-2.0125e+01f, 2.1531e+01f, 6.2500e+01f,7.2188e+01f, 9.3750e+00f, -4.8125e+01f}); try { sd::ops::rgb_to_grs op; auto result = op.evaluate({ &rgbs }, {}, {}); @@ -954,8 +954,8 @@ TEST_F(DeclarableOpsTests15, test_rgb_to_grs_8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests15, test_rgb_to_grs_9) { // rank 3 - auto rgbs = NDArrayFactory::create('f', { 2, 2, 3 }, { 1.7750e+01f,-7.1062e+01f, -1.0019e+02f, -2.3406e+01f,5.2094e+01f,9.5438e+01f, -6.7461e+00f,3.8562e+01f, 6.5078e+00f, 3.3562e+01f,-5.8844e+01f,2.2750e+01f}); - auto expected = NDArrayFactory::create('f', { 2,2,1 }, { 36.626545f, 38.607746f, -40.614971f, 18.233341f }); + auto rgbs = NDArrayFactory::create({ 2, 2, 3 }, { 1.7750e+01f,-7.1062e+01f, -1.0019e+02f, -2.3406e+01f,5.2094e+01f,9.5438e+01f, -6.7461e+00f,3.8562e+01f, 6.5078e+00f, 3.3562e+01f,-5.8844e+01f,2.2750e+01f}, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create({ 2,2,1 }, { 36.626545f, 38.607746f, -40.614971f, 18.233341f }, sd::kArrayOrderFortran); sd::ops::rgb_to_grs op; auto result = op.evaluate({ &rgbs }, {}, {}); From da5167a0f2968b91f6b39b17a193d272f077b4b0 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 18 Jun 2020 11:28:02 +0300 Subject: [PATCH 52/99] Fixed the sixteenth test file with new factory create. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests16.cpp | 264 +++++++++--------- 1 file changed, 132 insertions(+), 132 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp index cbec08c0ca5b..129ec031aeec 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp @@ -40,10 +40,10 @@ class DeclarableOpsTests16 : public testing::Test { }; TEST_F(DeclarableOpsTests16, scatter_upd_1) { - auto x = NDArrayFactory::create('c', { 3 }, { 1.f, 1.f, 1.f }); + auto x = NDArrayFactory::create({ 3 }, { 1.f, 1.f, 1.f }); auto y = NDArrayFactory::create(0); auto w = NDArrayFactory::create(3.0f); - auto e = NDArrayFactory::create('c', { 3 }, { 3.f, 1.f, 1.f }); + auto e = NDArrayFactory::create({ 3 }, { 3.f, 1.f, 1.f }); sd::ops::scatter_upd op; auto result = op.evaluate({ &x, &y, &w }); @@ -84,7 +84,7 @@ TEST_F(DeclarableOpsTests16, scatter_upd_3) { } TEST_F(DeclarableOpsTests16, test_size_dtype_1) { - auto x = NDArrayFactory::create('c', { 3 }, { 1, 1, 1 }); + auto x = NDArrayFactory::create({ 3 }, { 1, 1, 1 }); auto z = NDArrayFactory::create(0.0f); auto e = NDArrayFactory::create(3.0f); @@ -116,8 +116,8 @@ TEST_F(DeclarableOpsTests16, test_empty_noop_2) { } TEST_F(DeclarableOpsTests16, test_svd_1) { - auto x = NDArrayFactory::create('c', { 3, 3 }, { 0.7787856f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f,0.50563407f, 0.89252293f, 0.5461209f }); - auto z = NDArrayFactory::create('c', { 3 }); + auto x = NDArrayFactory::create({ 3, 3 }, { 0.7787856f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f,0.50563407f, 0.89252293f, 0.5461209f }); + auto z = NDArrayFactory::create({ 3 }); sd::ops::svd op; auto status = op.execute({ &x }, { &z }, {}, { 0, 0, 16 }, {}); @@ -140,9 +140,9 @@ TEST_F(DeclarableOpsTests16, test_hamming_distance_1) { } TEST_F(DeclarableOpsTests16, test_knn_mindistance_1) { - auto input = NDArrayFactory::create('c', { 512 }); - auto low = NDArrayFactory::create('c', { 512 }); - auto high = NDArrayFactory::create('c', { 512 }); + auto input = NDArrayFactory::create({ 512 }); + auto low = NDArrayFactory::create({ 512 }); + auto high = NDArrayFactory::create({ 512 }); auto output = NDArrayFactory::create(0.0f); @@ -156,8 +156,8 @@ TEST_F(DeclarableOpsTests16, test_knn_mindistance_1) { } TEST_F(DeclarableOpsTests16, test_empty_cast_1) { - auto x = NDArrayFactory::create('c', { 1, 0, 2 }); - auto e = NDArrayFactory::create('c', { 1, 0, 2 }); + auto x = NDArrayFactory::create({ 1, 0, 2 }); + auto e = NDArrayFactory::create({ 1, 0, 2 }); sd::ops::cast op; auto result = op.evaluate({&x}, {10}); @@ -167,7 +167,7 @@ TEST_F(DeclarableOpsTests16, test_empty_cast_1) { TEST_F(DeclarableOpsTests16, test_range_1) { sd::ops::range op; - auto z = NDArrayFactory::create('c', { 200 }); + auto z = NDArrayFactory::create({ 200 }); Context ctx(1); ctx.setTArguments({ -1.0, 1.0, 0.01 }); @@ -179,7 +179,7 @@ TEST_F(DeclarableOpsTests16, test_range_1) { TEST_F(DeclarableOpsTests16, test_range_2) { sd::ops::range op; - auto z = NDArrayFactory::create('c', { 200 }); + auto z = NDArrayFactory::create({ 200 }); double tArgs[] = { -1.0, 1.0, 0.01 }; @@ -197,12 +197,12 @@ TEST_F(DeclarableOpsTests16, test_reverse_1) { for (auto r : rows) { for (auto c : columns) { //nd4j_printf("Trying [%i, %i]\n", r, c); - auto array = NDArrayFactory::create('c', { r, c }); - auto exp = NDArrayFactory::create('c', { r, c }); - auto reversed = NDArrayFactory::create('c', { r, c }); + auto array = NDArrayFactory::create({ r, c }); + auto exp = NDArrayFactory::create({ r, c }); + auto reversed = NDArrayFactory::create({ r, c }); - auto rowOriginal = NDArrayFactory::create('c', { c }); - auto rowReversed = NDArrayFactory::create('c', { c }); + auto rowOriginal = NDArrayFactory::create({ c }); + auto rowReversed = NDArrayFactory::create({ c }); for (int e = 0; e < c; e++) { rowOriginal.p(e, (float)e); @@ -239,7 +239,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_1) { rgbs.ravel() hsvs.ravel() */ - auto rgbs = NDArrayFactory::create('c', { 5, 4, 3 }, { + auto rgbs = NDArrayFactory::create({ 5, 4, 3 }, { 0.545678377f, 0.725874603f, 0.413571358f, 0.644941628f, 0.517642438f, 0.890151322f, 0.461456001f, 0.0869259685f, 0.928968489f, 0.588904262f, 0.54742825f, 0.684074104f, 0.52110225f, 0.761800349f, 0.486593395f, @@ -253,7 +253,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_1) { 0.911922634f, 0.270003974f, 0.164243385f, 0.0581932105f, 0.313204288f, 0.644775152f, 0.437950462f, 0.775881767f, 0.575452209f, 0.946475744f }); - auto expected = NDArrayFactory::create('c', { 5, 4, 3 }, { + auto expected = NDArrayFactory::create({ 5, 4, 3 }, { 0.262831867f, 0.430244058f, 0.725874603f, 0.723622441f, 0.418478161f, 0.890151322f, 0.740797927f, 0.906427443f, 0.928968489f, 0.717254877f, 0.199753001f, 0.684074104f, 0.312434604f, 0.361258626f, 0.761800349f, @@ -269,7 +269,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_1) { }); - auto actual = NDArrayFactory::create('c', { 5,4,3 }); + auto actual = NDArrayFactory::create({ 5,4,3 }); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -293,7 +293,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_2) { swapped_rgbs=rgbs.swapaxes(1,2).ravel() swapped_hsvs=hsvs.swapaxes(1,2).ravel() */ - auto rgbs = NDArrayFactory::create('c', { 5, 3, 4 }, { + auto rgbs = NDArrayFactory::create({ 5, 3, 4 }, { 0.545678377f, 0.644941628f, 0.461456001f, 0.588904262f, 0.725874603f, 0.517642438f, 0.0869259685f, 0.54742825f, 0.413571358f, 0.890151322f, 0.928968489f, 0.684074104f, 0.52110225f, 0.753103435f, 0.913557053f, @@ -307,7 +307,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_2) { 0.313204288f, 0.775881767f, 0.367065936f, 0.164243385f, 0.644775152f, 0.575452209f, 0.911922634f, 0.0581932105f, 0.437950462f, 0.946475744f }); - auto expected = NDArrayFactory::create('c', { 5, 3, 4 }, { + auto expected = NDArrayFactory::create({ 5, 3, 4 }, { 0.262831867f, 0.723622441f, 0.740797927f, 0.717254877f, 0.430244058f, 0.418478161f, 0.906427443f, 0.199753001f, 0.725874603f, 0.890151322f, 0.928968489f, 0.684074104f, 0.312434604f, 0.991390795f, 0.163174023f, @@ -323,7 +323,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_2) { }); - auto actual = NDArrayFactory::create('c', { 5,3,4 }); + auto actual = NDArrayFactory::create({ 5,3,4 }); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -339,18 +339,18 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_2) { TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_3) { - auto rgbs = NDArrayFactory::create('c', { 4, 3 }, { + auto rgbs = NDArrayFactory::create({ 4, 3 }, { 0.545678377f, 0.725874603f, 0.413571358f, 0.644941628f, 0.517642438f, 0.890151322f, 0.461456001f, 0.0869259685f, 0.928968489f, 0.588904262f, 0.54742825f, 0.684074104f }); - auto expected = NDArrayFactory::create('c', { 4, 3 }, { + auto expected = NDArrayFactory::create({ 4, 3 }, { 0.262831867f, 0.430244058f, 0.725874603f, 0.723622441f, 0.418478161f, 0.890151322f, 0.740797927f, 0.906427443f, 0.928968489f, 0.717254877f, 0.199753001f, 0.684074104f }); - auto actual = NDArrayFactory::create('c', { 4, 3 }); + auto actual = NDArrayFactory::create({ 4, 3 }); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -366,18 +366,18 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_3) { TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_4) { - auto rgbs = NDArrayFactory::create('c', { 3, 4 }, { + auto rgbs = NDArrayFactory::create({ 3, 4 }, { 0.545678377f, 0.644941628f, 0.461456001f, 0.588904262f, 0.725874603f, 0.517642438f, 0.0869259685f, 0.54742825f, 0.413571358f, 0.890151322f, 0.928968489f, 0.684074104f }); - auto expected = NDArrayFactory::create('c', { 3, 4 }, { + auto expected = NDArrayFactory::create({ 3, 4 }, { 0.262831867f, 0.723622441f, 0.740797927f, 0.717254877f, 0.430244058f, 0.418478161f, 0.906427443f, 0.199753001f, 0.725874603f, 0.890151322f, 0.928968489f, 0.684074104f }); - auto actual = NDArrayFactory::create('c', { 3, 4 }); + auto actual = NDArrayFactory::create({ 3, 4 }); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -392,14 +392,14 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_4) { } TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_5) { - auto rgbs = NDArrayFactory::create('c', { 3 }, { + auto rgbs = NDArrayFactory::create({ 3 }, { 0.545678377f, 0.725874603f, 0.413571358f }); - auto expected = NDArrayFactory::create('c', { 3 }, { + auto expected = NDArrayFactory::create({ 3 }, { 0.262831867f, 0.430244058f, 0.725874603f }); - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::create({ 3 }); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -415,12 +415,12 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_5) { TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_6) { - auto rgbs = NDArrayFactory::create('c', { 3, 4 }, { + auto rgbs = NDArrayFactory::create({ 3, 4 }, { 0.545678377f, 0.644941628f, 0.461456001f, 0.588904262f, 0.725874603f, 0.517642438f, 0.0869259685f, 0.54742825f, 0.413571358f, 0.890151322f, 0.928968489f, 0.684074104f }); - auto hsvs = NDArrayFactory::create('c', { 3, 4 }, { + auto hsvs = NDArrayFactory::create({ 3, 4 }, { 0.262831867f, 0.723622441f, 0.740797927f, 0.717254877f, 0.430244058f, 0.418478161f, 0.906427443f, 0.199753001f, 0.725874603f, 0.890151322f, 0.928968489f, 0.684074104f @@ -436,7 +436,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_6) { //[RANK][SHAPE][STRIDES][OPTIONS][EWS][ORDER] subArrRgbs.printShapeInfo("subArrRgbs"); #endif - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::create({ 3 }); Context ctx(1); ctx.setInputArray(0, &subArrRgbs); @@ -451,7 +451,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_6) { TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_1) { - auto hsvs = NDArrayFactory::create('c', { 5, 4, 3 }, { + auto hsvs = NDArrayFactory::create({ 5, 4, 3 }, { 0.705504596f, 0.793608069f, 0.65870738f, 0.848827183f, 0.920532584f, 0.887555957f, 0.72317636f, 0.563831031f, 0.773604929f, 0.269532293f, 0.332347751f, 0.111181192f, 0.239250854f, 0.499201417f, 0.862712979f, @@ -465,7 +465,7 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_1) { 0.167678103f, 0.828556478f, 0.615502477f, 0.478080243f, 0.447288662f, 0.864299297f, 0.129833668f, 0.66402483f, 0.795475543f, 0.561332941f }); - auto expected = NDArrayFactory::create('c', { 5, 4, 3 }, { + auto expected = NDArrayFactory::create({ 5, 4, 3 }, { 0.257768334f, 0.135951888f, 0.65870738f, 0.887555957f, 0.0705317783f, 0.811602857f, 0.485313689f, 0.337422464f, 0.773604929f, 0.0883753772f, 0.111181192f, 0.074230373f, 0.675155059f, 0.862712979f, 0.432045438f, @@ -481,7 +481,7 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_1) { }); - auto actual = NDArrayFactory::create('c', { 5,4,3 }); + auto actual = NDArrayFactory::create({ 5,4,3 }); Context ctx(1); ctx.setInputArray(0, &hsvs); @@ -496,7 +496,7 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_1) { } TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_2) { - auto hsvs = NDArrayFactory::create('c', { 5, 3, 4 }, { + auto hsvs = NDArrayFactory::create({ 5, 3, 4 }, { 0.705504596f, 0.848827183f, 0.72317636f, 0.269532293f, 0.793608069f, 0.920532584f, 0.563831031f, 0.332347751f, 0.65870738f, 0.887555957f, 0.773604929f, 0.111181192f, 0.239250854f, 0.0853395388f, 0.851340771f, @@ -510,7 +510,7 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_2) { 0.447288662f, 0.66402483f, 0.657703638f, 0.615502477f, 0.864299297f, 0.795475543f, 0.167678103f, 0.478080243f, 0.129833668f, 0.561332941f }); - auto expected = NDArrayFactory::create('c', { 5, 3, 4 }, { + auto expected = NDArrayFactory::create({ 5, 3, 4 }, { 0.257768334f, 0.887555957f, 0.485313689f, 0.0883753772f, 0.135951888f, 0.0705317783f, 0.337422464f, 0.111181192f, 0.65870738f, 0.811602857f, 0.773604929f, 0.074230373f, 0.675155059f, 0.226065159f, 0.690895379f, @@ -524,7 +524,7 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_2) { 0.01761852f, 0.114806315f, 0.0573956046f, 0.183820669f, 0.129833668f, 0.121884218f, 0.167678103f, 0.478080243f, 0.0943436049f, 0.561332941f }); - auto actual = NDArrayFactory::create('c', { 5,3,4 }); + auto actual = NDArrayFactory::create({ 5,3,4 }); Context ctx(1); ctx.setInputArray(0, &hsvs); @@ -539,17 +539,17 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_2) { } TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_3) { - auto hsvs = NDArrayFactory::create('c', { 4, 3 }, { + auto hsvs = NDArrayFactory::create({ 4, 3 }, { 0.705504596f, 0.793608069f, 0.65870738f, 0.848827183f, 0.920532584f, 0.887555957f, 0.72317636f, 0.563831031f, 0.773604929f, 0.269532293f, 0.332347751f, 0.111181192f }); - auto expected = NDArrayFactory::create('c', { 4, 3 }, { + auto expected = NDArrayFactory::create({ 4, 3 }, { 0.257768334f, 0.135951888f, 0.65870738f, 0.887555957f, 0.0705317783f, 0.811602857f, 0.485313689f, 0.337422464f, 0.773604929f, 0.0883753772f, 0.111181192f, 0.074230373f }); - auto actual = NDArrayFactory::create('c', { 4,3 }); + auto actual = NDArrayFactory::create({ 4,3 }); Context ctx(1); ctx.setInputArray(0, &hsvs); @@ -565,17 +565,17 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_3) { TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_4) { - auto hsvs = NDArrayFactory::create('c', { 3, 4 }, { + auto hsvs = NDArrayFactory::create({ 3, 4 }, { 0.705504596f, 0.848827183f, 0.72317636f, 0.269532293f, 0.793608069f, 0.920532584f, 0.563831031f, 0.332347751f, 0.65870738f, 0.887555957f, 0.773604929f, 0.111181192f }); - auto expected = NDArrayFactory::create('c', { 3, 4 }, { + auto expected = NDArrayFactory::create({ 3, 4 }, { 0.257768334f, 0.887555957f, 0.485313689f, 0.0883753772f, 0.135951888f, 0.0705317783f, 0.337422464f, 0.111181192f, 0.65870738f, 0.811602857f, 0.773604929f, 0.074230373f }); - auto actual = NDArrayFactory::create('c', { 3, 4 }); + auto actual = NDArrayFactory::create({ 3, 4 }); Context ctx(1); ctx.setInputArray(0, &hsvs); @@ -591,14 +591,14 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_4) { TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_5) { - auto hsvs = NDArrayFactory::create('c', { 3 }, { + auto hsvs = NDArrayFactory::create({ 3 }, { 0.705504596f, 0.793608069f, 0.65870738f }); - auto expected = NDArrayFactory::create('c', { 3 }, { + auto expected = NDArrayFactory::create({ 3 }, { 0.257768334f, 0.135951888f, 0.65870738f }); - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::create({ 3 }); Context ctx(1); ctx.setInputArray(0, &hsvs); @@ -615,18 +615,18 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_5) { TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_6) { - auto hsvs = NDArrayFactory::create('c', { 3, 4 }, { + auto hsvs = NDArrayFactory::create({ 3, 4 }, { 0.705504596f, 0.848827183f, 0.72317636f, 0.269532293f, 0.793608069f, 0.920532584f, 0.563831031f, 0.332347751f, 0.65870738f, 0.887555957f, 0.773604929f, 0.111181192f }); - auto rgbs = NDArrayFactory::create('c', { 3, 4 }, { + auto rgbs = NDArrayFactory::create({ 3, 4 }, { 0.257768334f, 0.887555957f, 0.485313689f, 0.0883753772f, 0.135951888f, 0.0705317783f, 0.337422464f, 0.111181192f, 0.65870738f, 0.811602857f, 0.773604929f, 0.074230373f }); - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::create({ 3 }); //get subarray NDArray subArrHsvs = hsvs.subarray({ NDIndex::all(), NDIndex::point(0) }); subArrHsvs.reshapei({ 3 }); @@ -663,7 +663,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_1) { out_2=np.apply_along_axis(lambda x: _rgb_to_yiq_kernel.T @ x,len(nnrgbs.shape)-1,nnrgbs) */ - auto rgb = NDArrayFactory::create('c', { 5, 4 ,3 }, + auto rgb = NDArrayFactory::create({ 5, 4 ,3 }, { 0.48055f , 0.80757356f, 0.2564435f , 0.94277316f, 0.17006584f, 0.33366168f, 0.41727918f, 0.54528666f, 0.48942474f, 0.3305715f , @@ -679,7 +679,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_1) { 0.4153733f , 0.76146203f, 0.50057423f, 0.08274968f, 0.9521758f }); - auto expected = NDArrayFactory::create('c', { 5, 4 ,3 }, + auto expected = NDArrayFactory::create({ 5, 4 ,3 }, { 0.64696468f, -0.01777124f, -0.24070648f, 0.41975525f, 0.40788622f, 0.21433232f, 0.50064416f, -0.05832884f, -0.04447775f, 0.67799989f, @@ -695,7 +695,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_1) { -0.23560742f, 0.06353694f, 0.3067938f , -0.0304029f , 0.35893188f }); - auto actual = NDArrayFactory::create('c', { 5, 4, 3 }); + auto actual = NDArrayFactory::create({ 5, 4, 3 }); Context ctx(1); ctx.setInputArray(0, &rgb); @@ -711,7 +711,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_1) { TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_2) { - auto rgb = NDArrayFactory::create('c', { 5, 3, 4 }, + auto rgb = NDArrayFactory::create({ 5, 3, 4 }, { 0.48055f , 0.94277316f, 0.41727918f, 0.3305715f , 0.80757356f, 0.17006584f, 0.54528666f, 0.98633456f, 0.2564435f , 0.33366168f, @@ -727,7 +727,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_2) { 0.08274968f, 0.56506383f, 0.6807802f , 0.76146203f, 0.9521758f }); - auto expected = NDArrayFactory::create('c', { 5, 3, 4 }, + auto expected = NDArrayFactory::create({ 5, 3, 4 }, { 0.64696468f, 0.41975525f, 0.50064416f, 0.67799989f, -0.01777124f, 0.40788622f, -0.05832884f, -0.07432612f, -0.24070648f, 0.21433232f, @@ -743,7 +743,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_2) { -0.0304029f , -0.24805083f, -0.22219216f, 0.06353694f, 0.35893188f }); - auto actual = NDArrayFactory::create('c', { 5, 3, 4 }); + auto actual = NDArrayFactory::create({ 5, 3, 4 }); Context ctx(1); ctx.setInputArray(0, &rgb); @@ -759,21 +759,21 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_2) { TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_3) { - auto rgb = NDArrayFactory::create('c', { 4, 3 }, + auto rgb = NDArrayFactory::create({ 4, 3 }, { 0.48055f , 0.80757356f, 0.2564435f , 0.94277316f, 0.17006584f, 0.33366168f, 0.41727918f, 0.54528666f, 0.48942474f, 0.3305715f , 0.98633456f, 0.00158441f }); - auto expected = NDArrayFactory::create('c', { 4, 3 }, + auto expected = NDArrayFactory::create({ 4, 3 }, { 0.64696468f, -0.01777124f, -0.24070648f, 0.41975525f, 0.40788622f, 0.21433232f, 0.50064416f, -0.05832884f, -0.04447775f, 0.67799989f, -0.07432612f, -0.44518381f }); - auto actual = NDArrayFactory::create('c', { 4, 3 }); + auto actual = NDArrayFactory::create({ 4, 3 }); Context ctx(1); ctx.setInputArray(0, &rgb); @@ -789,21 +789,21 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_3) { TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_4) { - auto rgb = NDArrayFactory::create('c', { 3, 4 }, + auto rgb = NDArrayFactory::create({ 3, 4 }, { 0.48055f , 0.94277316f, 0.41727918f, 0.3305715f , 0.80757356f, 0.17006584f, 0.54528666f, 0.98633456f, 0.2564435f , 0.33366168f, 0.48942474f, 0.00158441f }); - auto expected = NDArrayFactory::create('c', { 3, 4 }, + auto expected = NDArrayFactory::create({ 3, 4 }, { 0.64696468f, 0.41975525f, 0.50064416f, 0.67799989f, -0.01777124f, 0.40788622f, -0.05832884f, -0.07432612f, -0.24070648f, 0.21433232f, -0.04447775f, -0.44518381f }); - auto actual = NDArrayFactory::create('c', { 3, 4 }); + auto actual = NDArrayFactory::create({ 3, 4 }); Context ctx(1); ctx.setInputArray(0, &rgb); @@ -820,13 +820,13 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_4) { TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_5) { - auto rgbs = NDArrayFactory::create('c', { 3 }, + auto rgbs = NDArrayFactory::create({ 3 }, { 0.48055f , 0.80757356f, 0.2564435f }); - auto expected = NDArrayFactory::create('c', { 3 }, + auto expected = NDArrayFactory::create({ 3 }, { 0.64696468f, -0.01777124f, -0.24070648f, }); - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::create({ 3 }); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -841,14 +841,14 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_5) { TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_6) { - auto rgbs = NDArrayFactory::create('c', { 3, 4 }, + auto rgbs = NDArrayFactory::create({ 3, 4 }, { 0.48055f , 0.94277316f, 0.41727918f, 0.3305715f , 0.80757356f, 0.17006584f, 0.54528666f, 0.98633456f, 0.2564435f , 0.33366168f, 0.48942474f, 0.00158441f }); - auto yiqs = NDArrayFactory::create('c', { 3, 4 }, + auto yiqs = NDArrayFactory::create({ 3, 4 }, { 0.64696468f, 0.41975525f, 0.50064416f, 0.67799989f, -0.01777124f, 0.40788622f, -0.05832884f, -0.07432612f, -0.24070648f, 0.21433232f, @@ -864,7 +864,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_6) { //[RANK][SHAPE][STRIDES][OPTIONS][EWS][ORDER] subArrRgbs.printShapeInfo("subArrRgbs"); #endif - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::create({ 3 }); Context ctx(1); ctx.setInputArray(0, &subArrRgbs); @@ -879,7 +879,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_6) { TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_1) { - auto yiqs = NDArrayFactory::create('c', { 5, 4, 3 }, { + auto yiqs = NDArrayFactory::create({ 5, 4, 3 }, { 0.775258899f, -0.288912386f, -0.132725924f, 0.0664454922f, -0.212469354f, 0.455438733f, 0.418221354f, 0.349350512f, 0.145902053f, 0.947576523f, -0.471601307f, 0.263960421f, 0.700227439f, 0.32434237f, -0.278446227f, @@ -893,7 +893,7 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_1) { 0.189553142f, 0.616444945f, 0.345852494f, 0.447739422f, 0.224696323f, 0.451372236f, 0.298027098f, 0.446561724f, -0.187599331f, -0.448159873f }); - auto expected = NDArrayFactory::create('c', { 5, 4, 3 }, { + auto expected = NDArrayFactory::create({ 5, 4, 3 }, { 0.416663059f, 0.939747555f, 0.868814286f, 0.146075352f, -0.170521997f, 1.07776645f, 0.842775284f, 0.228765106f, 0.280231822f, 0.660605291f, 0.905021825f, 1.91936605f, 0.837427991f, 0.792213732f, -0.133271854f, @@ -907,7 +907,7 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_1) { 1.58768577f, 1.22504294f, 0.232589777f, 0.996727258f, 0.841224629f, -0.0909671176f, 0.233051388f, -0.0110094378f, 0.787642119f, -0.109582274f }); - auto actual = NDArrayFactory::create('c', { 5, 4, 3 }); + auto actual = NDArrayFactory::create({ 5, 4, 3 }); Context ctx(1); ctx.setInputArray(0, &yiqs); @@ -923,7 +923,7 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_1) { TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_2) { - auto yiqs = NDArrayFactory::create('c', { 5, 3, 4 }, { + auto yiqs = NDArrayFactory::create({ 5, 3, 4 }, { 0.775258899f, 0.0664454922f, 0.418221354f, 0.947576523f, -0.288912386f, -0.212469354f, 0.349350512f, -0.471601307f, -0.132725924f, 0.455438733f, 0.145902053f, 0.263960421f, 0.700227439f, 0.130805135f, 0.0276055578f, @@ -937,7 +937,7 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_2) { 0.224696323f, 0.446561724f, -0.496444523f, 0.345852494f, 0.451372236f, -0.187599331f, 0.189553142f, 0.447739422f, 0.298027098f, -0.448159873f }); - auto expected = NDArrayFactory::create('c', { 5, 3, 4 }, { + auto expected = NDArrayFactory::create({ 5, 3, 4 }, { 0.416663059f, 0.146075352f, 0.842775284f, 0.660605291f, 0.939747555f, -0.170521997f, 0.228765106f, 0.905021825f, 0.868814286f, 1.07776645f, 0.280231822f, 1.91936605f, 0.837427991f, -0.17216571f, 0.0451873479f, @@ -951,7 +951,7 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_2) { 0.841224629f, -0.0110094378f, 0.727568094f, 0.232589777f, -0.0909671176f, 0.787642119f, 1.58768577f, 0.996727258f, 0.233051388f, -0.109582274f }); - auto actual = NDArrayFactory::create('c', { 5, 3, 4 }); + auto actual = NDArrayFactory::create({ 5, 3, 4 }); Context ctx(1); ctx.setInputArray(0, &yiqs); @@ -967,17 +967,17 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_2) { TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_3) { - auto yiqs = NDArrayFactory::create('c', { 4, 3 }, { + auto yiqs = NDArrayFactory::create({ 4, 3 }, { 0.775258899f, -0.288912386f, -0.132725924f, 0.0664454922f, -0.212469354f, 0.455438733f, 0.418221354f, 0.349350512f, 0.145902053f, 0.947576523f, -0.471601307f, 0.263960421f }); - auto expected = NDArrayFactory::create('c', { 4, 3 }, { + auto expected = NDArrayFactory::create({ 4, 3 }, { 0.416663059f, 0.939747555f, 0.868814286f, 0.146075352f, -0.170521997f, 1.07776645f, 0.842775284f, 0.228765106f, 0.280231822f, 0.660605291f, 0.905021825f, 1.91936605f }); - auto actual = NDArrayFactory::create('c', { 4, 3 }); + auto actual = NDArrayFactory::create({ 4, 3 }); Context ctx(1); ctx.setInputArray(0, &yiqs); @@ -993,17 +993,17 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_3) { TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_4) { - auto yiqs = NDArrayFactory::create('c', { 3, 4 }, { + auto yiqs = NDArrayFactory::create({ 3, 4 }, { 0.775258899f, 0.0664454922f, 0.418221354f, 0.947576523f, -0.288912386f, -0.212469354f, 0.349350512f, -0.471601307f, -0.132725924f, 0.455438733f, 0.145902053f, 0.263960421f }); - auto expected = NDArrayFactory::create('c', { 3, 4 }, { + auto expected = NDArrayFactory::create({ 3, 4 }, { 0.416663059f, 0.146075352f, 0.842775284f, 0.660605291f, 0.939747555f, -0.170521997f, 0.228765106f, 0.905021825f, 0.868814286f, 1.07776645f, 0.280231822f, 1.91936605f }); - auto actual = NDArrayFactory::create('c', { 3, 4 }); + auto actual = NDArrayFactory::create({ 3, 4 }); Context ctx(1); ctx.setInputArray(0, &yiqs); @@ -1019,13 +1019,13 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_4) { TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_5) { - auto yiqs = NDArrayFactory::create('c', { 3 }, { + auto yiqs = NDArrayFactory::create({ 3 }, { 0.775258899f, -0.288912386f, -0.132725924f }); - auto expected = NDArrayFactory::create('c', { 3 }, { + auto expected = NDArrayFactory::create({ 3 }, { 0.416663059f, 0.939747555f, 0.868814286f }); - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::create({ 3 }); Context ctx(1); ctx.setInputArray(0, &yiqs); @@ -1043,12 +1043,12 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_5) { TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_6) { - auto yiqs = NDArrayFactory::create('c', { 3, 4 }, { + auto yiqs = NDArrayFactory::create({ 3, 4 }, { 0.775258899f, 0.0664454922f, 0.418221354f, 0.947576523f, -0.288912386f, -0.212469354f, 0.349350512f, -0.471601307f, -0.132725924f, 0.455438733f, 0.145902053f, 0.263960421f }); - auto rgbs = NDArrayFactory::create('c', { 3, 4 }, { + auto rgbs = NDArrayFactory::create({ 3, 4 }, { 0.416663059f, 0.146075352f, 0.842775284f, 0.660605291f, 0.939747555f, -0.170521997f, 0.228765106f, 0.905021825f, 0.868814286f, 1.07776645f, 0.280231822f, 1.91936605f @@ -1063,7 +1063,7 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_6) { //[RANK][SHAPE][STRIDES][OPTIONS][EWS][ORDER] subArrYiqs.printShapeInfo("subArrYiqs"); #endif - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::create({ 3 }); Context ctx(1); ctx.setInputArray(0, &subArrYiqs); @@ -1077,8 +1077,8 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_1) { - auto x= NDArrayFactory::create('c', {2, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0}); - auto exp= NDArrayFactory::create('c', {2, 3}, {-2.4, 0.0, 0.0, 3.2, 0.0, 0.0}); + auto x= NDArrayFactory::create({2, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0}); + auto exp= NDArrayFactory::create({2, 3}, {-2.4, 0.0, 0.0, 3.2, 0.0, 0.0}); sd::ops::clipbynorm op; auto result = op.evaluate({&x}, {4.0}, {}); @@ -1091,8 +1091,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_1) { } TEST_F(DeclarableOpsTests16, clipbynorm_2) { - auto x= NDArrayFactory::create('c', {2, 3}, {-3.0f, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f}); - auto exp= NDArrayFactory::create('c', {2, 3}, {-3.0f, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f}); + auto x= NDArrayFactory::create({2, 3}, {-3.0f, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f}); + auto exp= NDArrayFactory::create({2, 3}, {-3.0f, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f}); sd::ops::clipbynorm op; auto result = op.evaluate({&x}, {6.0}, {}); @@ -1107,9 +1107,9 @@ TEST_F(DeclarableOpsTests16, clipbynorm_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_3) { - auto x = NDArrayFactory::create('c', {3, 5}); - auto unities = NDArrayFactory::create('c', {3, 1}, {1., 1., 1.}); - auto scale = NDArrayFactory::create('c', {3, 1}, {1.1, 1., 0.9}); + auto x = NDArrayFactory::create({3, 5}); + auto unities = NDArrayFactory::create({3, 1}, {1., 1., 1.}); + auto scale = NDArrayFactory::create({3, 1}, {1.1, 1., 0.9}); x.linspace(100.); @@ -1128,7 +1128,7 @@ TEST_F(DeclarableOpsTests16, clipbynorm_3) { auto z = result.at(0); auto zNorm1 = z->reduceAlongDimension(reduce::Norm2, {1}, true); - auto exp = NDArrayFactory::create('c', {3, 1}, {1., 1., xNorm1.e(2)}); + auto exp = NDArrayFactory::create({3, 1}, {1., 1., xNorm1.e(2)}); ASSERT_TRUE(exp.isSameShape(&zNorm1)); ASSERT_TRUE(exp.equalsTo(&zNorm1)); @@ -1138,8 +1138,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_4) { - auto x = NDArrayFactory::create('c', {3, 5}, {0.7044955, 0.55606544, 0.15833677, 0.001874401, 0.61595726, 0.3924779, 0.7414847, 0.4127324, 0.24026828, 0.26093036, 0.46741188, 0.01863421, 0.08528871, 0.529365, 0.5510694}); - auto exp = NDArrayFactory::create('c', {3, 5}, {0.405392, 0.319980, 0.091113, 0.001079, 0.354444, 0.225846, 0.426676, 0.237501, 0.138259, 0.150149, 0.268965, 0.010723, 0.049078, 0.304615, 0.317105}); + auto x = NDArrayFactory::create({3, 5}, {0.7044955, 0.55606544, 0.15833677, 0.001874401, 0.61595726, 0.3924779, 0.7414847, 0.4127324, 0.24026828, 0.26093036, 0.46741188, 0.01863421, 0.08528871, 0.529365, 0.5510694}); + auto exp = NDArrayFactory::create({3, 5}, {0.405392, 0.319980, 0.091113, 0.001079, 0.354444, 0.225846, 0.426676, 0.237501, 0.138259, 0.150149, 0.268965, 0.010723, 0.049078, 0.304615, 0.317105}); sd::ops::clipbynorm op; auto result = op.evaluate({&x}, {1.f}, {}); @@ -1152,10 +1152,10 @@ TEST_F(DeclarableOpsTests16, clipbynorm_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_5) { - // auto x = NDArrayFactory::create('c', {3, 5}, {1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5}); - auto x = NDArrayFactory::create('c', {3, 5}); - auto exp = NDArrayFactory::create('c', {3, 5}, {1., 2., 2.89271, 3.50524, 4.00892, 6., 7., 7.71389, 7.88678, 8.01784, 11., 12., 12.53507, 12.26833, 12.02676}); - // auto exp = NDArrayFactory::create('c', {3, 5}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}); + // auto x = NDArrayFactory::create({3, 5}, {1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5}); + auto x = NDArrayFactory::create({3, 5}); + auto exp = NDArrayFactory::create({3, 5}, {1., 2., 2.89271, 3.50524, 4.00892, 6., 7., 7.71389, 7.88678, 8.01784, 11., 12., 12.53507, 12.26833, 12.02676}); + // auto exp = NDArrayFactory::create({3, 5}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}); x.linspace(1); @@ -1172,8 +1172,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_6) { - auto x = NDArrayFactory::create('c', {3, 5}); - auto exp = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 4.95434, 5.78006, 6.60578, 7.43151, 8.25723, 5.64288, 6.15587, 6.66886, 7.18185, 7.69484}); + auto x = NDArrayFactory::create({3, 5}); + auto exp = NDArrayFactory::create({3, 5}, {1., 2., 3., 4., 5., 4.95434, 5.78006, 6.60578, 7.43151, 8.25723, 5.64288, 6.15587, 6.66886, 7.18185, 7.69484}); x.linspace(1); @@ -1190,8 +1190,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_7) { - auto x = NDArrayFactory::create('c', {3, 5}); - auto exp = NDArrayFactory::create('c', {3, 5}, {0.42597, 0.85194, 1.27791, 1.70389, 2.12986, 2.55583, 2.9818 , 3.40777, 3.83374, 4.25971, 4.68569, 5.11166, 5.53763, 5.9636 , 6.38957}); + auto x = NDArrayFactory::create({3, 5}); + auto exp = NDArrayFactory::create({3, 5}, {0.42597, 0.85194, 1.27791, 1.70389, 2.12986, 2.55583, 2.9818 , 3.40777, 3.83374, 4.25971, 4.68569, 5.11166, 5.53763, 5.9636 , 6.38957}); x.linspace(1); @@ -1208,8 +1208,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_8) { - auto x = NDArrayFactory::create('c', {3, 5}); - auto exp = NDArrayFactory::create('c', {3, 5}, {0.42597, 0.85194, 1.27791, 1.70389, 2.12986, 2.55583, 2.9818 , 3.40777, 3.83374, 4.25971, 4.68569, 5.11166, 5.53763, 5.9636 , 6.38957}); + auto x = NDArrayFactory::create({3, 5}); + auto exp = NDArrayFactory::create({3, 5}, {0.42597, 0.85194, 1.27791, 1.70389, 2.12986, 2.55583, 2.9818 , 3.40777, 3.83374, 4.25971, 4.68569, 5.11166, 5.53763, 5.9636 , 6.38957}); x.linspace(1); @@ -1226,8 +1226,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_9) { - auto x = NDArrayFactory::create('c', {2}, {3., 4.}); - auto exp = NDArrayFactory::create('c', {2}, {2.4, 3.2}); + auto x = NDArrayFactory::create({2}, {3., 4.}); + auto exp = NDArrayFactory::create({2}, {2.4, 3.2}); sd::ops::clipbynorm op; auto result = op.evaluate({&x}, {4.}, {}); @@ -1258,8 +1258,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_10) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_11) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {1., 2., 3., 4., 4.44787, 5.33745, 6.22702, 7.1166 , 6.33046, 7.03384, 7.73723, 8.44061, + auto x = NDArrayFactory::create({2, 3, 4}); + auto exp = NDArrayFactory::create({2, 3, 4}, {1., 2., 3., 4., 4.44787, 5.33745, 6.22702, 7.1166 , 6.33046, 7.03384, 7.73723, 8.44061, 13., 14., 15., 16., 15.12277, 16.01235, 16.90192, 17.7915 ,14.77107, 15.47446, 16.17784, 16.88123}); x.linspace(1); @@ -1276,8 +1276,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_11) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbynorm_12) { - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5,6, 7, 8, 9}); - auto e = NDArrayFactory::create('c', {3, 3}, {0.03198684, 0.06397368, 0.09596053, 0.12794736, 0.15993419, 0.19192106, 0.22390789, 0.25589472, 0.28788155}); + auto x = NDArrayFactory::create({3, 3}, {1, 2, 3, 4, 5,6, 7, 8, 9}); + auto e = NDArrayFactory::create({3, 3}, {0.03198684, 0.06397368, 0.09596053, 0.12794736, 0.15993419, 0.19192106, 0.22390789, 0.25589472, 0.28788155}); sd::ops::clipbynorm op; auto result = op.evaluate({&x}, {0.54}, {}); @@ -1295,9 +1295,9 @@ TEST_F(DeclarableOpsTests16, clipbynorm_13) { const int axis = 0; const double clip = 2.; - auto x = NDArrayFactory::create('c', {bS, nOut}, {0.412 ,0.184 ,0.961 ,0.897 ,0.173 ,0.931 ,0.736 ,0.540 ,0.953 ,0.278 ,0.573 ,0.787 ,0.320 ,0.776 ,0.338 ,0.311 ,0.835 ,0.909 ,0.890 ,0.290}); // uniform random in range [0,1] - auto colVect = NDArrayFactory::create('c', {bS, 1}, {0.9, 0.95, 1.00, 1.05, 1.1}); - auto expect = NDArrayFactory::create('c', {bS, nOut}); + auto x = NDArrayFactory::create({bS, nOut}, {0.412 ,0.184 ,0.961 ,0.897 ,0.173 ,0.931 ,0.736 ,0.540 ,0.953 ,0.278 ,0.573 ,0.787 ,0.320 ,0.776 ,0.338 ,0.311 ,0.835 ,0.909 ,0.890 ,0.290}); // uniform random in range [0,1] + auto colVect = NDArrayFactory::create({bS, 1}, {0.9, 0.95, 1.00, 1.05, 1.1}); + auto expect = NDArrayFactory::create({bS, nOut}); auto norm2 = x.reduceAlongDimension(reduce::Norm2, {axis}, true); // norm2 has shape [1, nOut] @@ -1330,8 +1330,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_bp_1) { const int nOut = 3; const double clip = 0.7; - auto x = NDArrayFactory::create('c', {bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] - auto gradO = NDArrayFactory::create('c', {bS, nOut}); + auto x = NDArrayFactory::create({bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] + auto gradO = NDArrayFactory::create({bS, nOut}); const OpArgsHolder argsHolderFF({&x}, {clip}, {}); const OpArgsHolder argsHolderBP({&x, &gradO}, {clip}, {}); @@ -1352,8 +1352,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_bp_2) { const int axis = 0; const double clip = 0.7; - auto x = NDArrayFactory::create('c', {bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] - auto gradO = NDArrayFactory::create('c', {bS, nOut}); + auto x = NDArrayFactory::create({bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] + auto gradO = NDArrayFactory::create({bS, nOut}); const OpArgsHolder argsHolderFF({&x}, {clip}, {axis}); const OpArgsHolder argsHolderBP({&x, &gradO}, {clip}, {axis}); @@ -1374,8 +1374,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_bp_3) { const int axis = 1; const double clip = 1.; - auto x = NDArrayFactory::create('c', {bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] - auto gradO = NDArrayFactory::create('c', {bS, nOut}); + auto x = NDArrayFactory::create({bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] + auto gradO = NDArrayFactory::create({bS, nOut}); const OpArgsHolder argsHolderFF({&x}, {clip}, {axis}); const OpArgsHolder argsHolderBP({&x, &gradO}, {clip}, {axis}); @@ -1390,8 +1390,8 @@ TEST_F(DeclarableOpsTests16, clipbynorm_bp_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbyavgnorm_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0}); - auto exp = NDArrayFactory::create('c', {2, 3}, {-2.88, 0.0, 0.0, 3.84, 0.0, 0.0}); + auto x = NDArrayFactory::create({2, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0}); + auto exp = NDArrayFactory::create({2, 3}, {-2.88, 0.0, 0.0, 3.84, 0.0, 0.0}); sd::ops::clipbyavgnorm op; auto result = op.evaluate({&x}, {0.8}, {}); @@ -1404,8 +1404,8 @@ TEST_F(DeclarableOpsTests16, clipbyavgnorm_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests16, clipbyavgnorm_2) { - auto x= NDArrayFactory::create('c', {2, 3}, {-3.0f, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f}); - auto exp= NDArrayFactory::create('c', {2, 3}, {-3.f, 0.0f, 0.0f, 4.f, 0.0f, 0.0f}); + auto x= NDArrayFactory::create({2, 3}, {-3.0f, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f}); + auto exp= NDArrayFactory::create({2, 3}, {-3.f, 0.0f, 0.0f, 4.f, 0.0f, 0.0f}); sd::ops::clipbyavgnorm op; auto result = op.evaluate({&x}, {0.9}, {}); @@ -1440,8 +1440,8 @@ TEST_F(DeclarableOpsTests16, clipbyavgnorm_bp_1) { const int nOut = 3; const double clip = 0.7; - auto x = NDArrayFactory::create('c', {bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] - auto gradO = NDArrayFactory::create('c', {bS, nOut}); + auto x = NDArrayFactory::create({bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] + auto gradO = NDArrayFactory::create({bS, nOut}); const OpArgsHolder argsHolderFF({&x}, {clip}, {}); const OpArgsHolder argsHolderBP({&x, &gradO}, {clip}, {}); @@ -1462,8 +1462,8 @@ TEST_F(DeclarableOpsTests16, clipbyavgnorm_bp_2) { const int axis = 1; const double clip = 1.; - auto x = NDArrayFactory::create('c', {bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] - auto gradO = NDArrayFactory::create('c', {bS, nOut}); + auto x = NDArrayFactory::create({bS, nOut}, {0.412 ,0.184 ,0.961 ,0.173 ,0.736 ,0.540 }); // uniform random in range [0,1] + auto gradO = NDArrayFactory::create({bS, nOut}); const OpArgsHolder argsHolderFF({&x}, {clip}, {axis}); const OpArgsHolder argsHolderBP({&x, &gradO}, {clip}, {axis}); From 6686c8b9ddd5cdb6fd4c9bc085aab9a19c39a3aa Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 18 Jun 2020 12:42:53 +0300 Subject: [PATCH 53/99] Fixed the seventeenth, eighteenth and nineteenth test files with new factory create. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests17.cpp | 22 ++--- .../layers_tests/DeclarableOpsTests18.cpp | 92 +++++++++---------- .../layers_tests/DeclarableOpsTests19.cpp | 80 ++++++++-------- 3 files changed, 97 insertions(+), 97 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests17.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests17.cpp index 1341312f8deb..ea2955d4c30b 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests17.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests17.cpp @@ -40,11 +40,11 @@ class DeclarableOpsTests17 : public testing::Test { }; TEST_F(DeclarableOpsTests17, test_sparse_to_dense_1) { - auto values = NDArrayFactory::create({1.f, 2.f, 3.f}); - auto shape = NDArrayFactory::create({3, 3}); - auto ranges = NDArrayFactory::create({0,0, 1,1, 2,2}); + auto values = NDArrayFactory::vector({1.f, 2.f, 3.f}); + auto shape = NDArrayFactory::vector({3, 3}); + auto ranges = NDArrayFactory::vector({0,0, 1,1, 2,2}); auto def = NDArrayFactory::create(0.f); - auto exp = NDArrayFactory::create('c', {3, 3}, {1.f,0.f,0.f, 0.f,2.f,0.f, 0.f,0.f,3.f}); + auto exp = NDArrayFactory::create( {3, 3}, {1.f,0.f,0.f, 0.f,2.f,0.f, 0.f,0.f,3.f}); sd::ops::compat_sparse_to_dense op; @@ -53,11 +53,11 @@ TEST_F(DeclarableOpsTests17, test_sparse_to_dense_1) { } TEST_F(DeclarableOpsTests17, test_sparse_to_dense_2) { - auto values = NDArrayFactory::string({3}, {"alpha", "beta", "gamma"}); - auto shape = NDArrayFactory::create({3, 3}); - auto ranges = NDArrayFactory::create({0,0, 1,1, 2,2}); + auto values = NDArrayFactory::string({3LL}, std::vector{"alpha", "beta", "gamma"}); + auto shape = NDArrayFactory::vector({3, 3}); + auto ranges = NDArrayFactory::vector({0,0, 1,1, 2,2}); auto def = NDArrayFactory::string("d"); - auto exp = NDArrayFactory::string( {3, 3}, {"alpha","d","d", "d","beta","d", "d","d","gamma"}); + auto exp = NDArrayFactory::string({3LL, 3LL}, std::vector{"alpha","d","d", "d","beta","d", "d","d","gamma"}); sd::ops::compat_sparse_to_dense op; @@ -67,11 +67,11 @@ TEST_F(DeclarableOpsTests17, test_sparse_to_dense_2) { } TEST_F(DeclarableOpsTests17, test_compat_string_split_1) { - auto x = NDArrayFactory::string( {2}, {"first string", "second"}); + auto x = NDArrayFactory::string( {2}, std::vector{"first string", "second"}); auto delimiter = NDArrayFactory::string(" "); - auto exp0 = NDArrayFactory::create({0,0, 0,1, 1,0}); - auto exp1 = NDArrayFactory::string( {3}, {"first", "string", "second"}); + auto exp0 = NDArrayFactory::vector({0,0, 0,1, 1,0}); + auto exp1 = NDArrayFactory::string( {3}, std::vector{"first", "string", "second"}); sd::ops::compat_string_split op; auto result = op.evaluate({&x, &delimiter}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests18.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests18.cpp index 1f36a8f2c77a..4dcee5024874 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests18.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests18.cpp @@ -52,9 +52,9 @@ TEST_F(DeclarableOpsTests18, test_bitcast_1) { } TEST_F(DeclarableOpsTests18, test_tanh_1) { - auto x = NDArrayFactory::create('c', { 8 }, { 0.23f, -0.23f, 0.35f, -0.35f, 0.64f, -0.64f, 100000.f, -100000.f }); + auto x = NDArrayFactory::create( { 8 }, { 0.23f, -0.23f, 0.35f, -0.35f, 0.64f, -0.64f, 100000.f, -100000.f }); auto z = x.ulike(); - auto e = NDArrayFactory::create('c', { 8 }, { 0.226028f, -0.226028f, 0.336376f, -0.336376f, 0.564900f, -0.564900f, 1.f, -1.f }); + auto e = NDArrayFactory::create( { 8 }, { 0.226028f, -0.226028f, 0.336376f, -0.336376f, 0.564900f, -0.564900f, 1.f, -1.f }); sd::ops::tanh op; op.execute({ &x }, { &z }); @@ -190,9 +190,9 @@ TEST_F(DeclarableOpsTests18, TestSoftMax_bp_TEST3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests18, XWPlusB_Bp_1) { - auto x = NDArrayFactory::create('c', { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto w = NDArrayFactory::create('c', { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); - auto b = NDArrayFactory::create({ 100.f, 200.f }); + auto x = NDArrayFactory::create( { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); + auto w = NDArrayFactory::create( { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); + auto b = NDArrayFactory::vector({ 100.f, 200.f }); NDArray dLdz('c', { 2, 2 }, DataType::FLOAT32); dLdz.linspace(1); @@ -206,9 +206,9 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_1) { auto dLdw = result.at(1); auto dLdb = result.at(2); - auto edLdx = NDArrayFactory::create('c', { 2,3 }, { 17.f, 14.f, 10.f, 45.f, 32.f, 26.f }); - auto edLdw = NDArrayFactory::create('c', { 3,2 }, { 43.f, 58.f, 26.f, 42.f, 21.f, 30.f }); - auto edLdb = NDArrayFactory::create('c', { 2 }, { 4.f, 6.f }); + auto edLdx = NDArrayFactory::create( { 2,3 }, { 17.f, 14.f, 10.f, 45.f, 32.f, 26.f }); + auto edLdw = NDArrayFactory::create( { 3,2 }, { 43.f, 58.f, 26.f, 42.f, 21.f, 30.f }); + auto edLdb = NDArrayFactory::create( { 2 }, { 4.f, 6.f }); ASSERT_TRUE(edLdx.isSameShape(dLdx)); ASSERT_TRUE(edLdw.isSameShape(dLdw)); @@ -220,9 +220,9 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests18, XWPlusB_Bp_2) { - auto x = NDArrayFactory::create('c', { 6,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f, 1.f, 11.f, 3.f, 14.f, 5.f, 6.f, 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto w = NDArrayFactory::create('c', { 3,4 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f, 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); - auto b = NDArrayFactory::create('c', { 4 }, { 100.f, 200.f, 100.f, 200.f }); + auto x = NDArrayFactory::create( { 6,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f, 1.f, 11.f, 3.f, 14.f, 5.f, 6.f, 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); + auto w = NDArrayFactory::create( { 3,4 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f, 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); + auto b = NDArrayFactory::create( { 4 }, { 100.f, 200.f, 100.f, 200.f }); NDArray dLdz('c', { 6, 4 }, DataType::FLOAT32); dLdz.linspace(.1, .5); @@ -236,9 +236,9 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_2) { auto dLdw = result.at(1); auto dLdb = result.at(2); - auto edLdx = NDArrayFactory::create('c', { 6,3 }, { 15.3f, 18.700001f, 13.2f, 61.299995f, 62.699997f, 47.200001f, 107.299995f, 106.699997f, 81.199997f, 153.299988f, 150.699997f, 115.199997f, 199.300018f, 194.700012f, 149.199997f, 245.300018f, 238.700012f, 183.199997f }); - auto edLdw = NDArrayFactory::create('c', { 3,4 }, { 268.5f, 291.f, 313.5f, 336.f, 226.800003f, 250.800003f, 274.799988f, 298.799988f, 146.699997f, 160.199997f, 173.700012f, 187.200012f }); - auto edLdb = NDArrayFactory::create('c', { 4 }, { 30.6f, 33.599998f, 36.599998f, 39.599998f }); + auto edLdx = NDArrayFactory::create( { 6,3 }, { 15.3f, 18.700001f, 13.2f, 61.299995f, 62.699997f, 47.200001f, 107.299995f, 106.699997f, 81.199997f, 153.299988f, 150.699997f, 115.199997f, 199.300018f, 194.700012f, 149.199997f, 245.300018f, 238.700012f, 183.199997f }); + auto edLdw = NDArrayFactory::create( { 3,4 }, { 268.5f, 291.f, 313.5f, 336.f, 226.800003f, 250.800003f, 274.799988f, 298.799988f, 146.699997f, 160.199997f, 173.700012f, 187.200012f }); + auto edLdb = NDArrayFactory::create( { 4 }, { 30.6f, 33.599998f, 36.599998f, 39.599998f }); ASSERT_TRUE(edLdx.isSameShape(dLdx)); ASSERT_TRUE(edLdw.isSameShape(dLdw)); ASSERT_TRUE(edLdb.isSameShape(dLdb)); @@ -250,11 +250,11 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests18, XWPlusB_Bp_3) { - auto x = NDArrayFactory::create('c', { 1, 2 }, { 1.f, 11.f }); - auto w = NDArrayFactory::create('c', { 2, 3 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); - auto b = NDArrayFactory::create({ 100.f, 200.f, 300.f }); + auto x = NDArrayFactory::create( { 1, 2 }, { 1.f, 11.f }); + auto w = NDArrayFactory::create( { 2, 3 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); + auto b = NDArrayFactory::vector({ 100.f, 200.f, 300.f }); - auto dLdz = NDArrayFactory::create('c', { 1, 3 }, { 166.f, 269.f, 326.f }); + auto dLdz = NDArrayFactory::create( { 1, 3 }, { 166.f, 269.f, 326.f }); sd::ops::xw_plus_b_bp op; auto result = op.evaluate({ &x, &w, &b, &dLdz }, {}, {}); @@ -265,9 +265,9 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_3) { auto dLdw = result.at(1); auto dLdb = result.at(2); - auto edLdx = NDArrayFactory::create('c', { 1,2 }, { 3937.f, 3096.f }); - auto edLdw = NDArrayFactory::create('c', { 2,3 }, { 166.f, 269.f, 326.f, 1826.f, 2959.f, 3586.f }); - auto edLdb = NDArrayFactory::create('c', { 3 }, { 166.f, 269.f, 326.f }); + auto edLdx = NDArrayFactory::create( { 1,2 }, { 3937.f, 3096.f }); + auto edLdw = NDArrayFactory::create( { 2,3 }, { 166.f, 269.f, 326.f, 1826.f, 2959.f, 3586.f }); + auto edLdb = NDArrayFactory::create( { 3 }, { 166.f, 269.f, 326.f }); ASSERT_TRUE(edLdx.isSameShape(dLdx)); ASSERT_TRUE(edLdw.isSameShape(dLdw)); ASSERT_TRUE(edLdb.isSameShape(dLdb)); @@ -279,11 +279,11 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests18, XWPlusB_Bp_4) { - auto x = NDArrayFactory::create('c', { 1, 2 }, { 1.f, 11.f }); - auto w = NDArrayFactory::create('c', { 2, 1 }, { 11.f, 3.f }); - auto b = NDArrayFactory::create('c', { 1 }, { 200.f }); + auto x = NDArrayFactory::create( { 1, 2 }, { 1.f, 11.f }); + auto w = NDArrayFactory::create( { 2, 1 }, { 11.f, 3.f }); + auto b = NDArrayFactory::create( { 1 }, { 200.f }); - auto dLdz = NDArrayFactory::create('c', { 1,1 }, { 244.f }); + auto dLdz = NDArrayFactory::create( { 1,1 }, { 244.f }); sd::ops::xw_plus_b_bp op; auto result = op.evaluate({ &x, &w, &b, &dLdz }, {}, {}); @@ -294,9 +294,9 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_4) { auto dLdw = result.at(1); auto dLdb = result.at(2); - auto edLdx = NDArrayFactory::create('c', { 1,2 }, { 2684.f, 732.f }); - auto edLdw = NDArrayFactory::create('c', { 2,1 }, { 244.f, 2684.f }); - auto edLdb = NDArrayFactory::create('c', { 1 }, { 244.f }); + auto edLdx = NDArrayFactory::create( { 1,2 }, { 2684.f, 732.f }); + auto edLdw = NDArrayFactory::create( { 2,1 }, { 244.f, 2684.f }); + auto edLdb = NDArrayFactory::create( { 1 }, { 244.f }); ASSERT_TRUE(edLdx.isSameShape(dLdx)); ASSERT_TRUE(edLdw.isSameShape(dLdw)); ASSERT_TRUE(edLdb.isSameShape(dLdb)); @@ -308,11 +308,11 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests18, XWPlusB_Bp_5) { - auto x = NDArrayFactory::create('f', { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto w = NDArrayFactory::create('f', { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); - auto b = NDArrayFactory::create({ 100.f, 200.f }); + auto x = NDArrayFactory::create( { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }, sd::kArrayOrderFortran); + auto w = NDArrayFactory::create( { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }, sd::kArrayOrderFortran); + auto b = NDArrayFactory::vector( { 100.f, 200.f }); - auto dLdz = NDArrayFactory::create('f', { 2,2 }, { 140.f, 287.f, 233.f, 351.f }); + auto dLdz = NDArrayFactory::create( { 2,2 }, { 140.f, 287.f, 233.f, 351.f }, sd::kArrayOrderFortran); sd::ops::xw_plus_b_bp op; auto result = op.evaluate({ &x, &w, &b, &dLdz }, {}, {}); @@ -323,13 +323,13 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_5) { auto dLdw = result.at(1); auto dLdb = result.at(2); - auto edLdxC = NDArrayFactory::create('c', { 2,3 }, { 2705.f, 1818.f, 1026.f, 4912.f, 2967.f, 1850.f }); - auto edLdwC = NDArrayFactory::create('c', { 3,2 }, { 3297.f, 4094.f, 4438.f, 5613.f, 2422.f, 3271.f }); - auto edLdbC = NDArrayFactory::create('c', { 2 }, { 427.f, 584.f }); + auto edLdxC = NDArrayFactory::create( { 2,3 }, { 2705.f, 1818.f, 1026.f, 4912.f, 2967.f, 1850.f }); + auto edLdwC = NDArrayFactory::create( { 3,2 }, { 3297.f, 4094.f, 4438.f, 5613.f, 2422.f, 3271.f }); + auto edLdbC = NDArrayFactory::create( { 2 }, { 427.f, 584.f }); - auto edLdx = NDArrayFactory::create('f', { 2,3 }); - auto edLdw = NDArrayFactory::create('f', { 3,2 }); - auto edLdb = NDArrayFactory::create('f', { 2 }); + auto edLdx = NDArrayFactory::create( { 2,3 }, {}, sd::kArrayOrderFortran); + auto edLdw = NDArrayFactory::create( { 3,2 }, {}, sd::kArrayOrderFortran); + auto edLdb = NDArrayFactory::create( { 2 }, {}, sd::kArrayOrderFortran); edLdx.assign(edLdxC); edLdw.assign(edLdwC); @@ -346,11 +346,11 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests18, XWPlusB_Bp_6) { - auto x = NDArrayFactory::create('c', { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto w = NDArrayFactory::create('c', { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); - auto b = NDArrayFactory::create({ 100.f, 200.f }); + auto x = NDArrayFactory::create( { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); + auto w = NDArrayFactory::create( { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); + auto b = NDArrayFactory::vector({ 100.f, 200.f }); - auto dLdz = NDArrayFactory::create('c', { 2,2 }, { 173.f, 264.f, 310.f, 279.f }); + auto dLdz = NDArrayFactory::create( { 2,2 }, { 173.f, 264.f, 310.f, 279.f }); // mkl-format w.permutei({ 1,0 }); @@ -364,10 +364,10 @@ TEST_F(DeclarableOpsTests18, XWPlusB_Bp_6) { auto dLdw = result.at(1); auto dLdb = result.at(2); - auto edLdx = NDArrayFactory::create('c', { 2,3 }, { 2695.f, 2012.f, 1566.f, 4247.f, 2635.f, 2418.f }); - auto edLdwC = NDArrayFactory::create('c', { 3,2 }, { 4513.f, 3453.f, 2379.f, 4170.f, 4299.f, 2466.f }); - auto edLdb = NDArrayFactory::create('c', { 2 }, { 483.f, 543.f }); - auto edLdw = NDArrayFactory::create('c', { 3,2 }, { 4513.f, 3453.f, 2379.f, 4170.f, 4299.f, 2466.f }); + auto edLdx = NDArrayFactory::create( { 2,3 }, { 2695.f, 2012.f, 1566.f, 4247.f, 2635.f, 2418.f }); + auto edLdwC = NDArrayFactory::create( { 3,2 }, { 4513.f, 3453.f, 2379.f, 4170.f, 4299.f, 2466.f }); + auto edLdb = NDArrayFactory::create( { 2 }, { 483.f, 543.f }); + auto edLdw = NDArrayFactory::create( { 3,2 }, { 4513.f, 3453.f, 2379.f, 4170.f, 4299.f, 2466.f }); edLdw.permutei({ 1,0 }); edLdw.assign(edLdwC); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests19.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests19.cpp index 5f1aefe36c19..72a52b1cb483 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests19.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests19.cpp @@ -42,7 +42,7 @@ class DeclarableOpsTests19 : public testing::Test { TEST_F(DeclarableOpsTests19, test_argmax_maxint_vector_1) { - auto x = NDArrayFactory::create('c', {3}, {0.1f, 0.5f, 0.7f}); + auto x = NDArrayFactory::create( {3}, {0.1f, 0.5f, 0.7f}); auto z = NDArrayFactory::create(0); auto e = NDArrayFactory::create(2); @@ -54,9 +54,9 @@ TEST_F(DeclarableOpsTests19, test_argmax_maxint_vector_1) { TEST_F(DeclarableOpsTests19, test_threshold_encode_1) { - auto x = NDArrayFactory::create('c', {3}, {1.5, 2.5, -3.5}); - auto exp_encoded = NDArrayFactory::create('c', {7}, {3, 3, 1056964608, 0, 1, 2, -3}); - auto exp_gradients = NDArrayFactory::create('c', {3}, {1.0, 2.0, -3.0}); + auto x = NDArrayFactory::create( {3}, {1.5, 2.5, -3.5}); + auto exp_encoded = NDArrayFactory::create( {7}, {3, 3, 1056964608, 0, 1, 2, -3}); + auto exp_gradients = NDArrayFactory::create( {3}, {1.0, 2.0, -3.0}); sd::ops::encode_threshold op; auto result = op.evaluate({&x}, {0.5}); @@ -75,8 +75,8 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_1) { TEST_F(DeclarableOpsTests19, test_threshold_encode_2) { for (int length = 5; length < 35; length++) { - auto x = NDArrayFactory::create('c', {10000}); - auto exp_gradients = NDArrayFactory::create('c', {10000}); + auto x = NDArrayFactory::create( {10000}); + auto exp_gradients = NDArrayFactory::create( {10000}); for (int e = 0; e < length; e++) { x.p(e, 2e-3); @@ -94,7 +94,7 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_2) { } TEST_F(DeclarableOpsTests19, test_threshold_encode_boundary_1) { - auto x = NDArrayFactory::create('c', {6}); + auto x = NDArrayFactory::create( {6}); x = 1.0f; sd::ops::encode_threshold op; @@ -108,7 +108,7 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_boundary_1) { } TEST_F(DeclarableOpsTests19, test_threshold_encode_boundary_2) { - auto x = NDArrayFactory::create('c', {1000}); + auto x = NDArrayFactory::create( {1000}); x = 1.0f; sd::ops::encode_threshold op; @@ -123,9 +123,9 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_boundary_2) { } TEST_F(DeclarableOpsTests19, test_threshold_decode_1) { - auto x = NDArrayFactory::create('c', {3}, {1.0, 2.0, -3.0}); - auto y = NDArrayFactory::create('c', {7}, {3, 3, 1056964608, 0, 1, 2, -3}); - auto exp_gradients = NDArrayFactory::create('c', {3}, {1.5, 2.5, -3.5}); + auto x = NDArrayFactory::create( {3}, {1.0, 2.0, -3.0}); + auto y = NDArrayFactory::create( {7}, {3, 3, 1056964608, 0, 1, 2, -3}); + auto exp_gradients = NDArrayFactory::create( {3}, {1.5, 2.5, -3.5}); sd::ops::decode_threshold op; auto status = op.execute({&x, &y}, {&x}); @@ -134,7 +134,7 @@ TEST_F(DeclarableOpsTests19, test_threshold_decode_1) { } TEST_F(DeclarableOpsTests19, test_bitmap_encode_1) { - auto initial = NDArrayFactory::create('c', {6}, {0.0f, 0.0f, 1e-3f, -1e-3f, 0.0f, 0.0f}); + auto initial = NDArrayFactory::create( {6}, {0.0f, 0.0f, 1e-3f, -1e-3f, 0.0f, 0.0f}); auto exp_0 = initial.like(); auto exp_1 = initial.dup(); auto exp_c = NDArrayFactory::create(2L); @@ -164,7 +164,7 @@ TEST_F(DeclarableOpsTests19, test_bitmap_encode_1) { } TEST_F(DeclarableOpsTests19, test_bitmap_encode_decode) { - auto initial = NDArrayFactory::create('c', {256000}); + auto initial = NDArrayFactory::create( {256000}); initial = 1.0f; auto exp = initial.dup(); auto neg = initial.like(); @@ -199,7 +199,7 @@ TEST_F(DeclarableOpsTests19, test_bitmap_encode_decode) { } TEST_F(DeclarableOpsTests19, test_threshold_encode_decode) { - auto initial = NDArrayFactory::create('c', {256000}); + auto initial = NDArrayFactory::create( {256000}); initial = 1.0f; auto exp = initial.dup(); auto neg = initial.like(); @@ -244,7 +244,7 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_decode) { #ifdef _RELEASE TEST_F(DeclarableOpsTests19, test_threshold_encode_decode_2) { // [2,1,135079944,1,1,8192,1,99] - auto initial = NDArrayFactory::create('c', {1, 135079944}); + auto initial = NDArrayFactory::create( {1, 135079944}); initial = 1.0f; auto exp = initial.dup(); auto neg = initial.like(); @@ -293,10 +293,10 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_decode_2) { TEST_F(DeclarableOpsTests19, test_matmul_ccc) { - auto x = NDArrayFactory::create('c', {10, 10}); - auto y = NDArrayFactory::create('c', {10, 10}); - auto e = NDArrayFactory::create('c', {10, 10}); - auto z = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); + auto y = NDArrayFactory::create( {10, 10}); + auto e = NDArrayFactory::create( {10, 10}); + auto z = NDArrayFactory::create( {10, 10}); z.assign(100.f); e.assign(110.f); @@ -311,10 +311,10 @@ TEST_F(DeclarableOpsTests19, test_matmul_ccc) { } TEST_F(DeclarableOpsTests19, test_matmul_fcf) { - auto x = NDArrayFactory::create('f', {10, 10}); - auto y = NDArrayFactory::create('c', {10, 10}); - auto e = NDArrayFactory::create('f', {10, 10}); - auto z = NDArrayFactory::create('f', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto e = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto z = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); z.assign(100.f); e.assign(110.f); @@ -329,10 +329,10 @@ TEST_F(DeclarableOpsTests19, test_matmul_fcf) { } TEST_F(DeclarableOpsTests19, test_matmul_cff) { - auto x = NDArrayFactory::create('c', {10, 10}); - auto y = NDArrayFactory::create('f', {10, 10}); - auto e = NDArrayFactory::create('f', {10, 10}); - auto z = NDArrayFactory::create('f', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); + auto y = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto e = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto z = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); z.assign(100.f); e.assign(110.f); @@ -348,10 +348,10 @@ TEST_F(DeclarableOpsTests19, test_matmul_cff) { TEST_F(DeclarableOpsTests19, test_matmul_ccf) { - auto x = NDArrayFactory::create('c', {10, 10}); - auto y = NDArrayFactory::create('c', {10, 10}); - auto e = NDArrayFactory::create('f', {10, 10}); - auto z = NDArrayFactory::create('f', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); + auto y = NDArrayFactory::create( {10, 10}); + auto e = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto z = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); z.assign(100.f); e.assign(110.f); @@ -366,10 +366,10 @@ TEST_F(DeclarableOpsTests19, test_matmul_ccf) { } TEST_F(DeclarableOpsTests19, test_matmul_fff) { - auto x = NDArrayFactory::create('f', {10, 10}); - auto y = NDArrayFactory::create('f', {10, 10}); - auto e = NDArrayFactory::create('f', {10, 10}); - auto z = NDArrayFactory::create('f', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto e = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); + auto z = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderFortran); z.assign(100.f); e.assign(110.f); @@ -400,9 +400,9 @@ TEST_F(DeclarableOpsTests19, test_conv1d_bp_1) { Nd4j.exec(op); */ - auto t = NDArrayFactory::create('c', {2, 2, 12}); - auto u = NDArrayFactory::create('c', {3, 2, 3}); - auto v = NDArrayFactory::create('c', {2, 3, 6}); + auto t = NDArrayFactory::create( {2, 2, 12}); + auto u = NDArrayFactory::create( {3, 2, 3}); + auto v = NDArrayFactory::create( {2, 3, 6}); sd::ops::conv1d_bp op; auto result = op.evaluate({&t, &u, &v}, {3, 2, 0, 1, 2,0}); @@ -411,8 +411,8 @@ TEST_F(DeclarableOpsTests19, test_conv1d_bp_1) { } TEST_F(DeclarableOpsTests19, test_squeeze_1) { - auto x = NDArrayFactory::create('c', {3, 4, 1}); - auto e = NDArrayFactory::create('c', {3, 4}); + auto x = NDArrayFactory::create( {3, 4, 1}); + auto e = NDArrayFactory::create( {3, 4}); int axis = 2; sd::ops::squeeze op; From c0b0a520cd76bae29397f265212fac2932b49a91 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 18 Jun 2020 13:20:03 +0300 Subject: [PATCH 54/99] Fixed the second test file with new factory create. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests2.cpp | 1140 ++++++++--------- 1 file changed, 570 insertions(+), 570 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp index f4847889b8fb..fff382c50f41 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp @@ -323,9 +323,9 @@ TEST_F(DeclarableOpsTests2, BroadcastGradientArgs_1) { } TEST_F(DeclarableOpsTests2, NLP_Cbow_Test_1) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); - auto exp2 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); + auto exp2 = NDArrayFactory::create( {1, 10}); exp0.assign(0.0095); exp1.assign(0.019875); @@ -333,16 +333,16 @@ TEST_F(DeclarableOpsTests2, NLP_Cbow_Test_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); - auto context = NDArrayFactory::create('c', {3}, {0, 1, 2}); - auto locked = NDArrayFactory::create('c', {3}); - auto indices = NDArrayFactory::create('c', {2}, {4, 5}); - auto codes = NDArrayFactory::create('c', {2}, {1, 1}); - auto syn0 = NDArrayFactory::create('c', {100, 10}); - auto syn1 = NDArrayFactory::create('c', {100, 10}); + auto context = NDArrayFactory::create( {3}, {0, 1, 2}); + auto locked = NDArrayFactory::create( {3}); + auto indices = NDArrayFactory::create( {2}, {4, 5}); + auto codes = NDArrayFactory::create( {2}, {1, 1}); + auto syn0 = NDArrayFactory::create( {100, 10}); + auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create('c', {10000}); + auto expTable = NDArrayFactory::create( {10000}); auto negTable = NDArrayFactory::empty(); - auto numWords = NDArrayFactory::create('c', {1}, {1}); + auto numWords = NDArrayFactory::create( {1}, {1}); syn0.assign(0.01); syn1.assign(0.02); @@ -375,7 +375,7 @@ TEST_F(DeclarableOpsTests2, NLP_Cbow_Test_1) { } TEST_F(DeclarableOpsTests2, Test_Squeeze_1) { - auto x = NDArrayFactory::create('c', {2, 1, 3, 1, 1, 1, 4}); + auto x = NDArrayFactory::create( {2, 1, 3, 1, 1, 1, 4}); x.linspace(1); auto exp = x.reshape('c', {2, 3, 4}); @@ -393,7 +393,7 @@ TEST_F(DeclarableOpsTests2, Test_Squeeze_1) { TEST_F(DeclarableOpsTests2, Test_Squeeze_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); auto exp = new NDArray(x.dup()); @@ -411,9 +411,9 @@ TEST_F(DeclarableOpsTests2, Test_Squeeze_2) { } TEST_F(DeclarableOpsTests2, Test_FloorMod_1) { - auto x = NDArrayFactory::create('c', {1, 3}, {2.0f, 6.0f, -3.0f}); - auto y = NDArrayFactory::create('c', {1, 3}, {-3.0f, 2.0f, -2.0f}); - auto exp = NDArrayFactory::create('c', {1, 3}, {-1.f, 0.f, -1.f}); + auto x = NDArrayFactory::create( {1, 3}, {2.0f, 6.0f, -3.0f}); + auto y = NDArrayFactory::create( {1, 3}, {-3.0f, 2.0f, -2.0f}); + auto exp = NDArrayFactory::create( {1, 3}, {-1.f, 0.f, -1.f}); sd::ops::floormod op; @@ -428,9 +428,9 @@ TEST_F(DeclarableOpsTests2, Test_FloorMod_1) { } TEST_F(DeclarableOpsTests2, Test_FloorDiv_1) { - auto x = NDArrayFactory::create('c', {1, 3}, {3.0f, 6.0f, -3.0f}); - auto y = NDArrayFactory::create('c', {1, 3}, {-2.0f, 2.0f, -2.0f}); - auto exp = NDArrayFactory::create('c', {1, 3}, {-2.f, 3.f, 1.f}); + auto x = NDArrayFactory::create( {1, 3}, {3.0f, 6.0f, -3.0f}); + auto y = NDArrayFactory::create( {1, 3}, {-2.0f, 2.0f, -2.0f}); + auto exp = NDArrayFactory::create( {1, 3}, {-2.f, 3.f, 1.f}); sd::ops::floordiv op; @@ -443,12 +443,12 @@ TEST_F(DeclarableOpsTests2, Test_FloorDiv_1) { } TEST_F(DeclarableOpsTests2, Test_FloorDiv_2) { - auto x = NDArrayFactory::create('c', {1, 3}, {3.0f, 6.0f, -3.0f}); - auto y = NDArrayFactory::create('c', {1, 3}, {-2.0f, 2.0f, -2.0f}); - auto eps = NDArrayFactory::create('c', {1, 3}, {1.f, 2.f, 3.f}); + auto x = NDArrayFactory::create( {1, 3}, {3.0f, 6.0f, -3.0f}); + auto y = NDArrayFactory::create( {1, 3}, {-2.0f, 2.0f, -2.0f}); + auto eps = NDArrayFactory::create( {1, 3}, {1.f, 2.f, 3.f}); - auto exp1 = NDArrayFactory::create('c', {1, 3}, {0.f, 0.f, 0.f}); - auto exp2 = NDArrayFactory::create('c', {1, 3}, {0.f, 0.f, 0.f}); + auto exp1 = NDArrayFactory::create( {1, 3}, {0.f, 0.f, 0.f}); + auto exp2 = NDArrayFactory::create( {1, 3}, {0.f, 0.f, 0.f}); sd::ops::floordiv_bp op; @@ -466,8 +466,8 @@ TEST_F(DeclarableOpsTests2, Test_FloorDiv_2) { } TEST_F(DeclarableOpsTests2, Test_CRelu_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1.0f, 2.0f, 3.0f, 4.0f}); - auto exp = NDArrayFactory::create('c', {2, 4}, {1.0f, 2.0f, 0.f, 0.f, 3.0f, 4.0f, 0.f, 0.f}); + auto x = NDArrayFactory::create( {2, 2}, {1.0f, 2.0f, 3.0f, 4.0f}); + auto exp = NDArrayFactory::create( {2, 4}, {1.0f, 2.0f, 0.f, 0.f, 3.0f, 4.0f, 0.f, 0.f}); sd::ops::crelu op; @@ -483,9 +483,9 @@ TEST_F(DeclarableOpsTests2, Test_CRelu_1) { } TEST_F(DeclarableOpsTests2, Test_CRelu_BP_2) { - auto x = NDArrayFactory::create('c', {2, 2}, {1.0f, 2.0f, -3.0f, 4.0f}); - auto eps = NDArrayFactory::create('c', {2, 4}, {1.0f, 2.0f, 4.f, 3.f, 3.0f, 4.0f, 2.f, 1.f}); - auto exp = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, -2.f, 4.f}); + auto x = NDArrayFactory::create( {2, 2}, {1.0f, 2.0f, -3.0f, 4.0f}); + auto eps = NDArrayFactory::create( {2, 4}, {1.0f, 2.0f, 4.f, 3.f, 3.0f, 4.0f, 2.f, 1.f}); + auto exp = NDArrayFactory::create( {2, 2}, {1.f, 2.f, -2.f, 4.f}); sd::ops::crelu_bp op; auto result = op.evaluate({&x, &eps}); @@ -500,11 +500,11 @@ TEST_F(DeclarableOpsTests2, Test_CRelu_BP_2) { } TEST_F(DeclarableOpsTests2, Test_Concat_BP_1) { - auto x = NDArrayFactory::create('c', {2, 2}); - auto y = NDArrayFactory::create('c', {2, 2}); - auto eps = NDArrayFactory::create('c', {2, 4}, {1.0f, 2.0f, 0.f, 1.f, 3.0f, 4.0f, 0.f, 1.f}); - auto expEX = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 3.f, 4.f}); - auto expEY = NDArrayFactory::create('c', {2, 2}, {0.f, 1.f, 0.f, 1.f}); + auto x = NDArrayFactory::create( {2, 2}); + auto y = NDArrayFactory::create( {2, 2}); + auto eps = NDArrayFactory::create( {2, 4}, {1.0f, 2.0f, 0.f, 1.f, 3.0f, 4.0f, 0.f, 1.f}); + auto expEX = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 3.f, 4.f}); + auto expEY = NDArrayFactory::create( {2, 2}, {0.f, 1.f, 0.f, 1.f}); sd::ops::concat_bp op; auto result = op.evaluate({&x, &y, &eps}, {}, {-1}); @@ -524,10 +524,10 @@ TEST_F(DeclarableOpsTests2, Test_Concat_BP_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_1) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); - auto expected = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); + auto expected = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -549,10 +549,10 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_2) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1,4,5}); - auto expected = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1,4,5}); + auto expected = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -575,10 +575,10 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_3) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1,1,5}); - auto expected = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1,1,5}); + auto expected = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -600,10 +600,10 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_3) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_4) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,1,1,5}); - auto expected = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,1,1,5}); + auto expected = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -625,10 +625,10 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_4) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_5) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1}); - auto expected = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1}); + auto expected = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -650,10 +650,10 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_5) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_6) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1}); - auto expected = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1}); + auto expected = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -675,9 +675,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_6) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_7) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -698,9 +698,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_7) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_8) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -723,9 +723,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_8) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_9) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,1,4,1}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,1,4,1}); labels.linspace(1); predictions.linspace(2); @@ -748,9 +748,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_9) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_10) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(1); predictions.linspace(2); @@ -773,9 +773,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_10) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_11) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(1); predictions.linspace(2); @@ -798,9 +798,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_11) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_12) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(1); predictions.linspace(2); @@ -823,9 +823,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_12) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_13) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -848,9 +848,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_13) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_14) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(2); @@ -875,9 +875,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_14) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_15) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(3); @@ -900,9 +900,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_15) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_16) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(3); @@ -929,9 +929,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_16) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_17) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(3); @@ -962,9 +962,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_17) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_18) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,1,1,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,1,1,5}); labels.linspace(1); predictions.linspace(3); @@ -996,9 +996,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_18) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_19) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(1); predictions.linspace(3); @@ -1021,9 +1021,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_19) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_20) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(3); @@ -1046,9 +1046,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_20) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_21) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,1,1}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,1,1}); labels.linspace(1); predictions.linspace(3); @@ -1071,9 +1071,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_21) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_22) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(1); predictions.linspace(3); @@ -1096,9 +1096,9 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_22) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_23) { - auto labels = NDArrayFactory::create('c', {2,3,4,5}); - auto predictions = NDArrayFactory::create('c', {2,3,4,5}); - auto weights = NDArrayFactory::create('c', {2,3,4,5}); + auto labels = NDArrayFactory::create( {2,3,4,5}); + auto predictions = NDArrayFactory::create( {2,3,4,5}); + auto weights = NDArrayFactory::create( {2,3,4,5}); labels.linspace(1); predictions.linspace(3); @@ -1133,10 +1133,10 @@ TEST_F(DeclarableOpsTests2, absolute_difference_loss_test_23) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test1) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3,4}); - auto expected = NDArrayFactory::create('c', {1,3,4}, {-91.5f, -107.5f, -125.5f, -145.5f, -167.5f, -191.5f, -217.5f, -245.5f, -275.5f, -307.5f, -341.5f, -377.5f}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3,4}); + auto expected = NDArrayFactory::create( {1,3,4}, {-91.5f, -107.5f, -125.5f, -145.5f, -167.5f, -191.5f, -217.5f, -245.5f, -275.5f, -307.5f, -341.5f, -377.5f}); labels.linspace(1); predictions.linspace(2); @@ -1159,10 +1159,10 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test2) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,4}); - auto expected = NDArrayFactory::create('c', {2,1,4}, {-3.25f, -4.f, -4.75f, -5.5f, -12.25f, -13.f, -13.75f, -14.5f}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,4}); + auto expected = NDArrayFactory::create( {2,1,4}, {-3.25f, -4.f, -4.75f, -5.5f, -12.25f, -13.f, -13.75f, -14.5f}); labels.linspace(1); weights.assign(0.5); @@ -1186,10 +1186,10 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test3) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); - auto expected = NDArrayFactory::create('c', {2,3,1}, {-2.f, -6.f,-10.f,-14.f,-18.f,-22.f}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); + auto expected = NDArrayFactory::create( {2,3,1}, {-2.f, -6.f,-10.f,-14.f,-18.f,-22.f}); labels.linspace(1); weights.assign(0.5); @@ -1211,10 +1211,10 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test3) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test4) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); - auto expected = NDArrayFactory::create('c', {2,3,1}, {-2.f, -6.f,-10.f,-14.f,-18.f,-22.f}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); + auto expected = NDArrayFactory::create( {2,3,1}, {-2.f, -6.f,-10.f,-14.f,-18.f,-22.f}); labels.linspace(1); weights.assign(0.5); @@ -1237,9 +1237,9 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test5) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,4}); labels.linspace(1); weights.assign(0.5); @@ -1262,9 +1262,9 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test6) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(1); weights.assign(0.5); @@ -1287,9 +1287,9 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test7) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1,4}); labels.linspace(1); weights.assign(0.5); @@ -1312,9 +1312,9 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test8) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); labels.linspace(1); weights.assign(0.5f); @@ -1337,9 +1337,9 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test9) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(1); weights.assign(0.5f); @@ -1362,9 +1362,9 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, cosine_distance_loss_test10) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); labels.linspace(1); weights.assign(0.5f); @@ -1389,10 +1389,10 @@ TEST_F(DeclarableOpsTests2, cosine_distance_loss_test10) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test1) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {1., 0. , 0., 2.5,0., 3.5, 0., 4.5,0., 5.5, 0., 6.5, 0., 7.5, 0., 8.5,0., 9.5,10., 0. ,0.,11.5, 0.,12.5}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {1., 0. , 0., 2.5,0., 3.5, 0., 4.5,0., 5.5, 0., 6.5, 0., 7.5, 0., 8.5,0., 9.5,10., 0. ,0.,11.5, 0.,12.5}); logits.linspace(1); weights.assign(0.5); @@ -1414,10 +1414,10 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test2) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {1., 0. , 0., 2.5,0., 3.5, 0., 4.5,0., 5.5, 0., 6.5, 0., 7.5, 0., 8.5,0., 9.5,10., 0. ,0.,11.5, 0.,12.5}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); + auto expected = NDArrayFactory::create( {2,3,4}, {1., 0. , 0., 2.5,0., 3.5, 0., 4.5,0., 5.5, 0., 6.5, 0., 7.5, 0., 8.5,0., 9.5,10., 0. ,0.,11.5, 0.,12.5}); logits.linspace(1); weights.assign(0.5); @@ -1439,10 +1439,10 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test3) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3,1}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {1., 0. , 0., 2.5,0., 3.5, 0., 4.5,0., 5.5, 0., 6.5, 0., 7.5, 0., 8.5,0., 9.5,10., 0. ,0.,11.5, 0.,12.5}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3,1}); + auto expected = NDArrayFactory::create( {2,3,4}, {1., 0. , 0., 2.5,0., 3.5, 0., 4.5,0., 5.5, 0., 6.5, 0., 7.5, 0., 8.5,0., 9.5,10., 0. ,0.,11.5, 0.,12.5}); logits.linspace(1); weights.assign(0.5); @@ -1464,9 +1464,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test4) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); logits.linspace(1); weights.assign(0.5); @@ -1488,9 +1488,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test5) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); logits.linspace(1); weights.assign(0.5); @@ -1512,9 +1512,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test6) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,1}); logits.linspace(1); weights.assign(0.5); @@ -1536,9 +1536,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test7) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); logits.linspace(1); weights.assign(0.5); @@ -1560,9 +1560,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test8) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); logits.linspace(1); weights.assign(0.5); @@ -1584,9 +1584,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test9) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1,4}); logits.linspace(1); weights.assign(0.5); @@ -1608,9 +1608,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test10) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); logits.linspace(1); weights.assign(0.5); @@ -1632,9 +1632,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test10) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test11) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,4}); logits.linspace(1); weights.assign(0.5); @@ -1656,9 +1656,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test11) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test12) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); logits.linspace(1); weights.assign(0.5); @@ -1684,9 +1684,9 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test12) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, hinge_loss_test13) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); logits.linspace(1); weights.assign(0.); @@ -1708,10 +1708,10 @@ TEST_F(DeclarableOpsTests2, hinge_loss_test13) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test1) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.0425 ,0.0875 ,0.13250001,0.17749999,0.22250001,0.26750001,0.31250003,0.35749999,0.4025 ,0.44749999,0.49249998,0.53750002, 0.58249998,0.6275 ,0.67250001,0.71749997,0.76249999,0.8075 ,0.85250002,0.89749998,0.9425 ,0.98749995,1.03250015,1.0775001}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.0425 ,0.0875 ,0.13250001,0.17749999,0.22250001,0.26750001,0.31250003,0.35749999,0.4025 ,0.44749999,0.49249998,0.53750002, 0.58249998,0.6275 ,0.67250001,0.71749997,0.76249999,0.8075 ,0.85250002,0.89749998,0.9425 ,0.98749995,1.03250015,1.0775001}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1733,10 +1733,10 @@ TEST_F(DeclarableOpsTests2, huber_loss_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test2) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.0425 ,0.0875 ,0.13250001,0.17749999,0.22250001,0.26750001,0.31250003,0.35749999,0.4025 ,0.44749999,0.49249998,0.53750002, 0.58249998,0.6275 ,0.67250001,0.71749997,0.76249999,0.8075 ,0.85250002,0.89749998,0.9425 ,0.98749995,1.03250015,1.0775001}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.0425 ,0.0875 ,0.13250001,0.17749999,0.22250001,0.26750001,0.31250003,0.35749999,0.4025 ,0.44749999,0.49249998,0.53750002, 0.58249998,0.6275 ,0.67250001,0.71749997,0.76249999,0.8075 ,0.85250002,0.89749998,0.9425 ,0.98749995,1.03250015,1.0775001}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1758,10 +1758,10 @@ TEST_F(DeclarableOpsTests2, huber_loss_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test3) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.0425 ,0.0875 ,0.13250001,0.17749999,0.22250001,0.26750001,0.31250003,0.35749999,0.4025 ,0.44749999,0.49249998,0.53750002, 0.58249998,0.6275 ,0.67250001,0.71749997,0.76249999,0.8075 ,0.85250002,0.89749998,0.9425 ,0.98749995,1.03250015,1.0775001}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.0425 ,0.0875 ,0.13250001,0.17749999,0.22250001,0.26750001,0.31250003,0.35749999,0.4025 ,0.44749999,0.49249998,0.53750002, 0.58249998,0.6275 ,0.67250001,0.71749997,0.76249999,0.8075 ,0.85250002,0.89749998,0.9425 ,0.98749995,1.03250015,1.0775001}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1783,9 +1783,9 @@ TEST_F(DeclarableOpsTests2, huber_loss_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test4) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1807,9 +1807,9 @@ TEST_F(DeclarableOpsTests2, huber_loss_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test5) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1831,9 +1831,9 @@ TEST_F(DeclarableOpsTests2, huber_loss_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test6) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1855,9 +1855,9 @@ TEST_F(DeclarableOpsTests2, huber_loss_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test7) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,1}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1879,9 +1879,9 @@ TEST_F(DeclarableOpsTests2, huber_loss_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test8) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1907,9 +1907,9 @@ TEST_F(DeclarableOpsTests2, huber_loss_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test9) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1931,9 +1931,9 @@ TEST_F(DeclarableOpsTests2, huber_loss_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test10) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1955,9 +1955,9 @@ TEST_F(DeclarableOpsTests2, huber_loss_test10) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, huber_loss_test11) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); labels.linspace(0.1, 0.1); predictions.linspace(1); @@ -1983,10 +1983,10 @@ TEST_F(DeclarableOpsTests2, huber_loss_test11) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test1) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {1.60943663, 2.48403668, 3.05256081, 3.40363169, 3.57730675, 3.59525585, 3.46986699, 3.20791793, 2.81228209, 2.28273821, 1.61630058, 0.80721998, -0.15329313, -1.27764463, -2.5828433 , -4.09208679, -5.83734226, -7.8636713 ,-10.23689461,-13.05822182,-16.49509811,-20.85659218,-26.82411766,-36.52717209}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {1.60943663, 2.48403668, 3.05256081, 3.40363169, 3.57730675, 3.59525585, 3.46986699, 3.20791793, 2.81228209, 2.28273821, 1.61630058, 0.80721998, -0.15329313, -1.27764463, -2.5828433 , -4.09208679, -5.83734226, -7.8636713 ,-10.23689461,-13.05822182,-16.49509811,-20.85659218,-26.82411766,-36.52717209}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2008,10 +2008,10 @@ TEST_F(DeclarableOpsTests2, log_loss_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test2) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {1.60943663, 2.48403668, 3.05256081, 3.40363169, 3.57730675, 3.59525585, 3.46986699, 3.20791793, 2.81228209, 2.28273821, 1.61630058, 0.80721998, -0.15329313, -1.27764463, -2.5828433 , -4.09208679, -5.83734226, -7.8636713 ,-10.23689461,-13.05822182,-16.49509811,-20.85659218,-26.82411766,-36.52717209}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {1.60943663, 2.48403668, 3.05256081, 3.40363169, 3.57730675, 3.59525585, 3.46986699, 3.20791793, 2.81228209, 2.28273821, 1.61630058, 0.80721998, -0.15329313, -1.27764463, -2.5828433 , -4.09208679, -5.83734226, -7.8636713 ,-10.23689461,-13.05822182,-16.49509811,-20.85659218,-26.82411766,-36.52717209}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2033,10 +2033,10 @@ TEST_F(DeclarableOpsTests2, log_loss_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test3) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); NDArray weights(sd::DataType::DOUBLE); - auto expected = NDArrayFactory::create('c', {2,3,4}, {1.60943663, 2.48403668, 3.05256081, 3.40363169, 3.57730675, 3.59525585, 3.46986699, 3.20791793, 2.81228209, 2.28273821, 1.61630058, 0.80721998, -0.15329313, -1.27764463, -2.5828433 , -4.09208679, -5.83734226, -7.8636713 ,-10.23689461,-13.05822182,-16.49509811,-20.85659218,-26.82411766,-36.52717209}); + auto expected = NDArrayFactory::create( {2,3,4}, {1.60943663, 2.48403668, 3.05256081, 3.40363169, 3.57730675, 3.59525585, 3.46986699, 3.20791793, 2.81228209, 2.28273821, 1.61630058, 0.80721998, -0.15329313, -1.27764463, -2.5828433 , -4.09208679, -5.83734226, -7.8636713 ,-10.23689461,-13.05822182,-16.49509811,-20.85659218,-26.82411766,-36.52717209}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2058,9 +2058,9 @@ TEST_F(DeclarableOpsTests2, log_loss_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test4) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2082,9 +2082,9 @@ TEST_F(DeclarableOpsTests2, log_loss_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test5) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3,1}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2106,8 +2106,8 @@ TEST_F(DeclarableOpsTests2, log_loss_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test6) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); NDArray weights(sd::DataType::DOUBLE); predictions.linspace(0.04, 0.04); @@ -2130,9 +2130,9 @@ TEST_F(DeclarableOpsTests2, log_loss_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test7) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2154,9 +2154,9 @@ TEST_F(DeclarableOpsTests2, log_loss_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test8) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3,1}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2178,8 +2178,8 @@ TEST_F(DeclarableOpsTests2, log_loss_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test9) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); NDArray weights(sd::DataType::DOUBLE); predictions.linspace(0.04, 0.04); @@ -2202,9 +2202,9 @@ TEST_F(DeclarableOpsTests2, log_loss_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test10) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2230,9 +2230,9 @@ TEST_F(DeclarableOpsTests2, log_loss_test10) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test11) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2254,9 +2254,9 @@ TEST_F(DeclarableOpsTests2, log_loss_test11) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test12) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2278,9 +2278,9 @@ TEST_F(DeclarableOpsTests2, log_loss_test12) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, log_loss_test13) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.04, 0.04); labels.linspace(1); @@ -2305,10 +2305,10 @@ TEST_F(DeclarableOpsTests2, log_loss_test13) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test1) { - auto labels = NDArrayFactory::create('c', {1,3}, {0., 0.5, 1.}); - auto predictions = NDArrayFactory::create('c', {1,3}, {1., 1., 1.}); - auto weights = NDArrayFactory::create('c', {1,1}, {1}); - auto expected = NDArrayFactory::create('c', {1,1}, {1.}); + auto labels = NDArrayFactory::create( {1,3}, {0., 0.5, 1.}); + auto predictions = NDArrayFactory::create( {1,3}, {1., 1., 1.}); + auto weights = NDArrayFactory::create( {1,1}, {1}); + auto expected = NDArrayFactory::create( {1,1}, {1.}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {0}); @@ -2325,10 +2325,10 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test2) { - auto labels = NDArrayFactory::create('c', {10,4}, {-0.5533444483384939, -0.4045807428083095, -0.38990808632111873, -1.3367815555936828, 2.2110825342567204, -0.3322538938773163, 0.5683588435736076, 1.401524673423209, -0.2216208609234102, -0.23645194877057543, -1.9319189398422172, 0.6106128799796062, 1.6973842275926025, -2.8306371397325553E-4, -1.1550401544465256, -0.08357706614294765, -0.27784822018757077, 0.8290894318337857, 1.6484476009013025, -0.7752524785358668, -0.9700596207063842, 3.0809371469543207, -0.23684959888998405, 0.22403535560739518, 0.6146150452128438, -1.1250088686147994, -0.5915314787415693, -0.0944090155356556, 0.7995514825959854, -1.2290496239142903, -1.8329592004926936, -0.1694821152623061, -1.7614978090471403, 0.07929168376086736, 0.4086255139492943, 2.045562727396195, -0.48701853719962834, 0.10304152395720723, -0.8993147347502636, -0.49078404206110715}); - auto predictions = NDArrayFactory::create('c', {10,4}, {-0.5982871220907984, 1.2010665656903237, 0.30243355682445544, -0.2070857400459659, 0.6962389393180044, -0.5878034128580758, 0.8325626284025988, -0.3555823702782838, -0.7099759151434476, 1.7971905051128672, -1.1018498592680859, 0.008705918349147959, -1.713038986676157, 0.5029671900704719, 0.7491261275031563, -0.34800067781360444, -1.3529065441284513, -0.6075230577852321, -0.6153583973120907, 1.6014780660677996, 0.6444219215516616, 0.7925830851904783, -0.5006063079380708, 1.7812300901376552, 0.4736193941708224, 1.411502849640833, 0.9555142545037492, -0.03936687661890644, 1.31661624967917, 0.7344531724786305, 0.8388550872918745, 0.7010030219905558, -0.5442944240155373, 0.4437344837841118, -1.7502823958671712, -1.9271369730241665, 0.9256612923554498, 1.9065401403827893, 0.42450175148842717, -0.11783183865542822}); - auto weights = NDArrayFactory::create('c', {1,1}, {1}); - auto expected = NDArrayFactory::create('c', {10,1}, {1.9665822560405073, 3.806679563402927, 6.185624212589066, 20.237895345263905, 16.739700814450472, 13.655430201400929, 6.473256392322658, 3.9337379694106325, 22.509455553531062, 1.4741234749089487}); + auto labels = NDArrayFactory::create( {10,4}, {-0.5533444483384939, -0.4045807428083095, -0.38990808632111873, -1.3367815555936828, 2.2110825342567204, -0.3322538938773163, 0.5683588435736076, 1.401524673423209, -0.2216208609234102, -0.23645194877057543, -1.9319189398422172, 0.6106128799796062, 1.6973842275926025, -2.8306371397325553E-4, -1.1550401544465256, -0.08357706614294765, -0.27784822018757077, 0.8290894318337857, 1.6484476009013025, -0.7752524785358668, -0.9700596207063842, 3.0809371469543207, -0.23684959888998405, 0.22403535560739518, 0.6146150452128438, -1.1250088686147994, -0.5915314787415693, -0.0944090155356556, 0.7995514825959854, -1.2290496239142903, -1.8329592004926936, -0.1694821152623061, -1.7614978090471403, 0.07929168376086736, 0.4086255139492943, 2.045562727396195, -0.48701853719962834, 0.10304152395720723, -0.8993147347502636, -0.49078404206110715}); + auto predictions = NDArrayFactory::create( {10,4}, {-0.5982871220907984, 1.2010665656903237, 0.30243355682445544, -0.2070857400459659, 0.6962389393180044, -0.5878034128580758, 0.8325626284025988, -0.3555823702782838, -0.7099759151434476, 1.7971905051128672, -1.1018498592680859, 0.008705918349147959, -1.713038986676157, 0.5029671900704719, 0.7491261275031563, -0.34800067781360444, -1.3529065441284513, -0.6075230577852321, -0.6153583973120907, 1.6014780660677996, 0.6444219215516616, 0.7925830851904783, -0.5006063079380708, 1.7812300901376552, 0.4736193941708224, 1.411502849640833, 0.9555142545037492, -0.03936687661890644, 1.31661624967917, 0.7344531724786305, 0.8388550872918745, 0.7010030219905558, -0.5442944240155373, 0.4437344837841118, -1.7502823958671712, -1.9271369730241665, 0.9256612923554498, 1.9065401403827893, 0.42450175148842717, -0.11783183865542822}); + auto weights = NDArrayFactory::create( {1,1}, {1}); + auto expected = NDArrayFactory::create( {10,1}, {1.9665822560405073, 3.806679563402927, 6.185624212589066, 20.237895345263905, 16.739700814450472, 13.655430201400929, 6.473256392322658, 3.9337379694106325, 22.509455553531062, 1.4741234749089487}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {0}); @@ -2345,10 +2345,10 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test3) { - auto labels = NDArrayFactory::create('c', {10,4}, {0.9165069946629816, 0.166426191704143, 0.13873357227527264, -0.5986162145785378, 0.4763504550662989, 1.2259816058633732, -0.4653205175596491, -1.7447031523970766, 1.349525448316014, 2.433089865629357, -2.54858150221601, -0.6060282162911894, 0.2625377104613349, -0.5007107584102752, 0.9576065700956302, -0.35787770401703584, -0.2608532564720665, 0.65688909921908, -0.1705876431948587, 1.2052884124800949, -0.976783296084278, 1.1163504624016534, -0.10545986164581109, -1.0632271027867568, 0.26460250034147065, -0.2299030354616135, -0.418989869909565, 0.7954060747536896, 0.37934127200736545, 0.8550487997440007, 0.2984909806904042, 0.1329065864221682, 1.478600294413247, 0.05421279873635542, -1.0552978360622536, -0.743808639782604, -1.3371851696151362, 2.7752972493355963, -1.6107187893743549, 1.5030902829432997}); - auto predictions = NDArrayFactory::create('c', {10,4}, {-3.398114657004427, 0.40587455906092945, 1.587706448479039, 0.27394335709083156, 1.0463122023764637, -0.6552570653663903, -0.26929204111727345, -2.710461824817806, 0.9141296064806023, -0.7632270851454939, -0.4077235519855459, 0.5555107559107472, -0.6776140976423888, 1.2422270521180823, 0.2372445100636733, 0.08522757123963924, -2.708523129389936, 0.09738215252575103, -0.8797837670498875, 0.8714091607391934, -0.628958978867591, 0.49380147969660415, -0.6663578349373824, 0.14570184758600965, -0.4710388511314244, 0.7708214742640788, 0.06836525442683238, -1.2786368797129386, -0.5077556003990912, 0.45383439418987664, 1.1686877788409553, -0.3078567969393852, -2.2375730522738198, 1.0108200459611192, 0.21955367964983963, 1.2268011099696847, 0.48061693077695455, -0.5306373077054981, 1.5005367299570744, -2.1005486985463966}); - auto weights = NDArrayFactory::create('c', {10,1}, {0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0}); - auto expected = NDArrayFactory::create('c', {10,1}, {0.0, 0.0, 21.748459867092496, 6.090581568657439, 7.51315897553838, 5.999534225166869, 22.58050883748054, 6.8600435676788605, 107.5976928688877, 191.56864939172544}); + auto labels = NDArrayFactory::create( {10,4}, {0.9165069946629816, 0.166426191704143, 0.13873357227527264, -0.5986162145785378, 0.4763504550662989, 1.2259816058633732, -0.4653205175596491, -1.7447031523970766, 1.349525448316014, 2.433089865629357, -2.54858150221601, -0.6060282162911894, 0.2625377104613349, -0.5007107584102752, 0.9576065700956302, -0.35787770401703584, -0.2608532564720665, 0.65688909921908, -0.1705876431948587, 1.2052884124800949, -0.976783296084278, 1.1163504624016534, -0.10545986164581109, -1.0632271027867568, 0.26460250034147065, -0.2299030354616135, -0.418989869909565, 0.7954060747536896, 0.37934127200736545, 0.8550487997440007, 0.2984909806904042, 0.1329065864221682, 1.478600294413247, 0.05421279873635542, -1.0552978360622536, -0.743808639782604, -1.3371851696151362, 2.7752972493355963, -1.6107187893743549, 1.5030902829432997}); + auto predictions = NDArrayFactory::create( {10,4}, {-3.398114657004427, 0.40587455906092945, 1.587706448479039, 0.27394335709083156, 1.0463122023764637, -0.6552570653663903, -0.26929204111727345, -2.710461824817806, 0.9141296064806023, -0.7632270851454939, -0.4077235519855459, 0.5555107559107472, -0.6776140976423888, 1.2422270521180823, 0.2372445100636733, 0.08522757123963924, -2.708523129389936, 0.09738215252575103, -0.8797837670498875, 0.8714091607391934, -0.628958978867591, 0.49380147969660415, -0.6663578349373824, 0.14570184758600965, -0.4710388511314244, 0.7708214742640788, 0.06836525442683238, -1.2786368797129386, -0.5077556003990912, 0.45383439418987664, 1.1686877788409553, -0.3078567969393852, -2.2375730522738198, 1.0108200459611192, 0.21955367964983963, 1.2268011099696847, 0.48061693077695455, -0.5306373077054981, 1.5005367299570744, -2.1005486985463966}); + auto weights = NDArrayFactory::create( {10,1}, {0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0}); + auto expected = NDArrayFactory::create( {10,1}, {0.0, 0.0, 21.748459867092496, 6.090581568657439, 7.51315897553838, 5.999534225166869, 22.58050883748054, 6.8600435676788605, 107.5976928688877, 191.56864939172544}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {0}); @@ -2365,9 +2365,9 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test4) { - auto labels = NDArrayFactory::create('c', {10,4}, {-1.9540657282602247, -0.37099621218123746, 0.24959541842365968, 0.4125896396216978, -0.8661959659606203, 0.3651479206362867, -1.7475031047706964, -1.0962133982440159, 0.8451229874730279, 0.6876932162478913, 1.2598782790596628, 0.9372328828104118, 1.383555504464105, -0.816048166961237, 0.009041816630426176, -0.004376554457540983, -0.2386352931506252, -0.6494407817111416, 1.7888273635934742, -1.2157303560822368, -0.2446697859467434, -0.3040881765177774, -0.25843499040765916, -0.16479617511053568, 1.8063435075905592, 0.36002291874022285, -0.43317974028771883, 1.070086390817373, -1.0788479808458253, -0.3364318348487324, -0.859106579072977, 0.43984270049845064, -0.23662331183489546, -1.263417124724063, -0.3123732566483939, -0.125249623799724, -1.951308433393268, -0.4925779190927575, -1.081735149025745, -1.9910331435034687}); - auto predictions = NDArrayFactory::create('c', {10,4}, {-1.7053977111021588, 1.7704125629388408, -0.0876171627499475, 0.9428762101237441, 0.9080108618240852, -0.478732892339118, -0.8189639230649537, 1.3359668242925342, -0.07499867017894829, 0.6169780756804321, -1.1891117691972148, -0.319354110980483, -1.4287263424900434, -0.3556443786879834, 0.6389682186473912, 0.3161742985911756, 0.9047447733840537, -1.9974117226910393, 2.1067775658502326, 0.17035521714679938, -1.1393894489992826, 1.4570837278971687, 0.6312249731754015, -0.42793125692777634, -1.0685964336386844, -0.3590636581851568, -0.19147354841437528, -0.10128937266756889, -0.5714869078294972, 0.2682604831358205, 0.6608524575561853, 0.35658907103040305, -0.7053263272861181, -0.6318441042427088, 2.131292677079184, -0.3624048087249232, 1.6008209804575328, 0.1245980660014825, 1.0685424462364297, -0.5672594432046791}); - auto weights = NDArrayFactory::create('c', {1,1}, {1}); + auto labels = NDArrayFactory::create( {10,4}, {-1.9540657282602247, -0.37099621218123746, 0.24959541842365968, 0.4125896396216978, -0.8661959659606203, 0.3651479206362867, -1.7475031047706964, -1.0962133982440159, 0.8451229874730279, 0.6876932162478913, 1.2598782790596628, 0.9372328828104118, 1.383555504464105, -0.816048166961237, 0.009041816630426176, -0.004376554457540983, -0.2386352931506252, -0.6494407817111416, 1.7888273635934742, -1.2157303560822368, -0.2446697859467434, -0.3040881765177774, -0.25843499040765916, -0.16479617511053568, 1.8063435075905592, 0.36002291874022285, -0.43317974028771883, 1.070086390817373, -1.0788479808458253, -0.3364318348487324, -0.859106579072977, 0.43984270049845064, -0.23662331183489546, -1.263417124724063, -0.3123732566483939, -0.125249623799724, -1.951308433393268, -0.4925779190927575, -1.081735149025745, -1.9910331435034687}); + auto predictions = NDArrayFactory::create( {10,4}, {-1.7053977111021588, 1.7704125629388408, -0.0876171627499475, 0.9428762101237441, 0.9080108618240852, -0.478732892339118, -0.8189639230649537, 1.3359668242925342, -0.07499867017894829, 0.6169780756804321, -1.1891117691972148, -0.319354110980483, -1.4287263424900434, -0.3556443786879834, 0.6389682186473912, 0.3161742985911756, 0.9047447733840537, -1.9974117226910393, 2.1067775658502326, 0.17035521714679938, -1.1393894489992826, 1.4570837278971687, 0.6312249731754015, -0.42793125692777634, -1.0685964336386844, -0.3590636581851568, -0.19147354841437528, -0.10128937266756889, -0.5714869078294972, 0.2682604831358205, 0.6608524575561853, 0.35658907103040305, -0.7053263272861181, -0.6318441042427088, 2.131292677079184, -0.3624048087249232, 1.6008209804575328, 0.1245980660014825, 1.0685424462364297, -0.5672594432046791}); + auto weights = NDArrayFactory::create( {1,1}, {1}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {1}); @@ -2384,9 +2384,9 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test5) { - auto labels = NDArrayFactory::create('c', {10,4}, {0.9165069946629816, 0.166426191704143, 0.13873357227527264, -0.5986162145785378, 0.4763504550662989, 1.2259816058633732, -0.4653205175596491, -1.7447031523970766, 1.349525448316014, 2.433089865629357, -2.54858150221601, -0.6060282162911894, 0.2625377104613349, -0.5007107584102752, 0.9576065700956302, -0.35787770401703584, -0.2608532564720665, 0.65688909921908, -0.1705876431948587, 1.2052884124800949, -0.976783296084278, 1.1163504624016534, -0.10545986164581109, -1.0632271027867568, 0.26460250034147065, -0.2299030354616135, -0.418989869909565, 0.7954060747536896, 0.37934127200736545, 0.8550487997440007, 0.2984909806904042, 0.1329065864221682, 1.478600294413247, 0.05421279873635542, -1.0552978360622536, -0.743808639782604, -1.3371851696151362, 2.7752972493355963, -1.6107187893743549, 1.5030902829432997}); - auto predictions = NDArrayFactory::create('c', {10,4}, {-3.398114657004427, 0.40587455906092945, 1.587706448479039, 0.27394335709083156, 1.0463122023764637, -0.6552570653663903, -0.26929204111727345, -2.710461824817806, 0.9141296064806023, -0.7632270851454939, -0.4077235519855459, 0.5555107559107472, -0.6776140976423888, 1.2422270521180823, 0.2372445100636733, 0.08522757123963924, -2.708523129389936, 0.09738215252575103, -0.8797837670498875, 0.8714091607391934, -0.628958978867591, 0.49380147969660415, -0.6663578349373824, 0.14570184758600965, -0.4710388511314244, 0.7708214742640788, 0.06836525442683238, -1.2786368797129386, -0.5077556003990912, 0.45383439418987664, 1.1686877788409553, -0.3078567969393852, -2.2375730522738198, 1.0108200459611192, 0.21955367964983963, 1.2268011099696847, 0.48061693077695455, -0.5306373077054981, 1.5005367299570744, -2.1005486985463966}); - auto weights = NDArrayFactory::create('c', {1,1}, {1}); + auto labels = NDArrayFactory::create( {10,4}, {0.9165069946629816, 0.166426191704143, 0.13873357227527264, -0.5986162145785378, 0.4763504550662989, 1.2259816058633732, -0.4653205175596491, -1.7447031523970766, 1.349525448316014, 2.433089865629357, -2.54858150221601, -0.6060282162911894, 0.2625377104613349, -0.5007107584102752, 0.9576065700956302, -0.35787770401703584, -0.2608532564720665, 0.65688909921908, -0.1705876431948587, 1.2052884124800949, -0.976783296084278, 1.1163504624016534, -0.10545986164581109, -1.0632271027867568, 0.26460250034147065, -0.2299030354616135, -0.418989869909565, 0.7954060747536896, 0.37934127200736545, 0.8550487997440007, 0.2984909806904042, 0.1329065864221682, 1.478600294413247, 0.05421279873635542, -1.0552978360622536, -0.743808639782604, -1.3371851696151362, 2.7752972493355963, -1.6107187893743549, 1.5030902829432997}); + auto predictions = NDArrayFactory::create( {10,4}, {-3.398114657004427, 0.40587455906092945, 1.587706448479039, 0.27394335709083156, 1.0463122023764637, -0.6552570653663903, -0.26929204111727345, -2.710461824817806, 0.9141296064806023, -0.7632270851454939, -0.4077235519855459, 0.5555107559107472, -0.6776140976423888, 1.2422270521180823, 0.2372445100636733, 0.08522757123963924, -2.708523129389936, 0.09738215252575103, -0.8797837670498875, 0.8714091607391934, -0.628958978867591, 0.49380147969660415, -0.6663578349373824, 0.14570184758600965, -0.4710388511314244, 0.7708214742640788, 0.06836525442683238, -1.2786368797129386, -0.5077556003990912, 0.45383439418987664, 1.1686877788409553, -0.3078567969393852, -2.2375730522738198, 1.0108200459611192, 0.21955367964983963, 1.2268011099696847, 0.48061693077695455, -0.5306373077054981, 1.5005367299570744, -2.1005486985463966}); + auto weights = NDArrayFactory::create( {1,1}, {1}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {2}); @@ -2403,9 +2403,9 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test6) { - auto labels = NDArrayFactory::create('c', {10,4}, {0.7712557146220891, 0.37344724586647443, -1.465944048516541, 0.3226845250222374, 0.3153238532645865, -0.6453963287132424, -1.7695663855309438, -0.31350813714835285, 0.6209850696184357, -1.0632582557661083, 0.8971205782356552, -0.7361143357044725, 0.4349813432397299, 1.1012674501462072, -1.846028584047857, -0.04711049067212126, 0.3511384383511822, -1.5908669452488973, 0.6271232025632083, -0.5370025878354387, 0.09775855957778733, 0.8465118033582384, -0.5118005514773271, -0.8215749768059044, -0.5154271246850248, -0.6614138367887438, -2.721743038982485, -0.20634785234624944, 1.074134378795222, -0.515671736473577, 0.33574452224656587, -0.4258992514621533, -1.6946210614398756, 2.0853105493575246, -0.23223717047374226, -1.3145231337861756, -0.307739072607248, -0.13713627422120406, -0.05615471338688221, -0.7031780205843188}); - auto predictions = NDArrayFactory::create('c', {10,4}, {-0.8253096544930751, 0.81324545672996, 1.2530858908292535, 0.6881658781201572, 0.11626814971230247, 0.810096847233213, -0.41726775033902014, -0.07246036077805246, -0.3491325803119671, -0.7381717490678714, -1.258884944199858, 2.6195012275145992, 0.3241066697239042, -1.3306435333372646, -0.3413119919683999, 0.13167356361127197, -0.3992424507051653, 0.14454163796541403, -2.4931643208872316, 1.8740911656038526, -2.3404306490682956, -0.8036392545918644, -1.9726177395274997, -0.20128619801149433, -1.0680828820641624, -0.6228179015361869, 1.0785520122486962, -0.26148573195062036, -0.9154287856620913, 0.6612224269248097, -0.21735407368781667, 0.5584864652543093, 1.0208212201167435, -0.7560947201084579, -0.9092906572495081, 0.47525819203475833, 1.2215678456801444, -0.39319465979983964, 1.9435677135606038, 1.4540100039010526}); - auto weights = NDArrayFactory::create('c', {1,1}, {1}); + auto labels = NDArrayFactory::create( {10,4}, {0.7712557146220891, 0.37344724586647443, -1.465944048516541, 0.3226845250222374, 0.3153238532645865, -0.6453963287132424, -1.7695663855309438, -0.31350813714835285, 0.6209850696184357, -1.0632582557661083, 0.8971205782356552, -0.7361143357044725, 0.4349813432397299, 1.1012674501462072, -1.846028584047857, -0.04711049067212126, 0.3511384383511822, -1.5908669452488973, 0.6271232025632083, -0.5370025878354387, 0.09775855957778733, 0.8465118033582384, -0.5118005514773271, -0.8215749768059044, -0.5154271246850248, -0.6614138367887438, -2.721743038982485, -0.20634785234624944, 1.074134378795222, -0.515671736473577, 0.33574452224656587, -0.4258992514621533, -1.6946210614398756, 2.0853105493575246, -0.23223717047374226, -1.3145231337861756, -0.307739072607248, -0.13713627422120406, -0.05615471338688221, -0.7031780205843188}); + auto predictions = NDArrayFactory::create( {10,4}, {-0.8253096544930751, 0.81324545672996, 1.2530858908292535, 0.6881658781201572, 0.11626814971230247, 0.810096847233213, -0.41726775033902014, -0.07246036077805246, -0.3491325803119671, -0.7381717490678714, -1.258884944199858, 2.6195012275145992, 0.3241066697239042, -1.3306435333372646, -0.3413119919683999, 0.13167356361127197, -0.3992424507051653, 0.14454163796541403, -2.4931643208872316, 1.8740911656038526, -2.3404306490682956, -0.8036392545918644, -1.9726177395274997, -0.20128619801149433, -1.0680828820641624, -0.6228179015361869, 1.0785520122486962, -0.26148573195062036, -0.9154287856620913, 0.6612224269248097, -0.21735407368781667, 0.5584864652543093, 1.0208212201167435, -0.7560947201084579, -0.9092906572495081, 0.47525819203475833, 1.2215678456801444, -0.39319465979983964, 1.9435677135606038, 1.4540100039010526}); + auto weights = NDArrayFactory::create( {1,1}, {1}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {3}); @@ -2422,9 +2422,9 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test7) { - auto labels = NDArrayFactory::create('c', {10,4}, {-0.06125002348040258, 0.5143643450377119, 2.6790723358660036, -0.8032552006036418, -2.4374371040644163, -0.1562964773317163, -1.3957988654288038, 1.2791626503391635, -1.433421873294552, -1.1819478586737284, 0.05162930965054662, -0.538650473505593, -0.548171720093084, -0.3103900587344872, -2.3955103171953342, 0.7127238680062526, 0.7182079438418053, 1.1842662402382182, 0.09585189676958715, 0.9276146067349225, 0.7856673461867428, 0.41368195133354113, -0.2939280190178078, -2.400566355562181, -1.1841519118039245, -1.066170501847581, -0.9274507409610022, 1.7671863041813334, -1.2849985781031494, -1.275990164491566, -0.8866824403466698, -0.6074077385015517, 0.7647344603897107, -1.048099070426831, 0.9433828938345293, -0.5591415819237762, 1.7962773615541947, -0.42365710367758247, -0.0385518907389571, -1.109959713481321}); - auto predictions = NDArrayFactory::create('c', {10,4}, {-0.7445687252538243, 0.2293875300325241, -1.0231630280206505, -0.18532545069458992, -0.07797403344353356, -0.9132035669873787, 0.9352296415512886, -1.7406458535354787, 0.8578334648119594, -0.6186274065269556, 0.4874824473654153, -0.9285817343788997, 0.1654680500853023, -0.6371334533926012, 1.3115245864160707, -2.072558735678832, 0.660795731844733, -0.34942292767044864, 0.05787182311194333, -0.12939210444705632, -0.6457028552461069, -0.6048992126598505, -0.17179604529778109, 1.292989642826032, -0.28867767615688045, 0.7635565516046265, -1.5464151753137487, -1.273368390129285, -1.074046012825826, -0.3534580692302915, 0.5757285568118223, 1.823271242883469, 0.31618576929075215, 0.5422847605415213, -0.7836698021860683, -0.6292022623165172, 2.1114596721927508, 0.4634986528550097, 0.08922001427846013, 1.5767749644913223}); - auto weights = NDArrayFactory::create('c', {10,1}, {0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0}); + auto labels = NDArrayFactory::create( {10,4}, {-0.06125002348040258, 0.5143643450377119, 2.6790723358660036, -0.8032552006036418, -2.4374371040644163, -0.1562964773317163, -1.3957988654288038, 1.2791626503391635, -1.433421873294552, -1.1819478586737284, 0.05162930965054662, -0.538650473505593, -0.548171720093084, -0.3103900587344872, -2.3955103171953342, 0.7127238680062526, 0.7182079438418053, 1.1842662402382182, 0.09585189676958715, 0.9276146067349225, 0.7856673461867428, 0.41368195133354113, -0.2939280190178078, -2.400566355562181, -1.1841519118039245, -1.066170501847581, -0.9274507409610022, 1.7671863041813334, -1.2849985781031494, -1.275990164491566, -0.8866824403466698, -0.6074077385015517, 0.7647344603897107, -1.048099070426831, 0.9433828938345293, -0.5591415819237762, 1.7962773615541947, -0.42365710367758247, -0.0385518907389571, -1.109959713481321}); + auto predictions = NDArrayFactory::create( {10,4}, {-0.7445687252538243, 0.2293875300325241, -1.0231630280206505, -0.18532545069458992, -0.07797403344353356, -0.9132035669873787, 0.9352296415512886, -1.7406458535354787, 0.8578334648119594, -0.6186274065269556, 0.4874824473654153, -0.9285817343788997, 0.1654680500853023, -0.6371334533926012, 1.3115245864160707, -2.072558735678832, 0.660795731844733, -0.34942292767044864, 0.05787182311194333, -0.12939210444705632, -0.6457028552461069, -0.6048992126598505, -0.17179604529778109, 1.292989642826032, -0.28867767615688045, 0.7635565516046265, -1.5464151753137487, -1.273368390129285, -1.074046012825826, -0.3534580692302915, 0.5757285568118223, 1.823271242883469, 0.31618576929075215, 0.5422847605415213, -0.7836698021860683, -0.6292022623165172, 2.1114596721927508, 0.4634986528550097, 0.08922001427846013, 1.5767749644913223}); + auto weights = NDArrayFactory::create( {10,1}, {0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {1}); @@ -2441,9 +2441,9 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test8) { - auto labels = NDArrayFactory::create('c', {10,4}, {1.2003157672694111, -1.0738078620687983, 1.4513396266923826, 0.5753935722952708, -0.5424028602429585, 0.9816221437385002, -1.0566397385428794, 1.503481308203513, -0.6543147953583112, 1.7453669976827346, -0.1557689124924227, 0.3387794658137257, -1.2306868494328145, -0.3299042398395769, 0.026464968146954395, -1.5077479623528403, -0.27514168845621795, 0.18739335150879793, 1.7319910646645431, 1.5228099405663476, 0.8522684742808536, 0.2362049362675063, 0.2610756525241469, 0.457998065505686, -2.7342179885912623, -0.10968795695808314, 0.581598742956297, -1.9309885922934567, -1.5775788440607954, -0.04254899350225641, -0.3125858556254039, -1.1328154327730207, 0.00566243314780096, 0.8492052576274621, 0.05945202212214481, 1.4976918834497108, 0.8869512918387292, 0.4014181932175132, -0.015512552855187248, -1.3609667909108454}); - auto predictions = NDArrayFactory::create('c', {10,4}, {-1.1088399463364795, 0.09302972835006071, 0.033839927431215555, -0.39567507675572494, 0.8269497207597863, 1.111162272517752, 0.4930937252630912, -1.4561668998323452, 0.9417715392862969, -1.0553855492735509, 0.05848285303876081, 0.8852337518047972, -0.7472824481835305, 0.404906922583895, -0.2198309547562547, 1.9536515925189717, 0.8165036568007779, -0.19524282774410398, -0.09111693087754393, 1.1604245932512238, -0.6243762858131077, 1.4297003275591034, -0.17220079411538428, -2.3139504326793032, 0.3839796486999712, 2.0287791964679234, 0.1534441713632995, -0.6062103319229825, -0.4965880982906036, -0.373907747810053, -1.6566345746154432, 0.17534987728494222, -1.6713458890334796, 1.254628987947714, 1.914596591838086, -1.0816010467183583, 0.25033738231939673, -1.605752685708275, 1.1029112741353981, 0.3237822320282494}); - auto weights = NDArrayFactory::create('c', {10,1}, {0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0}); + auto labels = NDArrayFactory::create( {10,4}, {1.2003157672694111, -1.0738078620687983, 1.4513396266923826, 0.5753935722952708, -0.5424028602429585, 0.9816221437385002, -1.0566397385428794, 1.503481308203513, -0.6543147953583112, 1.7453669976827346, -0.1557689124924227, 0.3387794658137257, -1.2306868494328145, -0.3299042398395769, 0.026464968146954395, -1.5077479623528403, -0.27514168845621795, 0.18739335150879793, 1.7319910646645431, 1.5228099405663476, 0.8522684742808536, 0.2362049362675063, 0.2610756525241469, 0.457998065505686, -2.7342179885912623, -0.10968795695808314, 0.581598742956297, -1.9309885922934567, -1.5775788440607954, -0.04254899350225641, -0.3125858556254039, -1.1328154327730207, 0.00566243314780096, 0.8492052576274621, 0.05945202212214481, 1.4976918834497108, 0.8869512918387292, 0.4014181932175132, -0.015512552855187248, -1.3609667909108454}); + auto predictions = NDArrayFactory::create( {10,4}, {-1.1088399463364795, 0.09302972835006071, 0.033839927431215555, -0.39567507675572494, 0.8269497207597863, 1.111162272517752, 0.4930937252630912, -1.4561668998323452, 0.9417715392862969, -1.0553855492735509, 0.05848285303876081, 0.8852337518047972, -0.7472824481835305, 0.404906922583895, -0.2198309547562547, 1.9536515925189717, 0.8165036568007779, -0.19524282774410398, -0.09111693087754393, 1.1604245932512238, -0.6243762858131077, 1.4297003275591034, -0.17220079411538428, -2.3139504326793032, 0.3839796486999712, 2.0287791964679234, 0.1534441713632995, -0.6062103319229825, -0.4965880982906036, -0.373907747810053, -1.6566345746154432, 0.17534987728494222, -1.6713458890334796, 1.254628987947714, 1.914596591838086, -1.0816010467183583, 0.25033738231939673, -1.605752685708275, 1.1029112741353981, 0.3237822320282494}); + auto weights = NDArrayFactory::create( {10,1}, {0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {2}); @@ -2460,9 +2460,9 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test9) { - auto labels = NDArrayFactory::create('c', {10,4}, {0.054445708809271035, 2.107634671009908, -0.7906421810578572, -1.075840781788665, 0.11881403008710377, 0.8444812915085994, -0.305754504070933, 1.6429935026781464, 0.8155105031719394, 0.04900134907242568, 0.6847004530975871, 0.23315535615893132, 0.17011663306483038, -1.1865513655938285, 1.5931597087896407, -1.7937514075547496, -0.036695307704292295, -1.6416280650778925, 1.130578912176608, -1.1267224667674058, -0.8690453889645526, 0.6717944721406133, 0.0850200492927782, 1.1294419289013125, 0.2154793028698133, 0.4557382556428947, -0.7343674069166273, -0.20013117860162175, -0.6096905108192562, 0.42022878041905926, -0.7446306649741321, 0.01724811509597817, 1.843091605690758, 1.008879504632424, 1.198292190689489, -0.4474144618813475, 0.25202981742888664, 0.07036737843407408, 1.2400630276444486, -1.1072825235557615}); - auto predictions = NDArrayFactory::create('c', {10,4}, {-1.6788168943811437, 1.1823653279081687, -0.3580541857004183, -0.4449970504370699, -1.3031645333940127, 0.5755013195969282, -0.7997343141774744, -0.8806735270004084, 0.9705277499376251, -1.6360067944580943, 0.12579369136710156, 1.0525902242414313, -1.625751312422252, -0.03900152587147075, 0.4112500942756277, 0.6589999986358094, 0.6144107111689617, 2.8561269030217264, 1.5299963640392247, -0.314093051147705, 1.6523278218751989, -0.5504653447714114, 0.53395260877978, 0.409795577698306, 0.4466825218051794, 1.2382059301630401, 0.4834869732526594, -0.635409128905636, -1.9343816841697272, -0.4192523056060229, -1.0662979055059818, 0.4270901960618144, -0.7391311480757151, -0.8268168961897452, -1.0855715553457785, -9.410401291588706E-4, -0.7721838774717349, 0.4784019579457375, -0.6979798841469268, -0.319729737118584}); - auto weights = NDArrayFactory::create('c', {10,1}, {0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0}); + auto labels = NDArrayFactory::create( {10,4}, {0.054445708809271035, 2.107634671009908, -0.7906421810578572, -1.075840781788665, 0.11881403008710377, 0.8444812915085994, -0.305754504070933, 1.6429935026781464, 0.8155105031719394, 0.04900134907242568, 0.6847004530975871, 0.23315535615893132, 0.17011663306483038, -1.1865513655938285, 1.5931597087896407, -1.7937514075547496, -0.036695307704292295, -1.6416280650778925, 1.130578912176608, -1.1267224667674058, -0.8690453889645526, 0.6717944721406133, 0.0850200492927782, 1.1294419289013125, 0.2154793028698133, 0.4557382556428947, -0.7343674069166273, -0.20013117860162175, -0.6096905108192562, 0.42022878041905926, -0.7446306649741321, 0.01724811509597817, 1.843091605690758, 1.008879504632424, 1.198292190689489, -0.4474144618813475, 0.25202981742888664, 0.07036737843407408, 1.2400630276444486, -1.1072825235557615}); + auto predictions = NDArrayFactory::create( {10,4}, {-1.6788168943811437, 1.1823653279081687, -0.3580541857004183, -0.4449970504370699, -1.3031645333940127, 0.5755013195969282, -0.7997343141774744, -0.8806735270004084, 0.9705277499376251, -1.6360067944580943, 0.12579369136710156, 1.0525902242414313, -1.625751312422252, -0.03900152587147075, 0.4112500942756277, 0.6589999986358094, 0.6144107111689617, 2.8561269030217264, 1.5299963640392247, -0.314093051147705, 1.6523278218751989, -0.5504653447714114, 0.53395260877978, 0.409795577698306, 0.4466825218051794, 1.2382059301630401, 0.4834869732526594, -0.635409128905636, -1.9343816841697272, -0.4192523056060229, -1.0662979055059818, 0.4270901960618144, -0.7391311480757151, -0.8268168961897452, -1.0855715553457785, -9.410401291588706E-4, -0.7721838774717349, 0.4784019579457375, -0.6979798841469268, -0.319729737118584}); + auto weights = NDArrayFactory::create( {10,1}, {0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0}); sd::ops::mean_pairwssqerr_loss op; auto results = op.evaluate({&predictions, &weights, &labels}, {}, {3}); @@ -2479,10 +2479,10 @@ TEST_F(DeclarableOpsTests2, mean_pairwssqerr_loss_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test1) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.125, 0.5, 1.125, 2., 3.125, 4.5, 6.125, 8.,10.125,12.5,15.125,18.,21.125,24.5,28.125,32.,36.125,40.5,45.125,50.,55.125,60.5,66.125,72.}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.125, 0.5, 1.125, 2., 3.125, 4.5, 6.125, 8.,10.125,12.5,15.125,18.,21.125,24.5,28.125,32.,36.125,40.5,45.125,50.,55.125,60.5,66.125,72.}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2504,10 +2504,10 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test2) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.125, 0.5, 1.125, 2., 3.125, 4.5, 6.125, 8.,10.125,12.5,15.125,18.,21.125,24.5,28.125,32.,36.125,40.5,45.125,50.,55.125,60.5,66.125,72.}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.125, 0.5, 1.125, 2., 3.125, 4.5, 6.125, 8.,10.125,12.5,15.125,18.,21.125,24.5,28.125,32.,36.125,40.5,45.125,50.,55.125,60.5,66.125,72.}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2529,10 +2529,10 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test3) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,1}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.125, 0.5, 1.125, 2., 3.125, 4.5, 6.125, 8.,10.125,12.5,15.125,18.,21.125,24.5,28.125,32.,36.125,40.5,45.125,50.,55.125,60.5,66.125,72.}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,1}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.125, 0.5, 1.125, 2., 3.125, 4.5, 6.125, 8.,10.125,12.5,15.125,18.,21.125,24.5,28.125,32.,36.125,40.5,45.125,50.,55.125,60.5,66.125,72.}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2554,10 +2554,10 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test4) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0., 0., 0., 0., 3.125, 4.5, 6.125, 8.,10.125,12.5,15.125,18.,21.125,24.5,28.125,32.,36.125,40.5,45.125,50.,55.125,60.5,66.125,72.}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {0., 0., 0., 0., 3.125, 4.5, 6.125, 8.,10.125,12.5,15.125,18.,21.125,24.5,28.125,32.,36.125,40.5,45.125,50.,55.125,60.5,66.125,72.}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2583,9 +2583,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test5) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2607,9 +2607,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test6) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1,4}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2631,9 +2631,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test7) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2655,9 +2655,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test8) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2683,9 +2683,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test9) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2707,9 +2707,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test10) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3,1}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2731,9 +2731,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test10) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test11) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2755,9 +2755,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test11) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test12) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2782,9 +2782,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test12) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test13) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2806,9 +2806,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test13) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test14) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,4}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,4}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2830,9 +2830,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test14) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test15) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2854,9 +2854,9 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test15) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test16) { - auto labels = NDArrayFactory::create('c', {2,3,4}); - auto predictions = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); + auto labels = NDArrayFactory::create( {2,3,4}); + auto predictions = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); predictions.linspace(0.5, 0.5); labels.linspace(1); @@ -2881,10 +2881,10 @@ TEST_F(DeclarableOpsTests2, mean_sqerr_loss_test16) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test1) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.37219834,0.29906943,0.27717763,0.45650762,0.23703849,0.51874399,0.20159303,0.58555031,0.17057693,0.65663081,0.14366767,0.73164123,0.12050423,0.81020868,0.10070664,0.89195037,0.08389302,0.97648883,1.01969337,0.06346401,0.05775976,1.15254164,0.04777273,1.2434181 }); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.37219834,0.29906943,0.27717763,0.45650762,0.23703849,0.51874399,0.20159303,0.58555031,0.17057693,0.65663081,0.14366767,0.73164123,0.12050423,0.81020868,0.10070664,0.89195037,0.08389302,0.97648883,1.01969337,0.06346401,0.05775976,1.15254164,0.04777273,1.2434181 }); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -2905,10 +2905,10 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test2) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1,1}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.37219834,0.29906943,0.27717763,0.45650762,0.23703849,0.51874399,0.20159303,0.58555031,0.17057693,0.65663081,0.14366767,0.73164123,0.12050423,0.81020868,0.10070664,0.89195037,0.08389302,0.97648883,1.01969337,0.06346401,0.05775976,1.15254164,0.04777273,1.2434181 }); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1,1}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.37219834,0.29906943,0.27717763,0.45650762,0.23703849,0.51874399,0.20159303,0.58555031,0.17057693,0.65663081,0.14366767,0.73164123,0.12050423,0.81020868,0.10070664,0.89195037,0.08389302,0.97648883,1.01969337,0.06346401,0.05775976,1.15254164,0.04777273,1.2434181 }); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -2929,10 +2929,10 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test3) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.37219834,0.29906943,0.27717763,0.45650762,0.23703849,0.51874399,0.20159303,0.58555031,0.17057693,0.65663081,0.14366767,0.73164123,0.12050423,0.81020868,0.10070664,0.89195037,0.08389302,0.97648883,1.01969337,0.06346401,0.05775976,1.15254164,0.04777273,1.2434181 }); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.37219834,0.29906943,0.27717763,0.45650762,0.23703849,0.51874399,0.20159303,0.58555031,0.17057693,0.65663081,0.14366767,0.73164123,0.12050423,0.81020868,0.10070664,0.89195037,0.08389302,0.97648883,1.01969337,0.06346401,0.05775976,1.15254164,0.04777273,1.2434181 }); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -2953,10 +2953,10 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test4) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3,4}, {0.24719833, 0.54906946, 0.65217763,-0.04349237,0.86203849,-0.23125602, 1.07659304,-0.41444966,1.29557693,-0.59336919, 1.5186677 ,-0.76835877,1.74550426,-0.93979132, 1.9757067 ,-1.10804963,2.20889306,-1.27351117,-1.35530663, 2.56346393,2.68275976,-1.59745836, 2.92277265,-1.7565819 }); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,3,4}, {0.24719833, 0.54906946, 0.65217763,-0.04349237,0.86203849,-0.23125602, 1.07659304,-0.41444966,1.29557693,-0.59336919, 1.5186677 ,-0.76835877,1.74550426,-0.93979132, 1.9757067 ,-1.10804963,2.20889306,-1.27351117,-1.35530663, 2.56346393,2.68275976,-1.59745836, 2.92277265,-1.7565819 }); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -2977,9 +2977,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test5) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3000,9 +3000,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test6) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3023,9 +3023,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test7) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3046,9 +3046,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test8) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3070,9 +3070,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test9) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3096,9 +3096,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test10) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3119,9 +3119,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test10) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test11) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1,4}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3142,9 +3142,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test11) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test12) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3165,9 +3165,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test12) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test13) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3191,9 +3191,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test13) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test14) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,4}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,4}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3214,9 +3214,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test14) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test15) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3237,9 +3237,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test15) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test16) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3260,9 +3260,9 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test16) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test17) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3286,10 +3286,10 @@ TEST_F(DeclarableOpsTests2, sigm_cross_entropy_loss_test17) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test1) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3}); - auto expected = NDArrayFactory::create('c', {2,3}, {1.39253557,1.44253552,1.44253552,1.44253552,1.39253557,1.44253552}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3}); + auto expected = NDArrayFactory::create( {2,3}, {1.39253557,1.44253552,1.44253552,1.44253552,1.39253557,1.44253552}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3309,10 +3309,10 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test2) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3}); - auto expected = NDArrayFactory::create('c', {2,3}, {-0.92835701,-1.12835705,-1.12835705,-1.12835705,-0.92835701,-1.12835705}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3}); + auto expected = NDArrayFactory::create( {2,3}, {-0.92835701,-1.12835705,-1.12835705,-1.12835705,-0.92835701,-1.12835705}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3333,10 +3333,10 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test3) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,1}); - auto expected = NDArrayFactory::create('c', {2,3}, {-0.92835701,-1.12835705,-1.12835705,-1.12835705,-0.92835701,-1.12835705}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,1}); + auto expected = NDArrayFactory::create( {2,3}, {-0.92835701,-1.12835705,-1.12835705,-1.12835705,-0.92835701,-1.12835705}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3357,10 +3357,10 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test4) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3}); - auto expected = NDArrayFactory::create('c', {2,3}, {-0.92835701,-1.12835705,-1.12835705,-1.12835705,-0.92835701,-1.12835705}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3}); + auto expected = NDArrayFactory::create( {2,3}, {-0.92835701,-1.12835705,-1.12835705,-1.12835705,-0.92835701,-1.12835705}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3381,10 +3381,10 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test5) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); - auto expected = NDArrayFactory::create('c', {2,3}, {-0.92835701,-1.12835705,-1.12835705,-1.12835705,-0.92835701,-1.12835705}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); + auto expected = NDArrayFactory::create( {2,3}, {-0.92835701,-1.12835705,-1.12835705,-1.12835705,-0.92835701,-1.12835705}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3405,9 +3405,9 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test6) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3428,9 +3428,9 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test7) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {2,3}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {2,3}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3451,9 +3451,9 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test8) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,1}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3474,9 +3474,9 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test9) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3497,9 +3497,9 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test10) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3520,9 +3520,9 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test10) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test11) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto weights = NDArrayFactory::create('c', {1,3}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto weights = NDArrayFactory::create( {1,3}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3543,9 +3543,9 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test11) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test12) { - auto labels = NDArrayFactory::create('c', {2,4},{0,1,1,0,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,4}); - auto weights = NDArrayFactory::create('c', {2,1}); + auto labels = NDArrayFactory::create( {2,4},{0,1,1,0,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,4}); + auto weights = NDArrayFactory::create( {2,1}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3566,10 +3566,10 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test12) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test13) { - auto labels = NDArrayFactory::create('c', {2,4},{0,1,1,0,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,4}); - auto weights = NDArrayFactory::create('c', {2,1}); - auto expected = NDArrayFactory::create('c', {2,1}, {1.39253557,1.44253552}); + auto labels = NDArrayFactory::create( {2,4},{0,1,1,0,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,4}); + auto weights = NDArrayFactory::create( {2,1}); + auto expected = NDArrayFactory::create( {2,1}, {1.39253557,1.44253552}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3592,10 +3592,10 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test13) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test14) { - auto labels = NDArrayFactory::create('c', {2,4},{0,1,1,0,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,4}); - auto weights = NDArrayFactory::create('c', {2,1}); - auto expected = NDArrayFactory::create('c', {2,1}, {-2.08880329, -2.28880334}); + auto labels = NDArrayFactory::create( {2,4},{0,1,1,0,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,4}); + auto weights = NDArrayFactory::create( {2,1}); + auto expected = NDArrayFactory::create( {2,1}, {-2.08880329, -2.28880334}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3616,10 +3616,10 @@ TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test14) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests2, softmax_cross_entropy_loss_test15) { - auto labels = NDArrayFactory::create('c', {2,4},{0,1,1,0,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,4}); - auto weights = NDArrayFactory::create('c', {1,1}); - auto expected = NDArrayFactory::create('c', {2,1}, {-2.08880329, -2.28880334}); + auto labels = NDArrayFactory::create( {2,4},{0,1,1,0,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,4}); + auto weights = NDArrayFactory::create( {1,1}); + auto expected = NDArrayFactory::create( {2,1}, {-2.08880329, -2.28880334}); logits.linspace(0.1, 0.1); weights.assign(0.5); @@ -3645,14 +3645,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test1) { const int numProj = 4; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -3663,8 +3663,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test1) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {0.99926789,0.99926789,0.99926789,0.99926789,0.99926789,0.99926789,0.99926789,0.99926789}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{3.99987108,3.99987108,3.99987108,3.99987108,3.99987108,3.99987108,3.99987108,3.99987108}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {0.99926789,0.99926789,0.99926789,0.99926789,0.99926789,0.99926789,0.99926789,0.99926789}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{3.99987108,3.99987108,3.99987108,3.99987108,3.99987108,3.99987108,3.99987108,3.99987108}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0., 0., 1.}, {0, 0}); @@ -3690,14 +3690,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test2) { const int numProj = 4; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -3708,8 +3708,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test2) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {0.95867589,0.95867589,0.95867589,0.95867589,0.95867589,0.95867589,0.95867589,0.95867589}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{1.93001527,1.93001527,1.93001527,1.93001527, 1.93001527,1.93001527,1.93001527,1.93001527}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {0.95867589,0.95867589,0.95867589,0.95867589,0.95867589,0.95867589,0.95867589,0.95867589}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{1.93001527,1.93001527,1.93001527,1.93001527, 1.93001527,1.93001527,1.93001527,1.93001527}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0., 0., -10.5}, {0, 0}); @@ -3735,14 +3735,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test3) { const int numProj = 4; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -3753,8 +3753,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test3) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0.4, 0., 1.5}, {0, 0}); @@ -3780,14 +3780,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test4) { const int numProj = 4; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -3798,8 +3798,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test4) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568,0.37992568}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0.4, 0.3, 1.5}, {0, 0}); @@ -3825,14 +3825,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test5) { const int numProj = 3; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -3843,8 +3843,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test5) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {0.3,0.3,0.3,0.3,0.3,0.3}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {0.3,0.3,0.3,0.3,0.3,0.3}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0.4, 0.3, 1.5}, {0, 1}); @@ -3870,14 +3870,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test6) { const int numProj = 3; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -3888,8 +3888,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test6) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {1.99832496,1.99832496,1.99832496,1.99832496,1.99832496,1.99832496}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{3.99972188,3.99972188,3.99972188,3.99972188,3.99972188,3.99972188,3.99972188,3.99972188}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {1.99832496,1.99832496,1.99832496,1.99832496,1.99832496,1.99832496}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{3.99972188,3.99972188,3.99972188,3.99972188,3.99972188,3.99972188,3.99972188,3.99972188}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0., 0., 1.5}, {0, 1}); @@ -3915,14 +3915,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test7) { const int numProj = 3; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -3933,8 +3933,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test7) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {0.75977136,0.75977136,0.75977136,0.75977136,0.75977136,0.75977136}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {0.75977136,0.75977136,0.75977136,0.75977136,0.75977136,0.75977136}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0.4, 0., 1.5}, {0, 1}); @@ -3961,14 +3961,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test8) { const int numProj = 4; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -3979,8 +3979,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test8) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {0.99930672,0.99930672,0.99930672,0.99930672, 0.99930672,0.99930672,0.99930672,0.99930672}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{3.99996277,3.99996277,3.99996277,3.99996277,3.99996277,3.99996277,3.99996277,3.99996277}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {0.99930672,0.99930672,0.99930672,0.99930672, 0.99930672,0.99930672,0.99930672,0.99930672}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{3.99996277,3.99996277,3.99996277,3.99996277,3.99996277,3.99996277,3.99996277,3.99996277}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0., 0., 10.5}, {1, 0}); @@ -4006,14 +4006,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test9) { const int numProj = 4; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -4024,8 +4024,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test9) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {0.99501777,0.99501777,0.99501777,0.99501777,0.99501777,0.99501777,0.99501777,0.99501777}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{3.,3.,3.,3.,3.,3.,3.,3.}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {0.99501777,0.99501777,0.99501777,0.99501777,0.99501777,0.99501777,0.99501777,0.99501777}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{3.,3.,3.,3.,3.,3.,3.,3.}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {3., 0., 10.5}, {1, 0}); @@ -4051,14 +4051,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test10) { const int numProj = 3; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -4069,8 +4069,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test10) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {1.99861344,1.99861344,1.99861344,1.99861344,1.99861344,1.99861344}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{3.99996277, 3.99996277, 3.99996277, 3.99996277,3.99996277, 3.99996277, 3.99996277, 3.99996277}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {1.99861344,1.99861344,1.99861344,1.99861344,1.99861344,1.99861344}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{3.99996277, 3.99996277, 3.99996277, 3.99996277,3.99996277, 3.99996277, 3.99996277, 3.99996277}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {0., 0., 10.5}, {1, 1}); @@ -4096,14 +4096,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test11) { const int numProj = 3; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -4114,8 +4114,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test11) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {1.99003554,1.99003554,1.99003554,1.99003554,1.99003554,1.99003554}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{3.,3.,3.,3.,3.,3.,3.,3.}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {1.99003554,1.99003554,1.99003554,1.99003554,1.99003554,1.99003554}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{3.,3.,3.,3.,3.,3.,3.,3.}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {3., 0., 10.5}, {1, 1}); @@ -4141,14 +4141,14 @@ TEST_F(DeclarableOpsTests2, lstmCell_test12) { const int numProj = 3; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numProj}); - auto ct_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numProj}); + auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -4159,8 +4159,8 @@ TEST_F(DeclarableOpsTests2, lstmCell_test12) { Wp.assign(0.5); b.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numProj}, {1.,1.,1.,1.,1.,1.}); - auto expCt = NDArrayFactory::create('c', {batchSize, numUnits},{3.,3.,3.,3.,3.,3.,3.,3.}); + auto expHt = NDArrayFactory::create( {batchSize, numProj}, {1.,1.,1.,1.,1.,1.}); + auto expCt = NDArrayFactory::create( {batchSize, numUnits},{3.,3.,3.,3.,3.,3.,3.,3.}); sd::ops::lstmCell op; auto results = op.evaluate({&xt, &ht_1, &ct_1, &Wx, &Wh, &Wc, &Wp, &b}, {3., 1.,-5.}, {1, 1}); From a53243bd3711584e0447568188ca30e026068a72 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 18 Jun 2020 15:20:59 +0300 Subject: [PATCH 55/99] Fixed the third test file with new factory create. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests3.cpp | 598 +++++++++--------- 1 file changed, 299 insertions(+), 299 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp index 38006dd5067a..9c8117aa7287 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp @@ -36,8 +36,8 @@ class DeclarableOpsTests3 : public testing::Test { TEST_F(DeclarableOpsTests3, Test_Tile_1) { - auto x= NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto rep_vector= NDArrayFactory::create('c', {1, 2}, {2, 2}); + auto x= NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto rep_vector= NDArrayFactory::create( {1, 2}, {2, 2}); std::vector reps({2, 2}); auto exp = x.tile(reps); @@ -55,7 +55,7 @@ TEST_F(DeclarableOpsTests3, Test_Tile_1) { TEST_F(DeclarableOpsTests3, Test_Tile_2) { - auto x= NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto x= NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); std::vector reps({2, 2}); auto exp = x.tile(reps); @@ -72,9 +72,9 @@ TEST_F(DeclarableOpsTests3, Test_Tile_2) { } TEST_F(DeclarableOpsTests3, Test_Permute_1) { - auto x= NDArrayFactory::create('c', {2, 3, 4}); - auto permute= NDArrayFactory::create('c', {1, 3}, {0, 2, 1}); - auto exp= NDArrayFactory::create('c', {2, 4, 3}); + auto x= NDArrayFactory::create( {2, 3, 4}); + auto permute= NDArrayFactory::create( {1, 3}, {0, 2, 1}); + auto exp= NDArrayFactory::create( {2, 4, 3}); sd::ops::permute op; auto result = op.evaluate({&x, &permute}); @@ -86,8 +86,8 @@ TEST_F(DeclarableOpsTests3, Test_Permute_1) { } TEST_F(DeclarableOpsTests3, Test_Permute_2) { - auto x= NDArrayFactory::create('c', {2, 3, 4}); - auto exp= NDArrayFactory::create('c', {4, 3, 2}); + auto x= NDArrayFactory::create( {2, 3, 4}); + auto exp= NDArrayFactory::create( {4, 3, 2}); sd::ops::permute op; auto result = op.evaluate({&x}); @@ -101,10 +101,10 @@ TEST_F(DeclarableOpsTests3, Test_Permute_2) { TEST_F(DeclarableOpsTests3, Test_Unique_1) { - auto x= NDArrayFactory::create('c', {1, 5}, {1.f, 2.f, 1.f, 2.f, 3.f}); - auto expV= NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); - auto expI= NDArrayFactory::create('c', {5}, {0, 1, 0, 1, 2}); -// auto expI= NDArrayFactory::create('c', {3}, {0, 1, 4}); + auto x= NDArrayFactory::create( {1, 5}, {1.f, 2.f, 1.f, 2.f, 3.f}); + auto expV= NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); + auto expI= NDArrayFactory::create( {5}, {0, 1, 0, 1, 2}); +// auto expI= NDArrayFactory::create( {3}, {0, 1, 4}); sd::ops::unique op; auto result = op.evaluate({&x}, {}, {}); @@ -127,10 +127,10 @@ TEST_F(DeclarableOpsTests3, Test_Unique_1) { } TEST_F(DeclarableOpsTests3, Test_Unique_2) { - auto x= NDArrayFactory::create('c', {1, 5}, {1.f, 2.f, 1.f, 2.f, 3.f}); - auto expV= NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); - auto expI= NDArrayFactory::create('c', {5}, {0, 1, 0, 1, 2}); - auto expC= NDArrayFactory::create('c', {3}, {2, 2, 1}); + auto x= NDArrayFactory::create( {1, 5}, {1.f, 2.f, 1.f, 2.f, 3.f}); + auto expV= NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); + auto expI= NDArrayFactory::create( {5}, {0, 1, 0, 1, 2}); + auto expC= NDArrayFactory::create( {3}, {2, 2, 1}); sd::ops::unique_with_counts op; auto result = op.evaluate({&x}, {}, {}); @@ -160,8 +160,8 @@ TEST_F(DeclarableOpsTests3, Test_Unique_2) { } TEST_F(DeclarableOpsTests3, Test_Rint_1) { - auto x= NDArrayFactory::create('c', {1, 7}, {-1.7f, -1.5f, -0.2f, 0.2f, 1.5f, 1.7f, 2.0f}); - auto exp= NDArrayFactory::create('c', {1, 7}, {-2.f, -2.f, -0.f, 0.f, 2.f, 2.f, 2.f}); + auto x= NDArrayFactory::create( {1, 7}, {-1.7f, -1.5f, -0.2f, 0.2f, 1.5f, 1.7f, 2.0f}); + auto exp= NDArrayFactory::create( {1, 7}, {-2.f, -2.f, -0.f, 0.f, 2.f, 2.f, 2.f}); sd::ops::rint op; auto result = op.evaluate({&x}, {}, {}); @@ -176,7 +176,7 @@ TEST_F(DeclarableOpsTests3, Test_Rint_1) { TEST_F(DeclarableOpsTests3, Test_Norm_1) { - auto x = NDArrayFactory::create('c', {100, 100}); + auto x = NDArrayFactory::create( {100, 100}); x.linspace(1); std::vector empty; @@ -211,9 +211,9 @@ TEST_F(DeclarableOpsTests3, Test_Norm_1) { TEST_F(DeclarableOpsTests3, Test_Norm_2) { - auto x = NDArrayFactory::create('c', {100, 100}); + auto x = NDArrayFactory::create( {100, 100}); x.linspace(1); - auto axis= NDArrayFactory::create('c', {1, 1}, {1}); + auto axis= NDArrayFactory::create( {1, 1}, {1}); std::vector empty; std::vector dims({1}); @@ -245,11 +245,11 @@ TEST_F(DeclarableOpsTests3, Test_Norm_2) { } TEST_F(DeclarableOpsTests3, Test_ListDiff_1) { - auto x= NDArrayFactory::create('c', {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto y= NDArrayFactory::create('c', {3}, {1.f, 3.f, 5.f}); + auto x= NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto y= NDArrayFactory::create( {3}, {1.f, 3.f, 5.f}); - auto exp0= NDArrayFactory::create('c', {3}, {2.f, 4.f, 6.f}); - auto exp1= NDArrayFactory::create('c', {3}, {1, 3, 5}); + auto exp0= NDArrayFactory::create( {3}, {2.f, 4.f, 6.f}); + auto exp1= NDArrayFactory::create( {3}, {1, 3, 5}); sd::ops::listdiff op; auto result = op.evaluate({&x, &y}); @@ -274,7 +274,7 @@ TEST_F(DeclarableOpsTests3, Test_Range_1) { auto start = NDArrayFactory::create(0.3f); auto stop = NDArrayFactory::create(-5.f); auto step = NDArrayFactory::create(-0.33f); - auto exp= NDArrayFactory::create('c', {17}, { 0.3f, -0.03f, -0.36f, -0.69f, -1.02f, -1.35f, -1.68f, -2.01f, -2.34f, -2.67f, -3.f, -3.33f, -3.66f, -3.99f, -4.32f, -4.65f, -4.98f}); + auto exp= NDArrayFactory::create( {17}, { 0.3f, -0.03f, -0.36f, -0.69f, -1.02f, -1.35f, -1.68f, -2.01f, -2.34f, -2.67f, -3.f, -3.33f, -3.66f, -3.99f, -4.32f, -4.65f, -4.98f}); sd::ops::range op; auto result = op.evaluate({&start, &stop, &step}); @@ -290,10 +290,10 @@ TEST_F(DeclarableOpsTests3, Test_Range_1) { TEST_F(DeclarableOpsTests3, Test_Range_2) { - auto start= NDArrayFactory::create('c', {1, 1}, {2.f}); - auto stop= NDArrayFactory::create('c', {1, 1}, {0.f}); - auto step= NDArrayFactory::create('c', {1, 1}, {-1.f}); - auto exp= NDArrayFactory::create('c', {2}, {2.f, 1.f}); + auto start= NDArrayFactory::create( {1, 1}, {2.f}); + auto stop= NDArrayFactory::create( {1, 1}, {0.f}); + auto step= NDArrayFactory::create( {1, 1}, {-1.f}); + auto exp= NDArrayFactory::create( {2}, {2.f, 1.f}); sd::ops::range op; auto result = op.evaluate({&start, &stop, &step}); @@ -308,10 +308,10 @@ TEST_F(DeclarableOpsTests3, Test_Range_2) { } TEST_F(DeclarableOpsTests3, Test_Range_3) { - auto start= NDArrayFactory::create('c', {1, 1}, {0.f}); - auto stop= NDArrayFactory::create('c', {1, 1}, {2.f}); - auto step= NDArrayFactory::create('c', {1, 1}, {1.f}); - auto exp= NDArrayFactory::create('c', {2}, {0.f, 1.f}); + auto start= NDArrayFactory::create( {1, 1}, {0.f}); + auto stop= NDArrayFactory::create( {1, 1}, {2.f}); + auto step= NDArrayFactory::create( {1, 1}, {1.f}); + auto exp= NDArrayFactory::create( {2}, {0.f, 1.f}); sd::ops::range op; auto result = op.evaluate({&start, &stop, &step}); @@ -327,10 +327,10 @@ TEST_F(DeclarableOpsTests3, Test_Range_3) { TEST_F(DeclarableOpsTests3, Test_Range_10) { - auto start= NDArrayFactory::create('c', {1, 1}, {0.f}); - auto stop= NDArrayFactory::create('c', {1, 1}, {2.f}); - auto step= NDArrayFactory::create('c', {1, 1}, {1.f}); - auto exp= NDArrayFactory::create('c', {2}, {0.f, 1.f}); + auto start= NDArrayFactory::create( {1, 1}, {0.f}); + auto stop= NDArrayFactory::create( {1, 1}, {2.f}); + auto step= NDArrayFactory::create( {1, 1}, {1.f}); + auto exp= NDArrayFactory::create( {2}, {0.f, 1.f}); sd::ops::range op; auto result = op.evaluate({&start, &stop, &step}, {sd::DataType::DOUBLE}); @@ -346,7 +346,7 @@ TEST_F(DeclarableOpsTests3, Test_Range_10) { TEST_F(DeclarableOpsTests3, Test_Range_4) { - auto exp= NDArrayFactory::create('c', {13}, {-10.f, -8.334f, -6.668f, -5.002f, -3.336f, -1.67f, -0.004f, 1.662f, 3.328f, 4.994f, 6.66f, 8.326f, 9.992f}); + auto exp= NDArrayFactory::create( {13}, {-10.f, -8.334f, -6.668f, -5.002f, -3.336f, -1.67f, -0.004f, 1.662f, 3.328f, 4.994f, 6.66f, 8.326f, 9.992f}); sd::ops::range op; auto result = op.evaluate({}, {-10., 10., 1.666}, {}); @@ -362,7 +362,7 @@ TEST_F(DeclarableOpsTests3, Test_Range_4) { TEST_F(DeclarableOpsTests3, Test_Range_5) { - auto exp= NDArrayFactory::create('c', {2}, {2.f, 1.f}); + auto exp= NDArrayFactory::create( {2}, {2.f, 1.f}); sd::ops::range op; auto result = op.evaluate({}, {2, 0, -1}, {}); @@ -377,7 +377,7 @@ TEST_F(DeclarableOpsTests3, Test_Range_5) { } TEST_F(DeclarableOpsTests3, Test_Range_6) { - auto exp= NDArrayFactory::create('c', {2}, {0.f, 1.f}); + auto exp= NDArrayFactory::create( {2}, {0.f, 1.f}); sd::ops::range op; auto result = op.evaluate({}, {0, 2, 1}, {}); @@ -392,7 +392,7 @@ TEST_F(DeclarableOpsTests3, Test_Range_6) { } TEST_F(DeclarableOpsTests3, Test_Range_7) { - auto exp= NDArrayFactory::create('c', {10}, {10.f, 8.334f, 6.668f, 5.002f, 3.336f, 1.67f, 0.004f, -1.662f, -3.328f, -4.994f}); + auto exp= NDArrayFactory::create( {10}, {10.f, 8.334f, 6.668f, 5.002f, 3.336f, 1.67f, 0.004f, -1.662f, -3.328f, -4.994f}); sd::ops::range op; auto result = op.evaluate({}, {10,-5,-1.666}, {}); @@ -409,7 +409,7 @@ TEST_F(DeclarableOpsTests3, Test_Range_7) { TEST_F(DeclarableOpsTests3, Test_Range_8) { - auto exp= NDArrayFactory::create('c', {2}, {2, 1}); + auto exp= NDArrayFactory::create( {2}, {2, 1}); sd::ops::range op; auto result = op.evaluate({}, {}, {2, 0, -1}); @@ -424,7 +424,7 @@ TEST_F(DeclarableOpsTests3, Test_Range_8) { } TEST_F(DeclarableOpsTests3, Test_Range_9) { - auto exp= NDArrayFactory::create('c', {2}, {0, 1}); + auto exp= NDArrayFactory::create( {2}, {0, 1}); sd::ops::range op; auto result = op.evaluate({}, {}, {0, 2, 1}); @@ -439,10 +439,10 @@ TEST_F(DeclarableOpsTests3, Test_Range_9) { } TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_1) { - auto a= NDArrayFactory::create('c', {1, 3}, {1, 1, 1}); - auto b= NDArrayFactory::create('c', {1, 3}, {0, 0, 0}); - auto x= NDArrayFactory::create('f', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto y= NDArrayFactory::create('f', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto a= NDArrayFactory::create( {1, 3}, {1, 1, 1}); + auto b= NDArrayFactory::create( {1, 3}, {0, 0, 0}); + auto x= NDArrayFactory::create({3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}, sd::kArrayOrderFortran); + auto y= NDArrayFactory::create({3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}, sd::kArrayOrderFortran); auto exp = MmulHelper::mmul(&x, &y); @@ -467,10 +467,10 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_1) { } TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_2) { - auto a= NDArrayFactory::create('c', {1, 3}, {1, 1, 1}); - auto b= NDArrayFactory::create('c', {1, 3}, {0, 0, 0}); - auto x= NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto y= NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto a= NDArrayFactory::create( {1, 3}, {1, 1, 1}); + auto b= NDArrayFactory::create( {1, 3}, {0, 0, 0}); + auto x= NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto y= NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); auto exp = MmulHelper::mmul(&x, &y); @@ -495,10 +495,10 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_2) { } TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_3) { - auto a= NDArrayFactory::create('c', {1, 3}, {1, 1, 1}); - auto b= NDArrayFactory::create('c', {1, 3}, {0, 0, 0}); - auto x= NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto y= NDArrayFactory::create('f', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto a= NDArrayFactory::create( {1, 3}, {1, 1, 1}); + auto b= NDArrayFactory::create( {1, 3}, {0, 0, 0}); + auto x= NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto y= NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}, sd::kArrayOrderFortran); auto exp = MmulHelper::mmul(&x, &y); @@ -523,10 +523,10 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_3) { } TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_4) { - auto a= NDArrayFactory::create('c', {1, 3}, {1, 1, 1}); - auto b= NDArrayFactory::create('c', {1, 3}, {0, 0, 0}); - auto x= NDArrayFactory::create('f', {5, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}); - auto y= NDArrayFactory::create('f', {3, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto a= NDArrayFactory::create( {1, 3}, {1, 1, 1}); + auto b= NDArrayFactory::create( {1, 3}, {0, 0, 0}); + auto x= NDArrayFactory::create( {5, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, sd::kArrayOrderFortran); + auto y= NDArrayFactory::create( {3, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, sd::kArrayOrderFortran); auto exp = MmulHelper::mmul(&x, &y); @@ -551,10 +551,10 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_4) { } TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_5) { - auto a= NDArrayFactory::create('c', {1, 3}, {1, 1, 1}); - auto b= NDArrayFactory::create('c', {1, 3}, {0, 0, 0}); - auto x= NDArrayFactory::create('c', {5, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}); - auto y= NDArrayFactory::create('c', {3, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto a= NDArrayFactory::create( {1, 3}, {1, 1, 1}); + auto b= NDArrayFactory::create( {1, 3}, {0, 0, 0}); + auto x= NDArrayFactory::create( {5, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}); + auto y= NDArrayFactory::create( {3, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); auto exp = MmulHelper::mmul(&x, &y); @@ -580,10 +580,10 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_5) { TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_6) { - auto a= NDArrayFactory::create('c', {1, 3}, {1, 1, 1}); - auto b= NDArrayFactory::create('c', {1, 3}, {0, 0, 0}); - auto x= NDArrayFactory::create('f', {2, 5}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}); - auto y= NDArrayFactory::create('f', {5, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}); + auto a= NDArrayFactory::create( {1, 3}, {1, 1, 1}); + auto b= NDArrayFactory::create( {1, 3}, {0, 0, 0}); + auto x= NDArrayFactory::create( {2, 5}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, sd::kArrayOrderFortran); + auto y= NDArrayFactory::create( {5, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, sd::kArrayOrderFortran); auto exp = MmulHelper::mmul(&x, &y); @@ -608,10 +608,10 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_6) { } TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_7) { - auto a= NDArrayFactory::create('c', {1, 3}, {1, 1, 1}); - auto b= NDArrayFactory::create('c', {1, 3}, {0, 0, 0}); - auto x= NDArrayFactory::create('c', {2, 5}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}); - auto y= NDArrayFactory::create('c', {5, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}); + auto a= NDArrayFactory::create( {1, 3}, {1, 1, 1}); + auto b= NDArrayFactory::create( {1, 3}, {0, 0, 0}); + auto x= NDArrayFactory::create( {2, 5}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}); + auto y= NDArrayFactory::create( {5, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}); auto exp = MmulHelper::mmul(&x, &y); @@ -638,10 +638,10 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_7) { } TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_Validation_1) { - auto a = NDArrayFactory::create('c', {1, 3}, {1.f, 1.f, 1.f}); - auto b = NDArrayFactory::create('c', {1, 3}, {0.f, 0.f, 0.f}); - auto x = NDArrayFactory::create('c', {2, 5}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f}); - auto y = NDArrayFactory::create('c', {5, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); + auto a = NDArrayFactory::create( {1, 3}, {1.f, 1.f, 1.f}); + auto b = NDArrayFactory::create( {1, 3}, {0.f, 0.f, 0.f}); + auto x = NDArrayFactory::create( {2, 5}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f}); + auto y = NDArrayFactory::create( {5, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); sd::ops::batched_gemm op; try { @@ -654,12 +654,12 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_Validation_1) { } TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_Validation_2) { - auto a = NDArrayFactory::create('c', {1, 3}, {1.f, 1.f, 1.f}); - auto b = NDArrayFactory::create('c', {1, 3}, {0.f, 0.f, 0.f}); - auto x = NDArrayFactory::create('c', {2, 5}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f}); - auto y = NDArrayFactory::create('c', {5, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); + auto a = NDArrayFactory::create( {1, 3}, {1.f, 1.f, 1.f}); + auto b = NDArrayFactory::create( {1, 3}, {0.f, 0.f, 0.f}); + auto x = NDArrayFactory::create( {2, 5}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f}); + auto y = NDArrayFactory::create( {5, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); - auto z = NDArrayFactory::create('c', {2, 3}); + auto z = NDArrayFactory::create( {2, 3}); sd::ops::batched_gemm op; try { @@ -671,9 +671,9 @@ TEST_F(DeclarableOpsTests3, Test_Batched_Gemm_Validation_2) { } TEST_F(DeclarableOpsTests3, Test_ReverseDivide_1) { - auto x= NDArrayFactory::create('c', {1, 3}, {2, 2, 2}); - auto y= NDArrayFactory::create('c', {1, 3}, {4, 6, 8}); - auto exp= NDArrayFactory::create('c', {1, 3}, {2, 3, 4}); + auto x= NDArrayFactory::create( {1, 3}, {2, 2, 2}); + auto y= NDArrayFactory::create( {1, 3}, {4, 6, 8}); + auto exp= NDArrayFactory::create( {1, 3}, {2, 3, 4}); sd::ops::reversedivide op; auto result = op.evaluate({&x, &y}); @@ -692,18 +692,18 @@ TEST_F(DeclarableOpsTests3, sruCell_test1) { const int batchSize = 2; const int inSize = 5; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ct_1= NDArrayFactory::create('c', {batchSize, inSize}); - auto w = NDArrayFactory::create('c', {inSize, 3*inSize}); - auto b = NDArrayFactory::create('c', {2*inSize}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ct_1= NDArrayFactory::create( {batchSize, inSize}); + auto w = NDArrayFactory::create( {inSize, 3*inSize}); + auto b = NDArrayFactory::create( {2*inSize}); xt.assign(1.); ct_1.assign(2.); w.assign(0.5); b.assign(0.7); - auto expHt= NDArrayFactory::create('c', {batchSize, inSize}, {0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f}); - auto expCt= NDArrayFactory::create('c', {batchSize, inSize}, {2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f}); + auto expHt= NDArrayFactory::create( {batchSize, inSize}, {0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f, 0.96674103f}); + auto expCt= NDArrayFactory::create( {batchSize, inSize}, {2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f, 2.01958286f}); sd::ops::sruCell op; auto results = op.evaluate({&xt, &ct_1, &w, &b}); @@ -727,18 +727,18 @@ TEST_F(DeclarableOpsTests3, sruCell_test2) { const int batchSize = 2; const int inSize = 5; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ct_1= NDArrayFactory::create('c', {batchSize, inSize}); - auto w = NDArrayFactory::create('c', {inSize, 3*inSize}); - auto b = NDArrayFactory::create('c', {2*inSize}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ct_1= NDArrayFactory::create( {batchSize, inSize}); + auto w = NDArrayFactory::create( {inSize, 3*inSize}); + auto b = NDArrayFactory::create( {2*inSize}); xt.assign(1.); ct_1.assign(2.); w.assign(0.5); b.assign(-1.); - auto expHt= NDArrayFactory::create('c', {batchSize, inSize}, {0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f}); - auto expCt= NDArrayFactory::create('c', {batchSize, inSize}, {2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f}); + auto expHt= NDArrayFactory::create( {batchSize, inSize}, {0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f, 0.97542038f}); + auto expCt= NDArrayFactory::create( {batchSize, inSize}, {2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f, 2.09121276f}); sd::ops::sruCell op; auto results = op.evaluate({&xt, &ct_1, &w, &b}); @@ -761,18 +761,18 @@ TEST_F(DeclarableOpsTests3, sruCell_test3) { const int batchSize = 2; const int inSize = 5; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ct_1= NDArrayFactory::create('c', {batchSize, inSize}); - auto w = NDArrayFactory::create('c', {inSize, 3*inSize}); - auto b = NDArrayFactory::create('c', {2*inSize}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ct_1= NDArrayFactory::create( {batchSize, inSize}); + auto w = NDArrayFactory::create( {inSize, 3*inSize}); + auto b = NDArrayFactory::create( {2*inSize}); xt.assign(10.); ct_1.assign(1.); w.assign(0.5); b.assign(-1.); - auto expHt= NDArrayFactory::create('c', {batchSize, inSize}, {0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f}); - auto expCt= NDArrayFactory::create('c', {batchSize, inSize}, {1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f}); + auto expHt= NDArrayFactory::create( {batchSize, inSize}, {0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f, 0.76159416f}); + auto expCt= NDArrayFactory::create( {batchSize, inSize}, {1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f}); sd::ops::sruCell op; auto results = op.evaluate({&xt, &ct_1, &w, &b}); @@ -797,12 +797,12 @@ TEST_F(DeclarableOpsTests3, gruCell_test1) { const int inSize = 10; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wru = NDArrayFactory::create('c', {(inSize+numUnits), 2*numUnits}); - auto Wc = NDArrayFactory::create('c', {(inSize+numUnits), numUnits}); - auto bru = NDArrayFactory::create('c', {2*numUnits}); - auto bc = NDArrayFactory::create('c', {numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wru = NDArrayFactory::create( {(inSize+numUnits), 2*numUnits}); + auto Wc = NDArrayFactory::create( {(inSize+numUnits), numUnits}); + auto bru = NDArrayFactory::create( {2*numUnits}); + auto bc = NDArrayFactory::create( {numUnits}); xt.assign(1.); ht_1.assign(2.); @@ -811,7 +811,7 @@ TEST_F(DeclarableOpsTests3, gruCell_test1) { bru.assign(0.7); bc.assign(0.7); - auto expHt = NDArrayFactory::create('c', {batchSize, numUnits}, {1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f}); + auto expHt = NDArrayFactory::create( {batchSize, numUnits}, {1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f, 1.99993872f}); sd::ops::gruCell op; auto results = op.evaluate({&xt, &ht_1, &Wru, &Wc, &bru, &bc}); @@ -832,12 +832,12 @@ TEST_F(DeclarableOpsTests3, gruCell_test2) { const int inSize = 10; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wru = NDArrayFactory::create('c', {(inSize+numUnits), 2*numUnits}); - auto Wc = NDArrayFactory::create('c', {(inSize+numUnits), numUnits}); - auto bru = NDArrayFactory::create('c', {2*numUnits}); - auto bc = NDArrayFactory::create('c', {numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wru = NDArrayFactory::create( {(inSize+numUnits), 2*numUnits}); + auto Wc = NDArrayFactory::create( {(inSize+numUnits), numUnits}); + auto bru = NDArrayFactory::create( {2*numUnits}); + auto bc = NDArrayFactory::create( {numUnits}); xt.assign(1.); ht_1.assign(0.); @@ -846,7 +846,7 @@ TEST_F(DeclarableOpsTests3, gruCell_test2) { bru.assign(-10); bc.assign(-10); - auto expHt= NDArrayFactory::create('c', {batchSize, numUnits}, {0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f}); + auto expHt= NDArrayFactory::create( {batchSize, numUnits}, {0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f, 0.00669224f}); sd::ops::gruCell op; auto results = op.evaluate({&xt, &ht_1, &Wru, &Wc, &bru, &bc}); @@ -868,12 +868,12 @@ TEST_F(DeclarableOpsTests3, gruCell_test3) { const int inSize = 10; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {batchSize, inSize}); - auto ht_1= NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wru = NDArrayFactory::create('c', {(inSize+numUnits), 2*numUnits}); - auto Wc = NDArrayFactory::create('c', {(inSize+numUnits), numUnits}); - auto bru = NDArrayFactory::create('c', {2*numUnits}); - auto bc = NDArrayFactory::create('c', {numUnits}); + auto xt = NDArrayFactory::create( {batchSize, inSize}); + auto ht_1= NDArrayFactory::create( {batchSize, numUnits}); + auto Wru = NDArrayFactory::create( {(inSize+numUnits), 2*numUnits}); + auto Wc = NDArrayFactory::create( {(inSize+numUnits), numUnits}); + auto bru = NDArrayFactory::create( {2*numUnits}); + auto bc = NDArrayFactory::create( {numUnits}); xt.assign(1.); ht_1.assign(0.); @@ -882,7 +882,7 @@ TEST_F(DeclarableOpsTests3, gruCell_test3) { bru.assign(1); bc.assign(1); - auto expHt= NDArrayFactory::create('c', {batchSize, numUnits}, {0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f}); + auto expHt= NDArrayFactory::create( {batchSize, numUnits}, {0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f, 0.1149149f}); sd::ops::gruCell op; @@ -900,8 +900,8 @@ TEST_F(DeclarableOpsTests3, gruCell_test3) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, invertPermutation_test1) { - auto input= NDArrayFactory::create('c', {1, 8}, {5,2,7,4,6,3,1,0}); - auto expected= NDArrayFactory::create('c', {1, 8}, {7, 6, 1, 5, 3, 0, 4, 2}); + auto input= NDArrayFactory::create( {1, 8}, {5,2,7,4,6,3,1,0}); + auto expected= NDArrayFactory::create( {1, 8}, {7, 6, 1, 5, 3, 0, 4, 2}); sd::ops::invert_permutation op; auto result = op.evaluate({&input}); @@ -919,8 +919,8 @@ TEST_F(DeclarableOpsTests3, invertPermutation_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, invertPermutation_test2) { - auto input= NDArrayFactory::create('c', {1, 8}, {5,2,7,4,6,3,1,0}); - auto expected= NDArrayFactory::create('c', {1, 8}, {7, 6, 1, 5, 3, 0, 4, 2}); + auto input= NDArrayFactory::create( {1, 8}, {5,2,7,4,6,3,1,0}); + auto expected= NDArrayFactory::create( {1, 8}, {7, 6, 1, 5, 3, 0, 4, 2}); sd::ops::invert_permutation op; @@ -939,8 +939,8 @@ TEST_F(DeclarableOpsTests3, invertPermutation_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, invertPermutation_test3) { - auto input= NDArrayFactory::create('c', {1, 8}, {1,2,0,4,6,3,5,7}); - auto expected= NDArrayFactory::create('c', {1, 8}, {2, 0, 1, 5, 3, 6, 4, 7}); + auto input= NDArrayFactory::create( {1, 8}, {1,2,0,4,6,3,5,7}); + auto expected= NDArrayFactory::create( {1, 8}, {2, 0, 1, 5, 3, 6, 4, 7}); sd::ops::invert_permutation op; auto result = op.evaluate({&input}); @@ -957,10 +957,10 @@ TEST_F(DeclarableOpsTests3, invertPermutation_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diag_test1) { - auto input= NDArrayFactory::create('c', {3, 2}); + auto input= NDArrayFactory::create( {3, 2}); input.linspace(1); - auto expected= NDArrayFactory::create('c', {3,2,3,2}, {1,0,0,0,0,0, 0,2,0,0,0,0, 0,0,3,0,0,0, 0,0,0,4,0,0, 0,0,0,0,5,0, 0,0,0,0,0,6}); + auto expected= NDArrayFactory::create( {3,2,3,2}, {1,0,0,0,0,0, 0,2,0,0,0,0, 0,0,3,0,0,0, 0,0,0,4,0,0, 0,0,0,0,5,0, 0,0,0,0,0,6}); sd::ops::diag op; auto result = op.evaluate({&input}); @@ -977,10 +977,10 @@ TEST_F(DeclarableOpsTests3, diag_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diag_test2) { - auto input= NDArrayFactory::create('c', {2, 3}); + auto input= NDArrayFactory::create( {2, 3}); input.linspace(1); - auto expected= NDArrayFactory::create('c', {2,3,2,3}, {1,0,0,0,0,0, 0,2,0,0,0,0, 0,0,3,0,0,0, 0,0,0,4,0,0, 0,0,0,0,5,0, 0,0,0,0,0,6}); + auto expected= NDArrayFactory::create( {2,3,2,3}, {1,0,0,0,0,0, 0,2,0,0,0,0, 0,0,3,0,0,0, 0,0,0,4,0,0, 0,0,0,0,5,0, 0,0,0,0,0,6}); sd::ops::diag op; auto result = op.evaluate({&input}); @@ -1000,7 +1000,7 @@ TEST_F(DeclarableOpsTests3, diag_test_vector) { auto input = NDArrayFactory::linspace(1,4,4); - auto expected= NDArrayFactory::create('c', {4,4}, {1,0,0,0, 0,2,0,0, 0,0,3,0,0,0,0,4}); + auto expected= NDArrayFactory::create( {4,4}, {1,0,0,0, 0,2,0,0, 0,0,3,0,0,0,0,4}); sd::ops::diag op; auto result = op.evaluate({input}); @@ -1020,7 +1020,7 @@ TEST_F(DeclarableOpsTests3, diag_test_col_vector) { auto input = NDArrayFactory::linspace(1,4,4); input->reshapei({4,1}); - auto expected= NDArrayFactory::create('c', {4,4}, {1,0,0,0, 0,2,0,0, 0,0,3,0,0,0,0,4}); + auto expected= NDArrayFactory::create( {4,4}, {1,0,0,0, 0,2,0,0, 0,0,3,0,0,0,0,4}); sd::ops::diag op; auto result = op.evaluate({input}, {}, {}); @@ -1038,10 +1038,10 @@ TEST_F(DeclarableOpsTests3, diag_test_col_vector) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diag_test3) { - auto input= NDArrayFactory::create('c', {1, 3}); + auto input= NDArrayFactory::create( {1, 3}); input.linspace(1); - auto expected= NDArrayFactory::create('c', {3,3}, {1,0,0, 0,2,0, 0,0,3}); + auto expected= NDArrayFactory::create( {3,3}, {1,0,0, 0,2,0, 0,0,3}); sd::ops::diag op; auto result = op.evaluate({&input}, {}, {}); @@ -1058,10 +1058,10 @@ TEST_F(DeclarableOpsTests3, diag_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diag_test4) { - auto input= NDArrayFactory::create('c', {3, 1}); + auto input= NDArrayFactory::create( {3, 1}); input.linspace(1); - auto expected= NDArrayFactory::create('c', {3,3}, {1,0,0, 0,2,0, 0,0,3}); + auto expected= NDArrayFactory::create( {3,3}, {1,0,0, 0,2,0, 0,0,3}); sd::ops::diag op; auto result = op.evaluate({&input}, {}, {}); @@ -1078,10 +1078,10 @@ TEST_F(DeclarableOpsTests3, diag_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diag_test5) { - auto input= NDArrayFactory::create('c', {1, 1}); + auto input= NDArrayFactory::create( {1, 1}); input.linspace(2); - auto expected= NDArrayFactory::create('c', {1,1}, {2}); + auto expected= NDArrayFactory::create( {1,1}, {2}); sd::ops::diag op; auto result = op.evaluate({&input}, {}, {}); @@ -1098,10 +1098,10 @@ TEST_F(DeclarableOpsTests3, diag_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diag_test6) { - auto input= NDArrayFactory::create('c', {2,2,2}); + auto input= NDArrayFactory::create( {2,2,2}); input.linspace(1); - auto expected= NDArrayFactory::create('c', {2,2,2,2,2,2}, {1,0,0,0, 0,0,0,0, 0,2,0,0, 0,0,0,0, 0,0,3,0, 0,0,0,0, 0,0,0,4, 0,0,0,0, 0,0,0,0, 5,0,0,0, 0,0,0,0, 0,6,0,0, 0,0,0,0, 0,0,7,0, 0,0,0,0, 0,0,0,8}); + auto expected= NDArrayFactory::create( {2,2,2,2,2,2}, {1,0,0,0, 0,0,0,0, 0,2,0,0, 0,0,0,0, 0,0,3,0, 0,0,0,0, 0,0,0,4, 0,0,0,0, 0,0,0,0, 5,0,0,0, 0,0,0,0, 0,6,0,0, 0,0,0,0, 0,0,7,0, 0,0,0,0, 0,0,0,8}); sd::ops::diag op; auto result = op.evaluate({&input}, {}, {}); @@ -1118,12 +1118,12 @@ TEST_F(DeclarableOpsTests3, diag_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, matrixSetDiag_test1) { - auto input= NDArrayFactory::create('c', {4,3,2}); - auto diagonal= NDArrayFactory::create('c', {4,2}); + auto input= NDArrayFactory::create( {4,3,2}); + auto diagonal= NDArrayFactory::create( {4,2}); input.assign(0.); diagonal.assign(1.); - auto expected= NDArrayFactory::create('c', {4,3,2}, {1,0,0,1,0,0, 1,0,0,1,0,0, 1,0,0,1,0,0, 1,0,0,1,0,0}); + auto expected= NDArrayFactory::create( {4,3,2}, {1,0,0,1,0,0, 1,0,0,1,0,0, 1,0,0,1,0,0, 1,0,0,1,0,0}); sd::ops::matrix_set_diag op; auto result = op.evaluate({&input, &diagonal}, {}, {}); @@ -1140,12 +1140,12 @@ TEST_F(DeclarableOpsTests3, matrixSetDiag_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, matrixSetDiag_test2) { - auto input= NDArrayFactory::create('c', {1,1,2}); - auto diagonal= NDArrayFactory::create('c', {1,1}); + auto input= NDArrayFactory::create( {1,1,2}); + auto diagonal= NDArrayFactory::create( {1,1}); input.assign(0.); diagonal.assign(1.); - auto expected= NDArrayFactory::create('c', {1,1,2}, {1.f, 0.f}); + auto expected= NDArrayFactory::create( {1,1,2}, {1.f, 0.f}); sd::ops::matrix_set_diag op; auto result = op.evaluate({&input, &diagonal}, {}, {}); @@ -1163,12 +1163,12 @@ TEST_F(DeclarableOpsTests3, matrixSetDiag_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, matrixSetDiag_test3) { - auto input= NDArrayFactory::create('c', {2,1,4}); - auto diagonal= NDArrayFactory::create('c', {2,1}); + auto input= NDArrayFactory::create( {2,1,4}); + auto diagonal= NDArrayFactory::create( {2,1}); input.assign(0.); diagonal.assign(1.); - auto expected= NDArrayFactory::create('c', {2,1,4}, {1,0,0,0,1,0,0,0}); + auto expected= NDArrayFactory::create( {2,1,4}, {1,0,0,0,1,0,0,0}); sd::ops::matrix_set_diag op; auto result = op.evaluate({&input, &diagonal}, {}, {}); @@ -1185,12 +1185,12 @@ TEST_F(DeclarableOpsTests3, matrixSetDiag_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, matrixSetDiag_test4) { - auto input= NDArrayFactory::create('c', {2,1,4,1}); - auto diagonal= NDArrayFactory::create('c', {2,1,1}); + auto input= NDArrayFactory::create( {2,1,4,1}); + auto diagonal= NDArrayFactory::create( {2,1,1}); input.assign(0.); diagonal.assign(1.); - auto expected= NDArrayFactory::create('c', {2,1,4,1}, {1,0,0,0,1,0,0,0}); + auto expected= NDArrayFactory::create( {2,1,4,1}, {1,0,0,0,1,0,0,0}); sd::ops::matrix_set_diag op; auto result = op.evaluate({&input, &diagonal}, {}, {}); @@ -1207,10 +1207,10 @@ TEST_F(DeclarableOpsTests3, matrixSetDiag_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diagPart_test1) { - auto input= NDArrayFactory::create('c', {2,2}); + auto input= NDArrayFactory::create( {2,2}); input.linspace(1); - auto expected= NDArrayFactory::create('c', {2}, {1,4}); + auto expected= NDArrayFactory::create( {2}, {1,4}); sd::ops::diag_part op; auto result = op.evaluate({&input}, {}, {}); @@ -1228,10 +1228,10 @@ TEST_F(DeclarableOpsTests3, diagPart_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diagPart_test2) { - auto input= NDArrayFactory::create('c', {2,2,2,2}); + auto input= NDArrayFactory::create( {2,2,2,2}); input.linspace(1); - auto expected= NDArrayFactory::create('c', {2,2}, {1,6,11,16}); + auto expected= NDArrayFactory::create( {2,2}, {1,6,11,16}); sd::ops::diag_part op; auto result = op.evaluate({&input}, {}, {}); @@ -1248,10 +1248,10 @@ TEST_F(DeclarableOpsTests3, diagPart_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diagPart_test3) { - auto input= NDArrayFactory::create('c', {2,2,2,2,2,2}); + auto input= NDArrayFactory::create( {2,2,2,2,2,2}); input.linspace(1); - auto expected= NDArrayFactory::create('c', {2,2,2}, {1,10,19,28,37,46,55,64}); + auto expected= NDArrayFactory::create( {2,2,2}, {1,10,19,28,37,46,55,64}); sd::ops::diag_part op; auto result = op.evaluate({&input}, {}, {}); @@ -1268,15 +1268,15 @@ TEST_F(DeclarableOpsTests3, diagPart_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test1) { - auto a = NDArrayFactory::create('c', {3,3}); - auto b = NDArrayFactory::create('c', {3,3}); - auto x = NDArrayFactory::create('c', {3,3}); + auto a = NDArrayFactory::create( {3,3}); + auto b = NDArrayFactory::create( {3,3}); + auto x = NDArrayFactory::create( {3,3}); a.linspace((float16)0.1, (float16)0.1); b.linspace((float16)0.1, (float16)0.1); x.assign(0.1); - auto expected = NDArrayFactory::create('c', {3,3}, {0.40638509f, 0.33668978f, 0.28271242f, 0.23973916f, 0.20483276f, 0.17604725f, 0.15203027f, 0.13180567f, 0.114647f}); + auto expected = NDArrayFactory::create( {3,3}, {0.40638509f, 0.33668978f, 0.28271242f, 0.23973916f, 0.20483276f, 0.17604725f, 0.15203027f, 0.13180567f, 0.114647f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1293,15 +1293,15 @@ TEST_F(DeclarableOpsTests3, betainc_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test2) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(0.1, 0.1); b.linspace(0.1, 0.1); x.assign(0.1); - auto expected= NDArrayFactory::create('c', {3,3}, {0.40638509f, 0.33668978f, 0.28271242f, 0.23973916f, 0.20483276f, 0.17604725f, 0.15203027f, 0.13180567f, 0.114647f}); + auto expected= NDArrayFactory::create( {3,3}, {0.40638509f, 0.33668978f, 0.28271242f, 0.23973916f, 0.20483276f, 0.17604725f, 0.15203027f, 0.13180567f, 0.114647f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1318,15 +1318,15 @@ TEST_F(DeclarableOpsTests3, betainc_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test3) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(0.1, 0.1); b.linspace(0.1, 0.1); x.assign(0.1); - auto expected= NDArrayFactory::create('c', {3,3}, {0.40638509f, 0.33668978f, 0.28271242f, 0.23973916f, 0.20483276f, 0.17604725f, 0.15203027f, 0.13180567f, 0.114647f}); + auto expected= NDArrayFactory::create( {3,3}, {0.40638509f, 0.33668978f, 0.28271242f, 0.23973916f, 0.20483276f, 0.17604725f, 0.15203027f, 0.13180567f, 0.114647f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1343,15 +1343,15 @@ TEST_F(DeclarableOpsTests3, betainc_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test4) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(1); b.linspace(1); x.assign(0.1); - auto expected= NDArrayFactory::create('c', {3,3}, {1.00000000e-01f, 2.80000000e-02f, 8.56000000e-03f, 2.72800000e-03f, 8.90920000e-04f, 2.95706080e-04f, 9.92854864e-05f, 3.36248880e-05f, 1.14644360e-05f}); + auto expected= NDArrayFactory::create( {3,3}, {1.00000000e-01f, 2.80000000e-02f, 8.56000000e-03f, 2.72800000e-03f, 8.90920000e-04f, 2.95706080e-04f, 9.92854864e-05f, 3.36248880e-05f, 1.14644360e-05f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1368,15 +1368,15 @@ TEST_F(DeclarableOpsTests3, betainc_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test5) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(3200.); b.linspace(3200.); x.assign(0.1); - auto expected= NDArrayFactory::create('c', {3,3}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}); + auto expected= NDArrayFactory::create( {3,3}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1393,15 +1393,15 @@ TEST_F(DeclarableOpsTests3, betainc_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test6) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(10.); b.linspace(10.); x.assign(0.1); - auto expected= NDArrayFactory::create('c', {3,3}, {3.92988233e-06f, 1.35306497e-06f, 4.67576826e-07f, 1.62083416e-07f, 5.63356971e-08f, 1.96261318e-08f, 6.85120307e-09f, 2.39594668e-09f, 8.39227685e-10f}); + auto expected= NDArrayFactory::create( {3,3}, {3.92988233e-06f, 1.35306497e-06f, 4.67576826e-07f, 1.62083416e-07f, 5.63356971e-08f, 1.96261318e-08f, 6.85120307e-09f, 2.39594668e-09f, 8.39227685e-10f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1418,15 +1418,15 @@ TEST_F(DeclarableOpsTests3, betainc_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test7) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(10.); b.linspace(10.); x.assign(0.9); - auto expected= NDArrayFactory::create('c', {3,3}, {0.99999607f, 0.99999865f, 0.99999953f, 0.99999984f, 0.99999994f, 0.99999998f, 0.99999999f, 1.f, 1.f}); + auto expected= NDArrayFactory::create( {3,3}, {0.99999607f, 0.99999865f, 0.99999953f, 0.99999984f, 0.99999994f, 0.99999998f, 0.99999999f, 1.f, 1.f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1443,15 +1443,15 @@ TEST_F(DeclarableOpsTests3, betainc_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test8) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(10.); b.linspace(10.); x.assign(1.); - auto expected= NDArrayFactory::create('c', {3,3}, {1.f, 1.f, 1.f,1.f,1.f,1.f,1.f,1.f,1.f}); + auto expected= NDArrayFactory::create( {3,3}, {1.f, 1.f, 1.f,1.f,1.f,1.f,1.f,1.f,1.f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1469,15 +1469,15 @@ TEST_F(DeclarableOpsTests3, betainc_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test9) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(10.); b.linspace(10.); x.assign(0.); - auto expected= NDArrayFactory::create('c', {3,3}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}); + auto expected= NDArrayFactory::create( {3,3}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1494,15 +1494,15 @@ TEST_F(DeclarableOpsTests3, betainc_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, betainc_test10) { - auto a= NDArrayFactory::create('c', {3,3}); - auto b= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto a= NDArrayFactory::create( {3,3}); + auto b= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); a.linspace(10.); b.linspace(10.); x.assign(0.5); - auto expected= NDArrayFactory::create('c', {3,3}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f}); + auto expected= NDArrayFactory::create( {3,3}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f}); sd::ops::betainc op; auto result = op.evaluate({&a, &b, &x}, {}, {}); @@ -1560,13 +1560,13 @@ TEST_F(DeclarableOpsTests3, betainc_test12) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test1) { - auto x= NDArrayFactory::create('c', {3,3}); - auto q= NDArrayFactory::create('c', {3,3}); + auto x= NDArrayFactory::create( {3,3}); + auto q= NDArrayFactory::create( {3,3}); q.linspace(1.); x.assign(2.); - auto expected= NDArrayFactory::create('c', {3,3}, {1.64493407f, 0.64493407f, 0.39493407f, 0.28382296f, 0.22132296f, 0.18132296f, 0.15354518f, 0.13313701f, 0.11751201f}); + auto expected= NDArrayFactory::create( {3,3}, {1.64493407f, 0.64493407f, 0.39493407f, 0.28382296f, 0.22132296f, 0.18132296f, 0.15354518f, 0.13313701f, 0.11751201f}); sd::ops::zeta op; auto result = op.evaluate({&x, &q}, {}, {}); @@ -1583,13 +1583,13 @@ TEST_F(DeclarableOpsTests3, zeta_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test2) { - auto x= NDArrayFactory::create('c', {3,3}); - auto q= NDArrayFactory::create('c', {3,3}); + auto x= NDArrayFactory::create( {3,3}); + auto q= NDArrayFactory::create( {3,3}); q.linspace(10.); x.assign(2.); - auto expected= NDArrayFactory::create('c', {3,3}, {0.10516634f, 0.09516634f, 0.08690187f, 0.07995743f, 0.07404027f, 0.06893823f, 0.06449378f, 0.06058753f, 0.05712733f}); + auto expected= NDArrayFactory::create( {3,3}, {0.10516634f, 0.09516634f, 0.08690187f, 0.07995743f, 0.07404027f, 0.06893823f, 0.06449378f, 0.06058753f, 0.05712733f}); sd::ops::zeta op; auto result = op.evaluate({&x, &q}, {}, {}); @@ -1607,13 +1607,13 @@ TEST_F(DeclarableOpsTests3, zeta_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test3) { - auto x= NDArrayFactory::create('c', {3,3}); - auto q= NDArrayFactory::create('c', {3,3}); + auto x= NDArrayFactory::create( {3,3}); + auto q= NDArrayFactory::create( {3,3}); q.linspace(100.); x.assign(2.); - auto expected= NDArrayFactory::create('c', {3,3}, {0.01005017f, 0.00995017f, 0.00985214f, 0.00975602f, 0.00966176f, 0.0095693f, 0.0094786f, 0.0093896f, 0.00930226f}); + auto expected= NDArrayFactory::create( {3,3}, {0.01005017f, 0.00995017f, 0.00985214f, 0.00975602f, 0.00966176f, 0.0095693f, 0.0094786f, 0.0093896f, 0.00930226f}); sd::ops::zeta op; auto result = op.evaluate({&x, &q}, {}, {}); @@ -1632,13 +1632,13 @@ TEST_F(DeclarableOpsTests3, zeta_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test4) { - auto x= NDArrayFactory::create('c', {3,3}); - auto q= NDArrayFactory::create('c', {3,3}); + auto x= NDArrayFactory::create( {3,3}); + auto q= NDArrayFactory::create( {3,3}); q.linspace(100.); x.assign(2.); - auto expected= NDArrayFactory::create('c', {3,3}, {0.01005017f, 0.00995017f, 0.00985214f, 0.00975602f, 0.00966176f, 0.0095693f, 0.0094786f, 0.0093896f, 0.00930226f}); + auto expected= NDArrayFactory::create( {3,3}, {0.01005017f, 0.00995017f, 0.00985214f, 0.00975602f, 0.00966176f, 0.0095693f, 0.0094786f, 0.0093896f, 0.00930226f}); sd::ops::zeta op; auto result = op.evaluate({&x, &q}, {}, {}); @@ -1654,13 +1654,13 @@ TEST_F(DeclarableOpsTests3, zeta_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test5) { - auto x= NDArrayFactory::create('c', {3,3}); - auto q= NDArrayFactory::create('c', {3,3}); + auto x= NDArrayFactory::create( {3,3}); + auto q= NDArrayFactory::create( {3,3}); q.linspace(1.); x.assign(1.1); - auto expected= NDArrayFactory::create('c', {3,3}, {10.58444846f, 9.58444846f, 9.11793197f, 8.81927915f, 8.60164151f, 8.43137352f, 8.29204706f, 8.17445116f, 8.07291961f}); + auto expected= NDArrayFactory::create( {3,3}, {10.58444846f, 9.58444846f, 9.11793197f, 8.81927915f, 8.60164151f, 8.43137352f, 8.29204706f, 8.17445116f, 8.07291961f}); sd::ops::zeta op; @@ -1678,13 +1678,13 @@ TEST_F(DeclarableOpsTests3, zeta_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test6) { - auto x= NDArrayFactory::create('c', {3,3}); - auto q= NDArrayFactory::create('c', {3,3}); + auto x= NDArrayFactory::create( {3,3}); + auto q= NDArrayFactory::create( {3,3}); q.linspace(1.); x.assign(1.01); - auto expected= NDArrayFactory::create('c', {3,3}, {100.57794334f, 99.57794334f, 99.08139709f, 98.75170576f, 98.50514758f, 98.30834069f, 98.1446337f, 98.00452955f, 97.88210202f}); + auto expected= NDArrayFactory::create( {3,3}, {100.57794334f, 99.57794334f, 99.08139709f, 98.75170576f, 98.50514758f, 98.30834069f, 98.1446337f, 98.00452955f, 97.88210202f}); sd::ops::zeta op; auto result = op.evaluate({&x, &q}, {}, {}); @@ -1701,13 +1701,13 @@ TEST_F(DeclarableOpsTests3, zeta_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test7) { - auto x= NDArrayFactory::create('c', {3,3}); - auto q= NDArrayFactory::create('c', {3,3}); + auto x= NDArrayFactory::create( {3,3}); + auto q= NDArrayFactory::create( {3,3}); q.linspace(1.); x.assign(10.); - auto expected= NDArrayFactory::create('c', {3,3}, {1.00099458e+00f, 9.94575128e-04f, 1.80126278e-05f, 1.07754001e-06f, 1.23865693e-07f, 2.14656932e-08f, 4.92752156e-09f, 1.38738839e-09f, 4.56065812e-10f}); + auto expected= NDArrayFactory::create( {3,3}, {1.00099458e+00f, 9.94575128e-04f, 1.80126278e-05f, 1.07754001e-06f, 1.23865693e-07f, 2.14656932e-08f, 4.92752156e-09f, 1.38738839e-09f, 4.56065812e-10f}); sd::ops::zeta op; @@ -1725,13 +1725,13 @@ TEST_F(DeclarableOpsTests3, zeta_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test8) { - auto x= NDArrayFactory::create('c', {3,4}, {1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.01,1.11,1.12}); - auto q= NDArrayFactory::create('c', {3,4}, {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.12}); + auto x= NDArrayFactory::create( {3,4}, {1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.01,1.11,1.12}); + auto q= NDArrayFactory::create( {3,4}, {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.12}); //q.linspace(1.); //x.assign(10.); - auto expected= NDArrayFactory::create('c', {3,4}, {23.014574, 12.184081, 8.275731, 6.1532226, 4.776538, 3.7945523, 3.0541048, 2.4765317, 2.0163891, 205.27448, 21.090889, 19.477398}); + auto expected= NDArrayFactory::create( {3,4}, {23.014574, 12.184081, 8.275731, 6.1532226, 4.776538, 3.7945523, 3.0541048, 2.4765317, 2.0163891, 205.27448, 21.090889, 19.477398}); sd::ops::zeta op; auto result = op.evaluate({&x, &q}, {}, {}); @@ -1749,14 +1749,14 @@ TEST_F(DeclarableOpsTests3, zeta_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test9) { - auto x= NDArrayFactory::create('c', {3,4}, {1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.01,1.11,1.12}); - auto q= NDArrayFactory::create('c', {3,4}, {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.12}); - auto z= NDArrayFactory::create('c', {3,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.}); + auto x= NDArrayFactory::create( {3,4}, {1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.01,1.11,1.12}); + auto q= NDArrayFactory::create( {3,4}, {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.12}); + auto z= NDArrayFactory::create( {3,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.}); //q.linspace(1.); //x.assign(10.); - auto expected= NDArrayFactory::create('c', {3,4}, {23.014574, 12.184081, 8.275731, 6.1532226, 4.776538, 3.7945523, 3.0541048, 2.4765317, 2.0163891, 205.27448, 21.090889, 19.477398}); + auto expected= NDArrayFactory::create( {3,4}, {23.014574, 12.184081, 8.275731, 6.1532226, 4.776538, 3.7945523, 3.0541048, 2.4765317, 2.0163891, 205.27448, 21.090889, 19.477398}); sd::ops::zeta op; auto results = op.execute({&x, &q}, {&z}, {}, {}, {}); @@ -1774,14 +1774,14 @@ TEST_F(DeclarableOpsTests3, zeta_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, zeta_test10) { - auto x= NDArrayFactory::create('c', {3,4}, {1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.01,1.11,1.12}); - auto q= NDArrayFactory::create('c', {3,4}, {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.12}); - auto z= NDArrayFactory::create('c', {3,4}); + auto x= NDArrayFactory::create( {3,4}, {1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.01,1.11,1.12}); + auto q= NDArrayFactory::create( {3,4}, {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.12}); + auto z= NDArrayFactory::create( {3,4}); //q.linspace(1.); //x.assign(10.); - auto expected= NDArrayFactory::create('c', {3,4}, {23.014574, 12.184081, 8.275731, 6.1532226, 4.776538, 3.7945523, 3.0541048, 2.4765317, 2.0163891, 205.27448, 21.090889, 19.477398}); + auto expected= NDArrayFactory::create( {3,4}, {23.014574, 12.184081, 8.275731, 6.1532226, 4.776538, 3.7945523, 3.0541048, 2.4765317, 2.0163891, 205.27448, 21.090889, 19.477398}); sd::ops::zeta op; auto results = op.execute({&x, &q}, {&z}, {}, {}, {}); @@ -1798,12 +1798,12 @@ TEST_F(DeclarableOpsTests3, zeta_test10) { TEST_F(DeclarableOpsTests3, Test_SplitV_Validation_1) { - auto x = NDArrayFactory::create('c', {8, 7}); + auto x = NDArrayFactory::create( {8, 7}); auto indices = NDArrayFactory::create('c',{2}, {5, 3}); auto axis = NDArrayFactory::create(-2); - auto z0 = NDArrayFactory::create('c', {5, 7}); - auto z1 = NDArrayFactory::create('c', {3, 7}); + auto z0 = NDArrayFactory::create( {5, 7}); + auto z1 = NDArrayFactory::create( {3, 7}); sd::ops::split_v op; auto status = op.execute({&x, &indices, &axis}, std::vector{&z0, &z1}, {}, {}, {}); @@ -1813,13 +1813,13 @@ TEST_F(DeclarableOpsTests3, Test_SplitV_Validation_1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, polygamma_test1) { - auto n= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto n= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); // ASSERT_FALSE(true); n.linspace(1.); x.assign(0.5); - auto expected= NDArrayFactory::create('c', {3,3}, {4.934802, -16.828796, 97.409088, -771.474243, 7691.113770, -92203.460938, 1290440.250000, -20644900.000000, 3.71595e+08}); + auto expected= NDArrayFactory::create( {3,3}, {4.934802, -16.828796, 97.409088, -771.474243, 7691.113770, -92203.460938, 1290440.250000, -20644900.000000, 3.71595e+08}); sd::ops::polygamma op; auto result = op.evaluate({&n, &x}, {}, {}); @@ -1838,13 +1838,13 @@ TEST_F(DeclarableOpsTests3, polygamma_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, polygamma_test2) { - auto n= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto n= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); n.linspace(10.); x.linspace(0.5); - auto expected= NDArrayFactory::create('c', {3,3}, {-7.43182451e+09, 3.08334759e+05,-3.25669798e+03, 1.55186197e+02,-1.46220433e+01, 2.00905201e+00,-3.48791235e-01, 7.08016273e-02,-1.60476052e-02}); + auto expected= NDArrayFactory::create( {3,3}, {-7.43182451e+09, 3.08334759e+05,-3.25669798e+03, 1.55186197e+02,-1.46220433e+01, 2.00905201e+00,-3.48791235e-01, 7.08016273e-02,-1.60476052e-02}); //ASSERT_FALSE(true); @@ -1863,13 +1863,13 @@ TEST_F(DeclarableOpsTests3, polygamma_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, polygamma_test3) { - auto n= NDArrayFactory::create('c', {3,3}); - auto x= NDArrayFactory::create('c', {3,3}); + auto n= NDArrayFactory::create( {3,3}); + auto x= NDArrayFactory::create( {3,3}); n.linspace(1.); x.linspace(10.); - auto expected= NDArrayFactory::create('c', {3,3}, {1.05166336e-01,-9.04983497e-03, 1.31009323e-03,-2.44459433e-04, 5.31593880e-05,-1.28049888e-05, 3.31755364e-06,-9.07408791e-07, 2.58758130e-07}); + auto expected= NDArrayFactory::create( {3,3}, {1.05166336e-01,-9.04983497e-03, 1.31009323e-03,-2.44459433e-04, 5.31593880e-05,-1.28049888e-05, 3.31755364e-06,-9.07408791e-07, 2.58758130e-07}); sd::ops::polygamma op; auto result = op.evaluate({&n, &x}, {}, {}); @@ -1925,10 +1925,10 @@ TEST_F(DeclarableOpsTests3, digamma_1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test1) { - auto x= NDArrayFactory::create('c', {6,6}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16}); - auto expS= NDArrayFactory::create('c', {6}, {54.12775, 38.79293, 25.89287, 9.82168, 6.07227, 2.91827}); - auto expU= NDArrayFactory::create('c', {6,6}, {0.14692,-0.11132,-0.69568, 0.59282,-0.14881, 0.32935,-0.38751, 0.60378,-0.04927,-0.01397,-0.69456,-0.01581, 0.19293,-0.12795,-0.18682,-0.69065,-0.20597, 0.62617, 0.66806, 0.4314 ,-0.33849,-0.22166, 0.04099,-0.44967, 0.11121,-0.64065,-0.02138,-0.07378,-0.60568,-0.45216,-0.5765 ,-0.1007 ,-0.60305,-0.34175, 0.29068,-0.3042}); - auto expV= NDArrayFactory::create('c', {6,6}, {-0.24577,-0.24512, 0.00401,-0.04585,-0.62058, 0.70162, 0.27937, 0.75961, 0.43885,-0.06857,-0.3839 , 0.01669,-0.35944,-0.09629, 0.44593, 0.78602,-0.09103,-0.19125, 0.53973, 0.07613,-0.10721, 0.49559, 0.35687, 0.56431,-0.6226 , 0.39742, 0.12785,-0.15716, 0.52372, 0.37297, 0.23113,-0.43578, 0.76204,-0.32414, 0.23996, 0.11543}); + auto x= NDArrayFactory::create( {6,6}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16}); + auto expS= NDArrayFactory::create( {6}, {54.12775, 38.79293, 25.89287, 9.82168, 6.07227, 2.91827}); + auto expU= NDArrayFactory::create( {6,6}, {0.14692,-0.11132,-0.69568, 0.59282,-0.14881, 0.32935,-0.38751, 0.60378,-0.04927,-0.01397,-0.69456,-0.01581, 0.19293,-0.12795,-0.18682,-0.69065,-0.20597, 0.62617, 0.66806, 0.4314 ,-0.33849,-0.22166, 0.04099,-0.44967, 0.11121,-0.64065,-0.02138,-0.07378,-0.60568,-0.45216,-0.5765 ,-0.1007 ,-0.60305,-0.34175, 0.29068,-0.3042}); + auto expV= NDArrayFactory::create( {6,6}, {-0.24577,-0.24512, 0.00401,-0.04585,-0.62058, 0.70162, 0.27937, 0.75961, 0.43885,-0.06857,-0.3839 , 0.01669,-0.35944,-0.09629, 0.44593, 0.78602,-0.09103,-0.19125, 0.53973, 0.07613,-0.10721, 0.49559, 0.35687, 0.56431,-0.6226 , 0.39742, 0.12785,-0.15716, 0.52372, 0.37297, 0.23113,-0.43578, 0.76204,-0.32414, 0.23996, 0.11543}); sd::ops::svd op; auto result = op.evaluate({&x}, {}, {1, 1, 16}); @@ -1961,10 +1961,10 @@ TEST_F(DeclarableOpsTests3, svd_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test2) { - auto x = NDArrayFactory::create('c', {7,6}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16, 4, -9, 1, -15, 7, -2}); - auto expS= NDArrayFactory::create('c', {6}, {56.76573, 39.11776, 26.00713, 11.83606, 6.16578, 3.99672}); - auto expU= NDArrayFactory::create('c', {7,7}, {-0.13417,-0.12443, -0.68854, 0.5196 , 0.21706, 0.03974, 0.41683, 0.347 , 0.62666, -0.04964, -0.01912, 0.66932, 0.1457 , -0.12183,-0.17329,-0.14666, -0.19639, -0.55355, 0.0614 , 0.75729, 0.1619 ,-0.64703, 0.37056, -0.37398, -0.32922, -0.0186 , -0.35656, -0.26134,-0.08027,-0.64405, -0.0127 , -0.06934, 0.59287, -0.14956, -0.44712, 0.55906,-0.06235, -0.58017, -0.12911, -0.359 , -0.00393, -0.44877, 0.30645,-0.11953, -0.09083, -0.54163, 0.14283, -0.50417, 0.56178}); - auto expV= NDArrayFactory::create('c', {6,6}, {0.2508 ,-0.2265 , 0.01689, 0.04486, 0.53132, 0.77537,-0.32281, 0.74559, 0.41845, -0.13821, 0.37642, 0.06315, 0.33139,-0.05528, 0.47186, 0.73171, 0.18905, -0.3055 ,-0.57263, 0.06276,-0.09542, 0.59396, -0.36152, 0.419 , 0.59193, 0.4361 , 0.13557, -0.03632, -0.5755 , 0.32944,-0.21165,-0.44227, 0.75794, -0.29895, -0.27993, 0.13187}); + auto x = NDArrayFactory::create( {7,6}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16, 4, -9, 1, -15, 7, -2}); + auto expS= NDArrayFactory::create( {6}, {56.76573, 39.11776, 26.00713, 11.83606, 6.16578, 3.99672}); + auto expU= NDArrayFactory::create( {7,7}, {-0.13417,-0.12443, -0.68854, 0.5196 , 0.21706, 0.03974, 0.41683, 0.347 , 0.62666, -0.04964, -0.01912, 0.66932, 0.1457 , -0.12183,-0.17329,-0.14666, -0.19639, -0.55355, 0.0614 , 0.75729, 0.1619 ,-0.64703, 0.37056, -0.37398, -0.32922, -0.0186 , -0.35656, -0.26134,-0.08027,-0.64405, -0.0127 , -0.06934, 0.59287, -0.14956, -0.44712, 0.55906,-0.06235, -0.58017, -0.12911, -0.359 , -0.00393, -0.44877, 0.30645,-0.11953, -0.09083, -0.54163, 0.14283, -0.50417, 0.56178}); + auto expV= NDArrayFactory::create( {6,6}, {0.2508 ,-0.2265 , 0.01689, 0.04486, 0.53132, 0.77537,-0.32281, 0.74559, 0.41845, -0.13821, 0.37642, 0.06315, 0.33139,-0.05528, 0.47186, 0.73171, 0.18905, -0.3055 ,-0.57263, 0.06276,-0.09542, 0.59396, -0.36152, 0.419 , 0.59193, 0.4361 , 0.13557, -0.03632, -0.5755 , 0.32944,-0.21165,-0.44227, 0.75794, -0.29895, -0.27993, 0.13187}); sd::ops::svd op; auto result = op.evaluate({&x}, {}, {1, 1, 16}); @@ -1997,10 +1997,10 @@ TEST_F(DeclarableOpsTests3, svd_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test3) { - auto x= NDArrayFactory::create('c', {7,6}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16, 4, -9, 1, -15, 7, -2}); - auto expS= NDArrayFactory::create('c', {6}, {56.76573, 39.11776, 26.00713, 11.83606, 6.16578, 3.99672}); - auto expU= NDArrayFactory::create('c', {7,6}, {-0.13417, -0.12443, -0.68854, 0.5196 , 0.21706, 0.03974, 0.347 , 0.62666, -0.04964, -0.01912, 0.66932, 0.1457 ,-0.17329, -0.14666, -0.19639, -0.55355, 0.0614 , 0.75729,-0.64703, 0.37056, -0.37398, -0.32922, -0.0186 , -0.35656,-0.08027, -0.64405, -0.0127 , -0.06934, 0.59287, -0.14956, 0.55906, -0.06235, -0.58017, -0.12911, -0.359 , -0.00393, 0.30645, -0.11953, -0.09083, -0.54163, 0.14283, -0.50417}); - auto expV= NDArrayFactory::create('c', {6,6}, {0.2508 ,-0.2265 , 0.01689, 0.04486, 0.53132, 0.77537,-0.32281, 0.74559, 0.41845, -0.13821, 0.37642, 0.06315, 0.33139,-0.05528, 0.47186, 0.73171, 0.18905, -0.3055 ,-0.57263, 0.06276,-0.09542, 0.59396, -0.36152, 0.419 , 0.59193, 0.4361 , 0.13557, -0.03632, -0.5755 , 0.32944,-0.21165,-0.44227, 0.75794, -0.29895, -0.27993, 0.13187}); + auto x= NDArrayFactory::create( {7,6}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16, 4, -9, 1, -15, 7, -2}); + auto expS= NDArrayFactory::create( {6}, {56.76573, 39.11776, 26.00713, 11.83606, 6.16578, 3.99672}); + auto expU= NDArrayFactory::create( {7,6}, {-0.13417, -0.12443, -0.68854, 0.5196 , 0.21706, 0.03974, 0.347 , 0.62666, -0.04964, -0.01912, 0.66932, 0.1457 ,-0.17329, -0.14666, -0.19639, -0.55355, 0.0614 , 0.75729,-0.64703, 0.37056, -0.37398, -0.32922, -0.0186 , -0.35656,-0.08027, -0.64405, -0.0127 , -0.06934, 0.59287, -0.14956, 0.55906, -0.06235, -0.58017, -0.12911, -0.359 , -0.00393, 0.30645, -0.11953, -0.09083, -0.54163, 0.14283, -0.50417}); + auto expV= NDArrayFactory::create( {6,6}, {0.2508 ,-0.2265 , 0.01689, 0.04486, 0.53132, 0.77537,-0.32281, 0.74559, 0.41845, -0.13821, 0.37642, 0.06315, 0.33139,-0.05528, 0.47186, 0.73171, 0.18905, -0.3055 ,-0.57263, 0.06276,-0.09542, 0.59396, -0.36152, 0.419 , 0.59193, 0.4361 , 0.13557, -0.03632, -0.5755 , 0.32944,-0.21165,-0.44227, 0.75794, -0.29895, -0.27993, 0.13187}); sd::ops::svd op; auto result = op.evaluate({&x}, {}, {0, 1, 16}); @@ -2033,10 +2033,10 @@ TEST_F(DeclarableOpsTests3, svd_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test4) { - auto x= NDArrayFactory::create('c', {6,7}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16, 4, -9, 1, -15, 7, -2}); - auto expS= NDArrayFactory::create('c', {6}, {53.11053, 39.09542, 28.1987, 17.7468, 11.61684, 5.36217}); - auto expU= NDArrayFactory::create('c', {6,6}, {-0.16541, 0.21276, 0.51284, 0.20472, 0.74797, 0.25102,-0.49879, 0.12076, 0.37629, -0.7211 , -0.24585, 0.12086,-0.36569,-0.70218, -0.08012, 0.21274, -0.07314, 0.56231,-0.44508, 0.4329 , 0.1356 , 0.60909, -0.47398, -0.02164, 0.61238,-0.05674, 0.59489, 0.06588, -0.3874 , 0.33685,-0.13044,-0.50644, 0.46552, 0.13236, -0.00474, -0.70161}); - auto expV= NDArrayFactory::create('c', {7,7}, {-0.35914, 0.68966, -0.30077, -0.15238, -0.48179, 0.14716, -0.16709, 0.21989, -0.34343, 0.11086, -0.78381, -0.37902, 0.24224, -0.06862, 0.32179, 0.12812, -0.25812, 0.0691 , -0.12891, 0.26979, 0.84807,-0.50833, 0.13793, 0.06658, -0.53001, 0.52572, -0.16194, 0.36692, 0.48118, 0.15876, -0.65132, -0.24602, 0.3963 , -0.16651, -0.27155,-0.31605, -0.46947, -0.50195, 0.0378 , -0.34937, -0.53062, 0.15069, 0.35957, 0.35408, 0.38732, -0.12154, -0.22827, -0.7151 , 0.13065}); + auto x= NDArrayFactory::create( {6,7}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16, 4, -9, 1, -15, 7, -2}); + auto expS= NDArrayFactory::create( {6}, {53.11053, 39.09542, 28.1987, 17.7468, 11.61684, 5.36217}); + auto expU= NDArrayFactory::create( {6,6}, {-0.16541, 0.21276, 0.51284, 0.20472, 0.74797, 0.25102,-0.49879, 0.12076, 0.37629, -0.7211 , -0.24585, 0.12086,-0.36569,-0.70218, -0.08012, 0.21274, -0.07314, 0.56231,-0.44508, 0.4329 , 0.1356 , 0.60909, -0.47398, -0.02164, 0.61238,-0.05674, 0.59489, 0.06588, -0.3874 , 0.33685,-0.13044,-0.50644, 0.46552, 0.13236, -0.00474, -0.70161}); + auto expV= NDArrayFactory::create( {7,7}, {-0.35914, 0.68966, -0.30077, -0.15238, -0.48179, 0.14716, -0.16709, 0.21989, -0.34343, 0.11086, -0.78381, -0.37902, 0.24224, -0.06862, 0.32179, 0.12812, -0.25812, 0.0691 , -0.12891, 0.26979, 0.84807,-0.50833, 0.13793, 0.06658, -0.53001, 0.52572, -0.16194, 0.36692, 0.48118, 0.15876, -0.65132, -0.24602, 0.3963 , -0.16651, -0.27155,-0.31605, -0.46947, -0.50195, 0.0378 , -0.34937, -0.53062, 0.15069, 0.35957, 0.35408, 0.38732, -0.12154, -0.22827, -0.7151 , 0.13065}); sd::ops::svd op; auto result = op.evaluate({&x}, {}, {1, 1, 16}); @@ -2069,10 +2069,10 @@ TEST_F(DeclarableOpsTests3, svd_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test5) { - auto x= NDArrayFactory::create('c', {6,7}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16, 4, -9, 1, -15, 7, -2}); - auto expS= NDArrayFactory::create('c', {6}, {53.11053, 39.09542, 28.1987, 17.7468, 11.61684, 5.36217}); - auto expU= NDArrayFactory::create('c', {6,6}, {-0.16541, 0.21276, 0.51284, 0.20472, 0.74797, 0.25102,-0.49879, 0.12076, 0.37629, -0.7211 , -0.24585, 0.12086,-0.36569,-0.70218, -0.08012, 0.21274, -0.07314, 0.56231,-0.44508, 0.4329 , 0.1356 , 0.60909, -0.47398, -0.02164, 0.61238,-0.05674, 0.59489, 0.06588, -0.3874 , 0.33685,-0.13044,-0.50644, 0.46552, 0.13236, -0.00474, -0.70161}); - auto expV= NDArrayFactory::create('c', {7,6}, {-0.35914, 0.68966, -0.30077, -0.15238, -0.48179, 0.14716, 0.21989, -0.34343, 0.11086, -0.78381, -0.37902, 0.24224, 0.32179, 0.12812, -0.25812, 0.0691 , -0.12891, 0.26979,-0.50833, 0.13793, 0.06658, -0.53001, 0.52572, -0.16194, 0.48118, 0.15876, -0.65132, -0.24602, 0.3963 , -0.16651,-0.31605, -0.46947, -0.50195, 0.0378 , -0.34937, -0.53062, 0.35957, 0.35408, 0.38732, -0.12154, -0.22827, -0.7151}); + auto x= NDArrayFactory::create( {6,7}, {0. ,-9. ,-6 ,9 ,-10 ,-12 ,2 ,13 ,5 ,-11 ,20 ,-17 ,1 ,-2 ,-11 ,3 ,-8 ,3 ,-14 ,19 ,-20 ,20 ,-17 ,-5 ,6 ,-16 ,0 ,-1 ,-16 ,11 ,7 ,-19 ,2 ,-17 ,17 ,-16, 4, -9, 1, -15, 7, -2}); + auto expS= NDArrayFactory::create( {6}, {53.11053, 39.09542, 28.1987, 17.7468, 11.61684, 5.36217}); + auto expU= NDArrayFactory::create( {6,6}, {-0.16541, 0.21276, 0.51284, 0.20472, 0.74797, 0.25102,-0.49879, 0.12076, 0.37629, -0.7211 , -0.24585, 0.12086,-0.36569,-0.70218, -0.08012, 0.21274, -0.07314, 0.56231,-0.44508, 0.4329 , 0.1356 , 0.60909, -0.47398, -0.02164, 0.61238,-0.05674, 0.59489, 0.06588, -0.3874 , 0.33685,-0.13044,-0.50644, 0.46552, 0.13236, -0.00474, -0.70161}); + auto expV= NDArrayFactory::create( {7,6}, {-0.35914, 0.68966, -0.30077, -0.15238, -0.48179, 0.14716, 0.21989, -0.34343, 0.11086, -0.78381, -0.37902, 0.24224, 0.32179, 0.12812, -0.25812, 0.0691 , -0.12891, 0.26979,-0.50833, 0.13793, 0.06658, -0.53001, 0.52572, -0.16194, 0.48118, 0.15876, -0.65132, -0.24602, 0.3963 , -0.16651,-0.31605, -0.46947, -0.50195, 0.0378 , -0.34937, -0.53062, 0.35957, 0.35408, 0.38732, -0.12154, -0.22827, -0.7151}); sd::ops::svd op; auto result = op.evaluate({&x}, {}, {0, 1, 16}); @@ -2105,22 +2105,22 @@ TEST_F(DeclarableOpsTests3, svd_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test6) { - auto x= NDArrayFactory::create('c', {2,2,5,5}, {-7. ,17 ,4 ,-10 ,5 ,1 ,-5 ,-19 ,13 ,-8 ,9 ,13 ,19 ,13 ,-2 + auto x= NDArrayFactory::create( {2,2,5,5}, {-7. ,17 ,4 ,-10 ,5 ,1 ,-5 ,-19 ,13 ,-8 ,9 ,13 ,19 ,13 ,-2 ,-8 ,10 ,-9 ,0 ,-20 ,-2 ,14 ,19 ,5 ,-18 ,4 ,-13 ,12 ,-10 ,5 ,-10 ,-10 ,17 ,-5 ,-2 ,10 ,5 ,-4 ,-11 ,15 ,-3 ,15 ,-17 ,-20 ,-10 ,-4 ,12 ,-9 ,16 ,13 ,10 ,-19 ,2 ,-9 ,-10 ,8 ,-2 ,-4 ,3 ,7 ,10 ,-19 ,-11 ,-4 ,-6 ,2 ,-12 ,6 ,-4 ,-14 ,14 ,16 ,7 ,19 ,-17 ,2 ,-14 ,5 ,-1 ,16 ,19 ,-11 ,-14 ,-16 ,-19 ,15 ,-18 ,-12 ,-16 ,16 ,1 ,5 ,7 ,8 ,2 ,13 ,-3 ,6 ,2 ,-5}); - auto expS= NDArrayFactory::create('c', {2,2,5}, {40.95395, 31.46869, 24.79993, 12.33768, 1.80031, + auto expS= NDArrayFactory::create( {2,2,5}, {40.95395, 31.46869, 24.79993, 12.33768, 1.80031, 38.18412, 31.52287, 23.52755, 11.79484, 1.90195, 39.34498, 32.54861, 17.52492, 7.03003, 2.2399, 44.72126, 32.3164 , 16.60139, 6.88783, 0.78122}); - auto expU= NDArrayFactory::create('c', {2,2,5,5}, {0.25441, 0.16908, -0.68564, 0.58844, -0.30054, + auto expU= NDArrayFactory::create( {2,2,5,5}, {0.25441, 0.16908, -0.68564, 0.58844, -0.30054, -0.32285, -0.58332, 0.3451 , 0.4746 , -0.45953,0.58332, 0.10605, 0.51533, 0.50234, 0.36136,0.12588, -0.73123, -0.37812, -0.00215, 0.55361, 0.68915, -0.2919 , 0.04767, -0.4197 , -0.51132,0.44464, -0.25326, -0.42493, -0.01712, -0.74653,0.516 , -0.16688, 0.1854 , -0.77155, 0.27611, -0.19321, -0.14317, -0.85886, -0.15224, 0.42585,-0.60155, -0.68323, 0.18819, -0.29053, -0.22696,-0.36993, 0.64862, -0.10956, -0.54483, -0.36552, -0.57697, -0.32277, 0.11229, 0.55495, 0.4923 ,-0.02937, 0.01689, -0.63257, 0.57075, -0.52245,-0.56002, -0.2036 , -0.53119, -0.6022 , 0.01017, -0.33605, -0.35257, 0.53215, -0.04936, -0.69075,0.48958, -0.85427, -0.14796, -0.03449, 0.08633,0.15008, 0.60996, 0.31071, -0.67721, 0.22421, 0.67717, -0.59857, 0.04372, -0.2565 , 0.33979,0.68116, 0.49852, -0.13441, 0.51374, -0.07421,-0.20066, 0.04504, 0.42865, 0.44418, 0.75939,0.12113, -0.13826, 0.83651, 0.11988, -0.50209}); - auto expV= NDArrayFactory::create('c', {2,2,5,5}, {0.01858, 0.17863, 0.51259, 0.14048, 0.82781, + auto expV= NDArrayFactory::create( {2,2,5,5}, {0.01858, 0.17863, 0.51259, 0.14048, 0.82781, 0.59651, -0.13439, -0.395 , 0.66979, 0.14654,0.73731, 0.47061, 0.19357, -0.41127, -0.16817,0.1047 , -0.29727, 0.73711, 0.38235, -0.45951, -0.29873, 0.80012, -0.02078, 0.4651 , -0.23201,-0.05314, -0.0419 , -0.52146, 0.77792, 0.344 ,-0.66438, 0.05648, 0.03756, -0.31531, 0.67422, 0.74471, 0.01504, -0.03081, -0.24335, 0.62049,0.03172, 0.91947, 0.30828, 0.23713, 0.04796,-0.01311, 0.38652, -0.79415, -0.42423, -0.19945, @@ -2159,10 +2159,10 @@ TEST_F(DeclarableOpsTests3, svd_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test7) { - auto x= NDArrayFactory::create('c', {2,2,5,5}, {-7. ,17 ,4 ,-10 ,5 ,1 ,-5 ,-19 ,13 ,-8 ,9 ,13 ,19 ,13 ,-2,-8 ,10 ,-9 ,0 ,-20 ,-2 ,14 ,19 ,5 ,-18 ,4 ,-13 ,12 ,-10 + auto x= NDArrayFactory::create( {2,2,5,5}, {-7. ,17 ,4 ,-10 ,5 ,1 ,-5 ,-19 ,13 ,-8 ,9 ,13 ,19 ,13 ,-2,-8 ,10 ,-9 ,0 ,-20 ,-2 ,14 ,19 ,5 ,-18 ,4 ,-13 ,12 ,-10 ,5 ,-10 ,-10 ,17 ,-5 ,-2 ,10 ,5 ,-4 ,-11 ,15 ,-3 ,15 ,-17,-20 ,-10 ,-4 ,12 ,-9 ,16 ,13 ,10 ,-19 ,2 ,-9 ,-10 ,8 ,-2 ,-4 ,3 ,7 ,10 ,-19 ,-11 ,-4 ,-6 ,2 ,-12 ,6 ,-4 ,-14 ,14,16 ,7 ,19 ,-17 ,2 ,-14 ,5 ,-1 ,16 ,19 ,-11 ,-14 ,-16,-19 ,15 ,-18 ,-12 ,-16 ,16 ,1 ,5 ,7 ,8 ,2 ,13 ,-3 ,6 ,2 ,-5}); - auto expS= NDArrayFactory::create('c', {2,2,5}, {40.95395, 31.46869, 24.79993, 12.33768, 1.80031,38.18412, 31.52287, 23.52755, 11.79484, 1.90195, + auto expS= NDArrayFactory::create( {2,2,5}, {40.95395, 31.46869, 24.79993, 12.33768, 1.80031,38.18412, 31.52287, 23.52755, 11.79484, 1.90195, 39.34498, 32.54861, 17.52492, 7.03003, 2.2399,44.72126, 32.3164 , 16.60139, 6.88783, 0.78122}); @@ -2181,7 +2181,7 @@ TEST_F(DeclarableOpsTests3, svd_test7) { /////////////////////////////////////////////////////////////////// // TEST_F(DeclarableOpsTests3, svd_test8) { -// auto x= NDArrayFactory::create('c', {2,2,11,10}, {3 ,-8 ,0 ,3 ,-5 ,16 ,-3 ,7 ,-4 ,19 ,19 ,13 ,15 ,15 ,9 ,6 ,-7 ,-5 ,-9 ,-12 ,7 ,-1 ,-1 ,6 ,19 +// auto x= NDArrayFactory::create( {2,2,11,10}, {3 ,-8 ,0 ,3 ,-5 ,16 ,-3 ,7 ,-4 ,19 ,19 ,13 ,15 ,15 ,9 ,6 ,-7 ,-5 ,-9 ,-12 ,7 ,-1 ,-1 ,6 ,19 // ,-6 ,16 ,0 ,16 ,16 ,7 ,14 ,18. ,0 ,18 ,-4 ,10 ,-16 ,-17 ,15 ,13 ,-17 ,-14 ,-17 ,-5 ,-9 ,-1 ,-19 // ,-18 ,5 ,-5 ,-13 ,17 ,-19 ,-5 ,18 ,4 ,10 ,17 ,-7 ,-10 ,16 ,10 ,8 ,-10 ,-3 ,10 ,1 ,-4 ,-16 ,-1 // ,-1 ,5 ,5 ,17 ,14 ,20 ,15 ,-6 ,19 ,14 ,17 ,0 ,-17 ,-16 ,-8 ,-6 ,3 ,-6 ,-11 ,-4 ,-2 ,-7 ,4 ,-6 @@ -2201,7 +2201,7 @@ TEST_F(DeclarableOpsTests3, svd_test7) { // -14 ,18 ,-10 ,4 ,13 ,-5 ,13 ,-6 ,12 ,-10 ,19 ,4 ,-7 ,-17 ,20 ,8 ,6 ,-3 ,3 ,-7 ,-18 ,17 , // -13 ,18 ,-20 ,-16 ,-5 ,12 ,5 ,17 ,-4 ,4 ,7 ,8 ,17 ,-9 ,-12 ,-10 ,8 ,-14 ,-11 ,7 ,19 ,-17}); -// auto expS= NDArrayFactory::create('c', {2,2,10}, { 64.12636, 54.37044, 50.63744, 48.10308, 33.7364 , 29.96456, +// auto expS= NDArrayFactory::create( {2,2,10}, { 64.12636, 54.37044, 50.63744, 48.10308, 33.7364 , 29.96456, // 25.53945, 19.31856, 15.30939, 9.31349, // 67.41342, 59.64963, 58.72687, 39.22496, 32.39772, 29.30833, // 23.1491 , 16.92442, 6.38613, 3.49563, @@ -2210,7 +2210,7 @@ TEST_F(DeclarableOpsTests3, svd_test7) { // 65.47447, 56.31305, 54.13371, 46.26955, 43.47755, 30.25799, // 20.71463, 16.89671, 10.39572, 7.81631}); -// auto expU= NDArrayFactory::create('c', {2,2,11,11}, {-0.177870, -0.149461, -0.196911, 0.036990, -0.338237, 0.548901, +// auto expU= NDArrayFactory::create( {2,2,11,11}, {-0.177870, -0.149461, -0.196911, 0.036990, -0.338237, 0.548901, // -0.074396, 0.497067, -0.083636, -0.111810, -0.466989, -0.010465, 0.434732, 0.337198, 0.305239, -0.292813, // 0.041280, -0.517144, 0.121499, 0.464908, 0.003658, 0.135017, -0.446916, -0.098318, 0.073571, -0.200521, // 0.186776, -0.353022, -0.435582, -0.225959, 0.052972, 0.032390, -0.583801, -0.402790, 0.562809, 0.102744, @@ -2261,7 +2261,7 @@ TEST_F(DeclarableOpsTests3, svd_test7) { // 0.124463, 0.039719, -0.221319, -0.224785, 0.096356, -0.302131, -0.462598, 0.194320}); -// auto expV= NDArrayFactory::create('c', {2,2,10,10}, {-0.050761, 0.370975, -0.061567, -0.125530, 0.024081, 0.275524, -0.800334, +// auto expV= NDArrayFactory::create( {2,2,10,10}, {-0.050761, 0.370975, -0.061567, -0.125530, 0.024081, 0.275524, -0.800334, // -0.025855, 0.348132, 0.036882, 0.034921, 0.307295, 0.629837, 0.014276, 0.265687, 0.188407, -0.035481, 0.082827, // -0.490175, 0.391118, -0.180180, 0.169108, 0.206663, 0.623321, 0.260009, 0.081943, 0.004485, 0.136199, 0.060353, // -0.641224, -0.181559, -0.041761, 0.578416, -0.161798, -0.573128, -0.187563, 0.012533, 0.368041, 0.314619, @@ -2334,25 +2334,25 @@ TEST_F(DeclarableOpsTests3, svd_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test9) { - auto x= NDArrayFactory::create('c', {2,2,5,6}, {17 ,-11 ,20 ,-10 ,19 ,13 ,-18 ,6 ,-2 ,-6 ,-10 ,4 ,-6 ,-4 ,3 ,16 ,12 , + auto x= NDArrayFactory::create( {2,2,5,6}, {17 ,-11 ,20 ,-10 ,19 ,13 ,-18 ,6 ,-2 ,-6 ,-10 ,4 ,-6 ,-4 ,3 ,16 ,12 , -15 ,8 ,-8 ,12 ,-1 ,20 ,19 ,-13 ,0 ,20 ,17 ,-8 ,16 ,-19 ,7 ,-16 ,-14 ,-5 ,7 ,7 ,-5 ,12 ,-15 ,7 ,8 , 1 ,-8 ,-17 ,10 ,-11 ,8 ,-10 ,1 ,-6 ,10 ,15 ,19 ,-15 ,8 ,2 ,8 ,12 ,7 ,-5 ,1 ,8 ,4 ,-13 ,2 ,19 ,-2 ,-10 , -8 ,11 ,1 ,20 ,-11 ,4 ,1 ,-17 ,-15 ,0 ,-9 ,-4 ,-1 ,-6 ,-9 ,-13 ,10 ,7 ,-2 ,15 ,-10 ,-1 ,11 ,-20 ,-2 , -1 ,-18 ,12 ,16 ,8 ,-9 ,-20 ,-7 ,-20 ,3 ,-9 ,12 ,8 ,-19 ,-2 ,2 ,1 ,7 ,10 ,-18 ,13 ,6 ,14 ,0 ,19 ,8}); - auto expS= NDArrayFactory::create('c', {2,2,5}, {50.46507, 35.75599, 28.12787, 12.45245, 9.08545, + auto expS= NDArrayFactory::create( {2,2,5}, {50.46507, 35.75599, 28.12787, 12.45245, 9.08545, 38.56035, 30.62846, 26.31646, 19.42605, 3.01162, 38.56369, 29.18881, 19.54565, 10.89746, 2.017 , 44.99108, 34.95059, 26.00453, 15.43898, 7.18752}); - auto expU= NDArrayFactory::create('c', {2,2,5,5}, {-0.73644, -0.10751, 0.10081, -0.00325, 0.66025,0.26329, 0.3079 , 0.38582, 0.77696, 0.28872,0.03076, 0.03015, -0.9128 , 0.36387, 0.18039, + auto expU= NDArrayFactory::create( {2,2,5,5}, {-0.73644, -0.10751, 0.10081, -0.00325, 0.66025,0.26329, 0.3079 , 0.38582, 0.77696, 0.28872,0.03076, 0.03015, -0.9128 , 0.36387, 0.18039, -0.61335, 0.10076, 0.01381, 0.40922, -0.66783,-0.10577, 0.93946, -0.0871 , -0.31058, 0.04677,0.52823, 0.31163, -0.78777, 0.02322, -0.05234, -0.23942, -0.45801, -0.34248, 0.71286, 0.32778,0.26147, 0.60409, 0.39933, 0.46862, 0.43318,0.62118, -0.37993, 0.30992, 0.34537, -0.50444, 0.45763, -0.42877, 0.08128, -0.3904 , 0.66912,-0.05428, 0.53632, 0.19774, -0.32198, 0.75276,-0.21986, -0.8214 , -0.00392, -0.1659 , 0.49944, -0.79443, 0.1633 , -0.45374, -0.31666, -0.18989,-0.24459, 0.10463, -0.27652, 0.85595, 0.34657,0.50772, 0.00757, -0.82374, -0.18941, 0.16658, 0.49473, -0.39923, -0.20758, 0.74339, -0.01213, -0.2024 , -0.80239, -0.35502, -0.3982 , -0.17492,0.68875, 0.1822 , -0.08046, -0.39238, -0.57619,0.34555, 0.12488, -0.50703, -0.29269, 0.72267,-0.34713, 0.3847 , -0.7532 , 0.22176, -0.33913}); - auto expV= NDArrayFactory::create('c', {2,2,6,6}, {-4.15640000e-01, -5.30190000e-01, 5.29200000e-02, -7.15710000e-01,-1.10690000e-01, 1.37280000e-01,2.86620000e-01, 5.88200000e-02, 1.68760000e-01, -2.55000000e-03,-1.00090000e-01, 9.35890000e-01, + auto expV= NDArrayFactory::create( {2,2,6,6}, {-4.15640000e-01, -5.30190000e-01, 5.29200000e-02, -7.15710000e-01,-1.10690000e-01, 1.37280000e-01,2.86620000e-01, 5.88200000e-02, 1.68760000e-01, -2.55000000e-03,-1.00090000e-01, 9.35890000e-01, -4.88230000e-01, 4.84470000e-01, -1.09150000e-01, -1.46810000e-01,6.70320000e-01, 2.10040000e-01,1.00910000e-01, 4.35740000e-01, -6.90500000e-01, -3.61090000e-01,-4.38680000e-01, 1.83200000e-02, -5.48440000e-01, -2.86950000e-01, -4.23900000e-01, 5.78540000e-01,-2.10060000e-01, 2.41550000e-01,-4.42450000e-01, 4.56640000e-01, 5.48020000e-01, 3.32100000e-02,-5.40210000e-01, -4.97000000e-02, -6.36070000e-01, 5.57600000e-02, 3.28740000e-01, 3.81950000e-01,-4.21850000e-01, 4.00490000e-01,1.83740000e-01, -1.36190000e-01, -2.29380000e-01, -5.11090000e-01,-2.06580000e-01, 7.68890000e-01, @@ -2396,24 +2396,24 @@ TEST_F(DeclarableOpsTests3, svd_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, svd_test10) { - auto x= NDArrayFactory::create('c', {2,2,5,6}, {17 ,-11 ,20 ,-10 ,19 ,13 ,-18 ,6 ,-2 ,-6 ,-10 ,4 ,-6 ,-4 ,3 ,16 ,12 , + auto x= NDArrayFactory::create( {2,2,5,6}, {17 ,-11 ,20 ,-10 ,19 ,13 ,-18 ,6 ,-2 ,-6 ,-10 ,4 ,-6 ,-4 ,3 ,16 ,12 , -15 ,8 ,-8 ,12 ,-1 ,20 ,19 ,-13 ,0 ,20 ,17 ,-8 ,16 ,-19 ,7 ,-16 ,-14 ,-5 ,7 ,7 ,-5 ,12 ,-15 ,7 ,8 , 1 ,-8 ,-17 ,10 ,-11 ,8 ,-10 ,1 ,-6 ,10 ,15 ,19 ,-15 ,8 ,2 ,8 ,12 ,7 ,-5 ,1 ,8 ,4 ,-13 ,2 ,19 ,-2 ,-10 , -8 ,11 ,1 ,20 ,-11 ,4 ,1 ,-17 ,-15 ,0 ,-9 ,-4 ,-1 ,-6 ,-9 ,-13 ,10 ,7 ,-2 ,15 ,-10 ,-1 ,11 ,-20 ,-2 , -1 ,-18 ,12 ,16 ,8 ,-9 ,-20 ,-7 ,-20 ,3 ,-9 ,12 ,8 ,-19 ,-2 ,2 ,1 ,7 ,10 ,-18 ,13 ,6 ,14 ,0 ,19 ,8}); - auto expS= NDArrayFactory::create('c', {2,2,5}, {50.46507, 35.75599, 28.12787, 12.45245, 9.08545, + auto expS= NDArrayFactory::create( {2,2,5}, {50.46507, 35.75599, 28.12787, 12.45245, 9.08545, 38.56035, 30.62846, 26.31646, 19.42605, 3.01162, 38.56369, 29.18881, 19.54565, 10.89746, 2.017 , 44.99108, 34.95059, 26.00453, 15.43898, 7.18752}); - auto expU= NDArrayFactory::create('c', {2,2,5,5}, {-0.73644, -0.10751, 0.10081, -0.00325, 0.66025,0.26329, 0.3079 , 0.38582, 0.77696, 0.28872,0.03076, 0.03015, -0.9128 , 0.36387, 0.18039,-0.61335, 0.10076, 0.01381, 0.40922, -0.66783, + auto expU= NDArrayFactory::create( {2,2,5,5}, {-0.73644, -0.10751, 0.10081, -0.00325, 0.66025,0.26329, 0.3079 , 0.38582, 0.77696, 0.28872,0.03076, 0.03015, -0.9128 , 0.36387, 0.18039,-0.61335, 0.10076, 0.01381, 0.40922, -0.66783, -0.10577, 0.93946, -0.0871 , -0.31058, 0.04677,0.52823, 0.31163, -0.78777, 0.02322, -0.05234,-0.23942, -0.45801, -0.34248, 0.71286, 0.32778,0.26147, 0.60409, 0.39933, 0.46862, 0.43318, 0.62118, -0.37993, 0.30992, 0.34537, -0.50444,0.45763, -0.42877, 0.08128, -0.3904 , 0.66912,-0.05428, 0.53632, 0.19774, -0.32198, 0.75276,-0.21986, -0.8214 , -0.00392, -0.1659 , 0.49944, -0.79443, 0.1633 , -0.45374, -0.31666, -0.18989,-0.24459, 0.10463, -0.27652, 0.85595, 0.34657,0.50772, 0.00757, -0.82374, -0.18941, 0.16658,0.49473, -0.39923, -0.20758, 0.74339, -0.01213, -0.2024 , -0.80239, -0.35502, -0.3982 , -0.17492,0.68875, 0.1822 , -0.08046, -0.39238, -0.57619,0.34555, 0.12488, -0.50703, -0.29269, 0.72267,-0.34713, 0.3847 , -0.7532 , 0.22176, -0.33913}); - auto expV= NDArrayFactory::create('c', {2,2,6,5}, { -4.15640000e-01, -5.30190000e-01, 5.29200000e-02, -7.15710000e-01,-1.10690000e-01,2.86620000e-01, 5.88200000e-02, 1.68760000e-01, -2.55000000e-03,-1.00090000e-01, + auto expV= NDArrayFactory::create( {2,2,6,5}, { -4.15640000e-01, -5.30190000e-01, 5.29200000e-02, -7.15710000e-01,-1.10690000e-01,2.86620000e-01, 5.88200000e-02, 1.68760000e-01, -2.55000000e-03,-1.00090000e-01, -4.88230000e-01, 4.84470000e-01, -1.09150000e-01, -1.46810000e-01,6.70320000e-01,1.00910000e-01, 4.35740000e-01, -6.90500000e-01, -3.61090000e-01,-4.38680000e-01,-5.48440000e-01, -2.86950000e-01, -4.23900000e-01, 5.78540000e-01, -2.10060000e-01,-4.42450000e-01, 4.56640000e-01, 5.48020000e-01, 3.32100000e-02,-5.40210000e-01,-6.36070000e-01, 5.57600000e-02, 3.28740000e-01, 3.81950000e-01,-4.21850000e-01, 1.83740000e-01, -1.36190000e-01, -2.29380000e-01, -5.11090000e-01,-2.06580000e-01,-4.81880000e-01, -6.31100000e-01, 3.40000000e-04, -1.35730000e-01,5.88210000e-01,2.25200000e-01, 4.30600000e-02, 9.08510000e-01, -3.08940000e-01, @@ -2517,8 +2517,8 @@ TEST_F(DeclarableOpsTests3, svd_test12) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, elu_test1) { - auto x = NDArrayFactory::create('c', {3,3}, {0.1, .2, .3, -.4,-.5,-.6, .7, .8, .9}); - auto exp = NDArrayFactory::create('c', {3,3}, {.1, .2, .3, 0.5*-0.32968, 0.5*-0.393469, 0.5*-0.451188, .7, .8, .9}); + auto x = NDArrayFactory::create( {3,3}, {0.1, .2, .3, -.4,-.5,-.6, .7, .8, .9}); + auto exp = NDArrayFactory::create( {3,3}, {.1, .2, .3, 0.5*-0.32968, 0.5*-0.393469, 0.5*-0.451188, .7, .8, .9}); sd::ops::elu op; auto result = op.evaluate({&x}, {0.5}, {}); @@ -2533,10 +2533,10 @@ TEST_F(DeclarableOpsTests3, elu_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, elu_bp_test1) { - auto x = NDArrayFactory::create('c', {3, 3}, {0.1, .2, .3, -.4, -.5, -.6, .7, .8, .9}); - auto eps = NDArrayFactory::create('c', {3,3}); + auto x = NDArrayFactory::create( {3, 3}, {0.1, .2, .3, -.4, -.5, -.6, .7, .8, .9}); + auto eps = NDArrayFactory::create( {3,3}); eps.assign(2.); - auto exp = NDArrayFactory::create('c', {3, 3}, {2, 2, 2, 0.5*1.34064, 0.5*1.213061, 0.5*1.097623, 2, 2, 2}); + auto exp = NDArrayFactory::create( {3, 3}, {2, 2, 2, 0.5*1.34064, 0.5*1.213061, 0.5*1.097623, 2, 2, 2}); sd::ops::elu_bp op; auto result = op.evaluate({ &x, &eps }, {0.5}, {}); @@ -2551,8 +2551,8 @@ TEST_F(DeclarableOpsTests3, elu_bp_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, lrelu_test1) { - auto x = NDArrayFactory::create('c', {3,3}, {1, 2, 3, -4,-5,-6, 7, 8, 9}); - auto exp = NDArrayFactory::create('c', {3,3}, {1, 2, 3, -0.8, -1., -1.2, 7, 8, 9}); + auto x = NDArrayFactory::create( {3,3}, {1, 2, 3, -4,-5,-6, 7, 8, 9}); + auto exp = NDArrayFactory::create( {3,3}, {1, 2, 3, -0.8, -1., -1.2, 7, 8, 9}); sd::ops::lrelu op; auto result = op.evaluate({&x}, {0.2}, {}); @@ -2566,9 +2566,9 @@ TEST_F(DeclarableOpsTests3, lrelu_test1) { TEST_F(DeclarableOpsTests3, lrelu_bp_test1) { - auto x = NDArrayFactory::create('c', {3,3}, {1, 2, 3, -4,-5,-6, 7, 8, 9}); - auto eps = NDArrayFactory::create('c', {3,3}, {2,2,2,2,2,2,2, 2,2}); - auto exp = NDArrayFactory::create('c', {3,3}, {2, 2, 2, 0.4, 0.4, 0.4, 2, 2, 2}); + auto x = NDArrayFactory::create( {3,3}, {1, 2, 3, -4,-5,-6, 7, 8, 9}); + auto eps = NDArrayFactory::create( {3,3}, {2,2,2,2,2,2,2, 2,2}); + auto exp = NDArrayFactory::create( {3,3}, {2, 2, 2, 0.4, 0.4, 0.4, 2, 2, 2}); sd::ops::lrelu_bp op; auto result = op.evaluate({&x, &eps}, {0.2}, {}); @@ -2583,8 +2583,8 @@ TEST_F(DeclarableOpsTests3, lrelu_bp_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, selu_test1) { - auto x = NDArrayFactory::create('c', {3,3}, {1, 2, 3, -4,-5,-6, 7, 8, 9}); - auto exp = NDArrayFactory::create('c', {3,3}, {1.050701, 2.101402, 3.152103, -1.725899, -1.746253, -1.753742, 7.354907, 8.405608, 9.456309}); + auto x = NDArrayFactory::create( {3,3}, {1, 2, 3, -4,-5,-6, 7, 8, 9}); + auto exp = NDArrayFactory::create( {3,3}, {1.050701, 2.101402, 3.152103, -1.725899, -1.746253, -1.753742, 7.354907, 8.405608, 9.456309}); sd::ops::selu op; auto result = op.evaluate({&x}, {}, {}); @@ -2598,10 +2598,10 @@ TEST_F(DeclarableOpsTests3, selu_test1) { TEST_F(DeclarableOpsTests3, selu_test2) { - auto x = NDArrayFactory::create('c', {3,3}, {1, 2, 3, -4,-5,-6, 7, 8, 9}); -// auto expS = NDArrayFactory::create('c', {3}); - auto eps = NDArrayFactory::create('c', {3,3}, {2,2,2,2,2,2,2, 2,2}); - auto exp = NDArrayFactory::create('c', {3,3}, {2.101401, 2.101402, 2.101402, 0.064401, 0.023692, 0.008716, 2.101402, 2.101402, 2.101402}); + auto x = NDArrayFactory::create( {3,3}, {1, 2, 3, -4,-5,-6, 7, 8, 9}); +// auto expS = NDArrayFactory::create( {3}); + auto eps = NDArrayFactory::create( {3,3}, {2,2,2,2,2,2,2, 2,2}); + auto exp = NDArrayFactory::create( {3,3}, {2.101401, 2.101402, 2.101402, 0.064401, 0.023692, 0.008716, 2.101402, 2.101402, 2.101402}); sd::ops::selu_bp op; auto result = op.evaluate({&x, &eps}, {0.2}, {}); From c59c23e3035dcab8e71a958d04ce38e14ab3afe3 Mon Sep 17 00:00:00 2001 From: shugeo Date: Thu, 18 Jun 2020 17:20:17 +0300 Subject: [PATCH 56/99] Fixed misc with the third test file. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests3.cpp | 90 +++++++++---------- 1 file changed, 42 insertions(+), 48 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp index 9c8117aa7287..baf1d7d7abbf 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp @@ -908,7 +908,7 @@ TEST_F(DeclarableOpsTests3, invertPermutation_test1) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -928,7 +928,7 @@ TEST_F(DeclarableOpsTests3, invertPermutation_test2) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -947,7 +947,7 @@ TEST_F(DeclarableOpsTests3, invertPermutation_test3) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -967,7 +967,7 @@ TEST_F(DeclarableOpsTests3, diag_test1) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -987,7 +987,7 @@ TEST_F(DeclarableOpsTests3, diag_test2) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1003,7 +1003,7 @@ TEST_F(DeclarableOpsTests3, diag_test_vector) { auto expected= NDArrayFactory::create( {4,4}, {1,0,0,0, 0,2,0,0, 0,0,3,0,0,0,0,4}); sd::ops::diag op; - auto result = op.evaluate({input}); + auto result = op.evaluate({&input}); ASSERT_EQ(ND4J_STATUS_OK, result.status()); @@ -1011,29 +1011,23 @@ TEST_F(DeclarableOpsTests3, diag_test_vector) { ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); - - delete input; } TEST_F(DeclarableOpsTests3, diag_test_col_vector) { - auto input = NDArrayFactory::linspace(1,4,4); - input->reshapei({4,1}); + input.reshapei({4,1}); auto expected= NDArrayFactory::create( {4,4}, {1,0,0,0, 0,2,0,0, 0,0,3,0,0,0,0,4}); sd::ops::diag op; - auto result = op.evaluate({input}, {}, {}); + auto result = op.evaluate({&input}, {}, {}); ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); - - - delete input; } /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests3, diag_test3) { @@ -1048,7 +1042,7 @@ TEST_F(DeclarableOpsTests3, diag_test3) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1068,7 +1062,7 @@ TEST_F(DeclarableOpsTests3, diag_test4) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1088,7 +1082,7 @@ TEST_F(DeclarableOpsTests3, diag_test5) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1108,7 +1102,7 @@ TEST_F(DeclarableOpsTests3, diag_test6) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1130,7 +1124,7 @@ TEST_F(DeclarableOpsTests3, matrixSetDiag_test1) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1152,7 +1146,7 @@ TEST_F(DeclarableOpsTests3, matrixSetDiag_test2) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1175,7 +1169,7 @@ TEST_F(DeclarableOpsTests3, matrixSetDiag_test3) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1197,7 +1191,7 @@ TEST_F(DeclarableOpsTests3, matrixSetDiag_test4) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1217,7 +1211,7 @@ TEST_F(DeclarableOpsTests3, diagPart_test1) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); // output->printBuffer(); ASSERT_TRUE(expected.isSameShape(output)); @@ -1238,7 +1232,7 @@ TEST_F(DeclarableOpsTests3, diagPart_test2) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1258,7 +1252,7 @@ TEST_F(DeclarableOpsTests3, diagPart_test3) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1308,7 +1302,7 @@ TEST_F(DeclarableOpsTests3, betainc_test2) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1333,7 +1327,7 @@ TEST_F(DeclarableOpsTests3, betainc_test3) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1358,7 +1352,7 @@ TEST_F(DeclarableOpsTests3, betainc_test4) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output, 1e-6)); @@ -1383,7 +1377,7 @@ TEST_F(DeclarableOpsTests3, betainc_test5) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output, 1e-6)); @@ -1408,7 +1402,7 @@ TEST_F(DeclarableOpsTests3, betainc_test6) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output, 1e-6)); @@ -1433,7 +1427,7 @@ TEST_F(DeclarableOpsTests3, betainc_test7) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output, 1e-6)); @@ -1458,7 +1452,7 @@ TEST_F(DeclarableOpsTests3, betainc_test8) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output, 1e-6)); @@ -1484,7 +1478,7 @@ TEST_F(DeclarableOpsTests3, betainc_test9) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1509,7 +1503,7 @@ TEST_F(DeclarableOpsTests3, betainc_test10) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1529,7 +1523,7 @@ TEST_F(DeclarableOpsTests3, betainc_test11) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1550,7 +1544,7 @@ TEST_F(DeclarableOpsTests3, betainc_test12) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1573,7 +1567,7 @@ TEST_F(DeclarableOpsTests3, zeta_test1) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1596,7 +1590,7 @@ TEST_F(DeclarableOpsTests3, zeta_test2) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1621,7 +1615,7 @@ TEST_F(DeclarableOpsTests3, zeta_test3) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1645,7 +1639,7 @@ TEST_F(DeclarableOpsTests3, zeta_test4) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1668,7 +1662,7 @@ TEST_F(DeclarableOpsTests3, zeta_test5) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1691,7 +1685,7 @@ TEST_F(DeclarableOpsTests3, zeta_test6) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1715,7 +1709,7 @@ TEST_F(DeclarableOpsTests3, zeta_test7) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1738,7 +1732,7 @@ TEST_F(DeclarableOpsTests3, zeta_test8) { ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); ASSERT_TRUE(expected.isSameShape(output)); ASSERT_TRUE(expected.equalsTo(output)); @@ -1763,7 +1757,7 @@ TEST_F(DeclarableOpsTests3, zeta_test9) { ASSERT_EQ(ND4J_STATUS_OK, results); - //auto *output = result.at(0); + //auto output = result.at(0); // z.printIndexedBuffer("Zeta output"); ASSERT_TRUE(expected.isSameShape(z)); ASSERT_TRUE(expected.equalsTo(z)); @@ -1788,7 +1782,7 @@ TEST_F(DeclarableOpsTests3, zeta_test10) { ASSERT_EQ(ND4J_STATUS_OK, results); - //auto *output = result.at(0); + //auto output = result.at(0); // z.printIndexedBuffer("Zeta output"); ASSERT_TRUE(expected.isSameShape(z)); ASSERT_TRUE(expected.equalsTo(z)); @@ -1799,7 +1793,7 @@ TEST_F(DeclarableOpsTests3, zeta_test10) { TEST_F(DeclarableOpsTests3, Test_SplitV_Validation_1) { auto x = NDArrayFactory::create( {8, 7}); - auto indices = NDArrayFactory::create('c',{2}, {5, 3}); + auto indices = NDArrayFactory::create({2}, {5, 3}); auto axis = NDArrayFactory::create(-2); auto z0 = NDArrayFactory::create( {5, 7}); From b1a6cc009bd1c18d51ace5ede7373814446cb9f6 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 19 Jun 2020 10:12:11 +0300 Subject: [PATCH 57/99] Fixed the fourth test file with new factory create methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests4.cpp | 498 +++++++++--------- 1 file changed, 249 insertions(+), 249 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp index 537cf51d7714..9b9feb1314bf 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp @@ -58,8 +58,8 @@ TYPED_TEST_CASE(TypedDeclarableOpsTests4, TestingTypes); ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_1) { - auto x = NDArrayFactory::create('c', {2, 4, 4, 2}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, {6.f, 7.f, 10.f, 11.f, 22.f, 23.f, 26.f, 27.f, 38.f, 39.f, 42.f, 43.f, 54.f, 55.f, 58.f, 59.f}); + auto x = NDArrayFactory::create( {2, 4, 4, 2}); + auto exp = NDArrayFactory::create( {2, 2, 2, 2}, {6.f, 7.f, 10.f, 11.f, 22.f, 23.f, 26.f, 27.f, 38.f, 39.f, 42.f, 43.f, 54.f, 55.f, 58.f, 59.f}); x.linspace(1); @@ -78,8 +78,8 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_1) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_2) { - auto x = NDArrayFactory::create('c', {2, 4, 4, 2}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, {6.f, 7.f, 10.f, 11.f, 22.f, 23.f, 26.f, 27.f, 38.f, 39.f, 42.f, 43.f, 54.f, 55.f, 58.f, 59.f}); + auto x = NDArrayFactory::create( {2, 4, 4, 2}); + auto exp = NDArrayFactory::create( {2, 2, 2, 2}, {6.f, 7.f, 10.f, 11.f, 22.f, 23.f, 26.f, 27.f, 38.f, 39.f, 42.f, 43.f, 54.f, 55.f, 58.f, 59.f}); x.linspace(1); @@ -99,8 +99,8 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_2) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_3) { - auto x = NDArrayFactory::create('c', {2, 5, 5, 2}); - auto exp = NDArrayFactory::create('c', {2, 3, 3, 2}, {7.f, 8.f, 11.f, 12.f, 14.f, 15.f, 27.f, 28.f, 31.f, 32.f, 34.f, 35.f, 42.f, 43.f, 46.f, 47.f, 49.f, 50.f, 57.f, 58.f, 61.f, 62.f, 64.f, 65.f, 77.f, 78.f, 81.f, 82.f, 84.f, 85.f, 92.f, 93.f, 96.f, 97.f, 99.f, 100.f,}); + auto x = NDArrayFactory::create( {2, 5, 5, 2}); + auto exp = NDArrayFactory::create( {2, 3, 3, 2}, {7.f, 8.f, 11.f, 12.f, 14.f, 15.f, 27.f, 28.f, 31.f, 32.f, 34.f, 35.f, 42.f, 43.f, 46.f, 47.f, 49.f, 50.f, 57.f, 58.f, 61.f, 62.f, 64.f, 65.f, 77.f, 78.f, 81.f, 82.f, 84.f, 85.f, 92.f, 93.f, 96.f, 97.f, 99.f, 100.f,}); x.linspace(1); @@ -120,8 +120,8 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_3) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_4) { - auto x = NDArrayFactory::create('c', {2, 5, 5, 2}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, {7.f, 8.f, 11.f, 12.f, 27.f, 28.f, 31.f, 32.f, 57.f, 58.f, 61.f, 62.f, 77.f, 78.f, 81.f, 82.f}); + auto x = NDArrayFactory::create( {2, 5, 5, 2}); + auto exp = NDArrayFactory::create( {2, 2, 2, 2}, {7.f, 8.f, 11.f, 12.f, 27.f, 28.f, 31.f, 32.f, 57.f, 58.f, 61.f, 62.f, 77.f, 78.f, 81.f, 82.f}); x.linspace(1); @@ -140,8 +140,8 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_4) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_5) { - auto x = NDArrayFactory::create('c', {2, 2, 5, 5}); - auto exp = NDArrayFactory::create('c', {2, 2, 3, 3}, {1.f, 2.5f, 4.5f, 8.5f, 10.f, 12.f, 18.5f, 20.f, 22.f, 26.f, 27.5f, 29.5f, 33.5f, 35.f, 37.f, 43.5f, 45.f, 47.f, 51.f, 52.5f, 54.5f, 58.5f, 60.f, 62.f, 68.5f, 70.f, 72.f, 76.f, 77.5f, 79.5f, 83.5f, 85.f, 87.f, 93.5f, 95.f, 97.f}); + auto x = NDArrayFactory::create( {2, 2, 5, 5}); + auto exp = NDArrayFactory::create( {2, 2, 3, 3}, {1.f, 2.5f, 4.5f, 8.5f, 10.f, 12.f, 18.5f, 20.f, 22.f, 26.f, 27.5f, 29.5f, 33.5f, 35.f, 37.f, 43.5f, 45.f, 47.f, 51.f, 52.5f, 54.5f, 58.5f, 60.f, 62.f, 68.5f, 70.f, 72.f, 76.f, 77.5f, 79.5f, 83.5f, 85.f, 87.f, 93.5f, 95.f, 97.f}); x.linspace(1); @@ -161,8 +161,8 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_5) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_6) { - auto x = NDArrayFactory::create('c', {2, 2, 5, 5}); - auto exp = NDArrayFactory::create('c', {2, 2, 3, 3}, {0.25f, 1.25f, 2.25f, 4.25f, 10.f, 12.f, 9.25f, 20.f, 22.f, 6.5f, 13.75f, 14.75, 16.75f, 35.f, 37.f, 21.75f, 45.f, 47.f, 12.75f, 26.25f, 27.25f, 29.25f, 60.f, 62.f, 34.25f, 70.f, 72.f, 19.f, 38.75f, 39.75f, 41.75f, 85.f, 87.f, 46.75f, 95.f, 97.f}); + auto x = NDArrayFactory::create( {2, 2, 5, 5}); + auto exp = NDArrayFactory::create( {2, 2, 3, 3}, {0.25f, 1.25f, 2.25f, 4.25f, 10.f, 12.f, 9.25f, 20.f, 22.f, 6.5f, 13.75f, 14.75, 16.75f, 35.f, 37.f, 21.75f, 45.f, 47.f, 12.75f, 26.25f, 27.25f, 29.25f, 60.f, 62.f, 34.25f, 70.f, 72.f, 19.f, 38.75f, 39.75f, 41.75f, 85.f, 87.f, 46.75f, 95.f, 97.f}); x.linspace(1); @@ -182,8 +182,8 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_6) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_7) { - auto x = NDArrayFactory::create('c', {2, 2, 5, 5}); - auto exp = NDArrayFactory::create('c', {2, 2, 3, 3}, {4.f, 6.f, 7.5f, 14.f, 16.f, 17.5f, 21.5f, 23.5f, 25.f, 29.f, 31.f, 32.5f, 39.f, 41.f, 42.5f, 46.5f, 48.5f, 50.f, 54.f, 56.f, 57.5f, 64.f, 66.f, 67.5f, 71.5f, 73.5f, 75.f, 79.f, 81.f, 82.5f, 89.f, 91.f, 92.5f, 96.5f, 98.5f, 100.f}); + auto x = NDArrayFactory::create( {2, 2, 5, 5}); + auto exp = NDArrayFactory::create( {2, 2, 3, 3}, {4.f, 6.f, 7.5f, 14.f, 16.f, 17.5f, 21.5f, 23.5f, 25.f, 29.f, 31.f, 32.5f, 39.f, 41.f, 42.5f, 46.5f, 48.5f, 50.f, 54.f, 56.f, 57.5f, 64.f, 66.f, 67.5f, 71.5f, 73.5f, 75.f, 79.f, 81.f, 82.5f, 89.f, 91.f, 92.5f, 96.5f, 98.5f, 100.f}); x.linspace(1); @@ -203,8 +203,8 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_7) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_8) { - auto x = NDArrayFactory::create('c', {1, 1, 3, 3}); - auto exp = NDArrayFactory::create('c', {1, 1, 2, 2}, {3.f, 4.f, 6.f, 7.f}); + auto x = NDArrayFactory::create( {1, 1, 3, 3}); + auto exp = NDArrayFactory::create( {1, 1, 2, 2}, {3.f, 4.f, 6.f, 7.f}); x.linspace(1); @@ -223,8 +223,8 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_8) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_9) { - auto x = NDArrayFactory::create('c', {1, 1, 3, 3}); - auto exp = NDArrayFactory::create('c', {1, 1, 3, 3}, {3.f, 4.f, 4.5f, 6.f, 7.f, 7.5f, 7.5f, 8.5f, 9.f}); + auto x = NDArrayFactory::create( {1, 1, 3, 3}); + auto exp = NDArrayFactory::create( {1, 1, 3, 3}, {3.f, 4.f, 4.5f, 6.f, 7.f, 7.5f, 7.5f, 8.5f, 9.f}); x.linspace(1); @@ -248,7 +248,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_9) { ////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_10) { - auto input = NDArrayFactory::create('c', {4, 10, 10, 3}, {9.37125111f, 2.20166993f, 2.91434479f, 5.43639755f, -2.10573769f, 4.08528662f, 5.86908436f, -4.46203756f, 2.21057916f, 5.35849190f, 0.01394637f, 4.40566349f, 7.07982206f, -0.09633455f, 2.42429352f, 3.97301817f, -1.89553940f, 1.99690318f, 6.33141708f, 0.55401880f, 1.70707977f, + auto input = NDArrayFactory::create( {4, 10, 10, 3}, {9.37125111f, 2.20166993f, 2.91434479f, 5.43639755f, -2.10573769f, 4.08528662f, 5.86908436f, -4.46203756f, 2.21057916f, 5.35849190f, 0.01394637f, 4.40566349f, 7.07982206f, -0.09633455f, 2.42429352f, 3.97301817f, -1.89553940f, 1.99690318f, 6.33141708f, 0.55401880f, 1.70707977f, 5.55204201f, -0.03513752f, 1.60011971f, 2.62700319f, -2.74582434f, 3.06697464f, 1.06277943f, -1.16075921f, -0.78095782f, 9.72352791f, -1.22686064f, 1.99644792f, 7.35571337f, 1.40607321f, 0.11390255f, 9.53334427f, 2.28303599f, -1.66728830f, 6.16678810f, -0.04532295f, -1.97708666f, 9.74906158f, 1.46223176f, -1.46734393f, 4.30761862f, -1.23790228f, 1.24823606f, 6.13938427f, -3.83689475f, -1.19625473f, 7.91535568f, 6.05868721f, -3.22946382f, 8.81633949f, -0.19967777f, 0.66053957f, 2.30919123f, 0.74543846f, -0.39347672f, 11.11058044f, 0.53720862f, 1.52645731f, 5.70012379f, -1.15213466f, 1.16451406f, 7.00526333f, 1.57362783f, -2.44384766f, 5.54213285f, -1.98828590f, -0.70483637f, 7.88281822f, -3.59875536f, 0.80745387f, 13.41578484f, -1.55507684f, -0.65855008f, 9.32583523f, -0.14544789f, 0.73436141f, 3.61176538f, -1.71268058f, -2.58490300f, 9.09280205f, -3.27405524f, -2.04569697f, 4.44761324f, -0.62955856f, -2.61917663f, 8.04890442f, 0.54579324f, 0.85929775f, 9.82259560f, -1.93825579f, 0.77703512f, @@ -259,7 +259,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, avgpool2d_10) { -0.99382895f, 0.65881538f, 7.93556786f, -1.27934420f, -1.69343162f, 9.68042564f, -1.02609646f, -1.18189347f, 5.75370646f, -1.67888868f, -4.48871994f, 4.79537392f, -0.79212248f, -0.19855022f, 6.15060997f, -0.01081491f, 3.64454579f, 10.82562447f, 1.58859253f, -2.65847278f, 8.60093212f, -1.59196103f, 0.07635692f, 11.76175690f, -1.17453325f, 0.10122013f, 6.86458445f, -2.18891335f, -2.74004745f, 8.07066154f, 0.71818852f, -2.03035975f, 6.31053686f, 0.51509416f, 1.39789927f, 9.43515587f, 2.04256630f, 0.13985133f, 4.65010691f, 2.40911126f, -0.36255789f, -3.06867862f, -0.45225358f, -1.56778407f, 6.05917358f, -1.09891272f, 1.77184200f, 6.46248102f, 0.96042323f, -0.24346280f, 4.63436460f, -4.69907761f, 1.25187206f, 11.46173859f, -2.21917558f, 1.28007793f, 6.92173195f, 2.11268163f, -3.47389889f, 5.08722782f, -3.03950930f, -4.17154264f, 11.30568314f, 0.80361372f, 2.53214502f, 7.18707085f, -4.49114513f, 2.85449266f, 10.14906883f, -0.31974933f, -0.84472644f, -0.52459574f, 0.12921631f, -1.81390119f, 2.76170087f, 1.03982210f, 2.91744232f, -0.29048753f, 5.87453508f, -1.53684759f, 1.85800636f, -0.91404629f, 1.28954852f, 5.11354685f, -2.47475505f, -1.33179152f, 2.58552408f, 1.37316465f, -3.32339454f, 1.54122913f, 3.24953628f, -0.29758382f, 2.82391763f, -1.51142192f, -1.22699404f, 6.75745535f, 0.65452754f, -3.29385471f, 2.06008053f, 2.53172946f, -4.23532820f, -1.53909743f, -0.07010663f, -1.42173731f, 7.29031610f, -0.18448229f, 4.59496164f, 6.73027277f, 0.73441899f, 0.14426160f, 4.14915276f, -2.97010231f, 6.05851364f, 4.95218086f, -2.39145470f, 2.40494704f, 2.10288811f, 0.53503096f, 1.44511235f, 6.66344261f, -3.05803776f, 7.21418667f, 3.30303526f, -0.24163735f, 3.47409391f, 3.64520788f, 2.15189481f, -3.11243272f, 3.62310791f, 0.37379482f, 0.40865007f, -0.83132005f, -4.78246069f, 2.07030797f, 6.51765442f, 3.16178989f, 5.06180477f, 3.78434467f, -0.96689719f, 0.35965276f, 5.89967585f, 1.40294051f, 1.11952639f, 10.59778214f, 0.26739889f, -1.61297631f, 6.24801159f, -0.93914318f, -0.57812452f, 9.92604542f, -0.73025000f, -3.38530874f, 2.45646000f, -2.47949195f, 0.51638460f, 10.65636063f, 1.97816694f, -3.00407791f, 2.66914415f, -0.81951088f, -0.23316640f, 2.40737987f, -2.70007610f, 1.51531935f, 4.08860207f, -0.27552786f, -1.31721711f, 7.11568260f, -3.33498216f, -4.02545023f, 7.22675610f, -0.81690705f, -2.52689576f, 1.04016697f, -0.79291463f, -0.34875512f, 10.00498390f, -4.24167728f, 1.46162593f, 11.82569408f, -1.70359993f, -0.30161047f, 16.44085884f, -0.82253462f, -0.09435523f, 6.13080597f, -0.20259480f, 0.68308711f, 6.15663004f, -6.61776876f, 0.33295766f, 2.55449438f, -0.17819691f, -1.14892209f, 5.56776142f, 1.99279118f, 1.33035934f, 4.45823956f, 3.34916544f, -2.59905386f, 6.16164446f, -2.03881931f, -2.45273542f, 12.46793365f, -2.22743297f, 2.83738565f, 8.48628139f, -1.39347959f, -1.30867767f, 11.08041477f, -4.00363779f, 2.09183025f, 11.30395889f, -2.20504737f, 1.37426853f, 8.98735619f, 1.04676604f, -0.72757077f, 8.28050232f, -6.70741081f, -0.65798020f, 5.68592072f, -0.60760021f, 0.35854483f, 6.26852131f, 1.94100165f, 1.32112014f, 0.80987954f, -1.74617672f, -0.25434083f, 7.16045523f, 1.58884013f, -2.64847064f, 13.14820385f, 1.21393633f, -2.47258949f, 9.41650105f, -0.79384226f, 2.48954105f, 10.95629311f, 0.47723705f, 4.02126694f, 8.02593136f, -2.20726371f, -1.18794477f, 1.50836647f, 0.93118095f, -1.73513174f, 8.85493565f, -2.99670315f, -0.79055870f, 2.39473820f, 2.05046916f, -2.38055134f, 11.82299423f, 0.15609655f, 0.68744308f, 5.66401434f, -0.69281673f, 2.09855556f, 7.74626589f, -0.34283102f, 1.00542057f, 9.95838642f, 0.80161905f, 2.33455157f, 9.80057335f, -0.93561798f, 2.56991577f, 8.29711342f, 0.94213426f, 0.44209945f, 11.70259857f, 0.92710167f, 2.60957146f, 0.24971688f, -0.86529571f, 3.78628922f, 6.80884457f, -0.68178189f, 2.21103406f, 3.18895817f, 0.60283208f, -2.92716241f, 6.72060776f, -1.06625068f, 2.56543374f, 9.97404480f, 3.58080721f, -0.94936347f, 10.16736984f, -1.38464379f, 1.18191063f, 6.66179037f, -3.56115270f, 0.32329530f, 10.90870762f, 2.20638227f, 0.19653285f, 7.34650040f, -3.63859272f, -1.03027737f, 5.98829985f, -3.66606474f, -3.89746714f, 8.63469028f, 1.22569811f, 1.63240814f, 3.74385309f, 0.58243257f, -0.56981975f, 3.69260955f, 1.00979900f, -1.44030499f, 8.57058144f, -1.10648811f, 1.20474911f, 5.43133020f, -2.14822555f, -0.07928789f, 11.25825310f, 0.19645604f, -5.49546146f, 10.41917038f, -0.68178523f, -2.99639869f, 6.50054455f, 0.46488351f, -5.42328453f, 9.09500027f, -2.82107449f, 0.05601966f, 15.34610748f, -0.06820253f, 3.86699796f, 10.73316956f, -3.04795432f, -0.14702171f, 5.64813185f, 1.44028485f, -2.47596145f, 0.07280898f, -3.03187990f, -1.35183525f, 9.35835648f, 2.72966957f, 1.88199532f, 10.36187744f, -0.22834805f, -3.26738238f, 6.92025137f, -2.34061313f, 4.77379704f, 5.28559113f, -2.96323752f, -1.76186585f, 5.94436455f, 0.38647744f, -5.73869514f, 6.76849556f, 1.40892124f, -1.19068217f, 5.37919092f, -6.65328646f, 3.62782669f, 12.34744644f, 2.44762444f, -4.19242620f, 6.14906216f, 0.08121119f, 0.61355996f, 2.69666457f, -1.88962626f, -0.55314136f, 1.84937525f, 1.56048691f, 1.17460012f, 3.75674725f, 1.06198275f, -5.74625874f, 5.41645575f, -1.28946674f, -1.51689398f, 4.32400894f, -0.05222082f, -4.83948946f, 1.80747867f, 1.63144708f, -2.73887825f, 1.63975775f, -2.02163982f, -0.16210437f, 2.93518686f, 1.14427686f, -2.83246303f, 4.79283667f, 2.69697428f, -3.12678456f, -1.19225168f, -2.37022972f, -3.09429741f, 1.94225383f, -1.13747168f, -2.55048585f, 5.40242243f, 1.12777328f, 3.43713188f, 3.62658787f, -2.16878843f, 0.30164462f, 2.97407579f, -0.07275413f, -1.31149673f, 4.70066261f, -2.01323795f, 4.85255766f, 4.59128904f, 1.68084168f, 1.60336494f, 6.58138466f, -1.04759812f, 2.69906545f, 3.55769277f, -0.74327278f, 2.65819693f, 5.39528131f, 2.11248922f, -1.06446671f, 5.24546766f, -2.43146014f, 4.58907509f, 0.06521678f, -2.24503994f, 2.45722699f, 6.94863081f, 0.35258654f, 2.83396196f, 9.92525196f, -1.12225175f, -0.34365177f, 7.19116688f, -4.39813757f, 0.46517885f, 13.22028065f, -2.57483673f, -6.37226963f, 7.58046293f, -2.74600363f, 0.42231262f, 8.04881668f, 0.17289802f, -0.53447008f, 16.55157471f, -5.63614368f, 0.39288223f, 3.37079263f, 1.26484549f, -0.12820500f, 8.46440125f, -4.39304399f, 2.97676420f, 0.65650189f, 0.83158541f, -1.11556435f, 6.32885838f, -0.36087769f, 2.80724382f, 9.90292645f, 1.15936041f, 0.20947981f, 6.91249275f, -2.67404819f, 2.93782163f, 6.65656614f, -2.30828357f, 2.98214006f, 6.80611229f, -4.93821478f, -7.66555262f, 7.59763002f, -0.54159302f, 3.87403512f, 12.42607784f, 2.59284401f, -0.23375344f, 8.95293331f, -0.71807784f, 0.61873478f, 8.66713524f, 1.24289191f, -2.37835455f, 2.08071637f, -0.88315344f, -3.41891551f, 6.85245323f, 1.73007369f, 1.02169311f, 7.69170332f, -2.85411978f, 2.69790673f, 8.12906551f, -1.19351399f, -2.26442742f, 12.26104450f, -0.75579089f, -1.73274946f, 10.68729019f, 2.20655656f, -0.90522075f, 12.42165184f, -1.67929137f, 2.44851565f, 9.31565762f, -0.06645700f, 1.52762020f, 6.18427515f, -1.68882596f, 3.70261097f, 3.02252960f, -3.44125366f, -1.31575799f, 2.84617424f, -0.96849400f, -4.52356243f, 9.95027161f, 0.19966406f, -0.78874779f, 8.18595028f, -4.08300209f, 1.75126517f, 0.96418417f, -4.04913044f, -0.95200396f, 12.03637886f, -0.03041124f, 0.41642749f, 8.88267422f, -3.24985337f, -2.24919462f, 7.32566118f, 0.16964148f, -2.74123430f, 7.05264473f, -3.30191112f, 0.17163286f, 4.81851053f, -1.64463484f, -0.85933101f, 7.29276276f, 2.34066939f, -2.14860010f, 3.46148157f, -0.01782012f, 1.51504040f, 4.79304934f, 1.85281146f, -1.70663762f, 6.93470192f, -4.15440845f, -1.25983095f, 10.52491760f, 0.42930329f, -1.85146868f, 11.70042324f, -0.41704914f, 3.83796859f, 9.21148491f, -2.79719448f, 0.79470479f, 6.26926661f, -5.85230207f, 3.95105338f, 7.84790897f, -1.38680744f, -1.78099084f, 11.95235348f, -2.99841452f, -1.34507811f, 6.15714645f, -1.07552516f, -2.81228638f, 1.66234732f, -4.55166149f, -1.92601109f, 8.64634514f, -0.48158705f, 3.31595659f, 7.67371941f, 2.56964207f, 0.12107098f, 4.56467867f, -0.93541539f, 1.39432955f, 11.99714088f, 1.05353570f, -2.13099813f, 3.67617917f, 3.45895386f, 1.37365830f, 8.74344158f, -4.17585802f, 1.43908918f, 6.28764772f, 3.97346330f, -0.69144285f, 9.07983303f, -0.41635889f, -0.14965028f, 8.85469818f, 1.11306190f, 2.59440994f, 5.38982344f, -1.07948279f, 1.37252975f, 10.26984596f, -0.09318046f, 2.73104119f, 12.45902252f, -1.55446684f, -2.76124811f, 12.19395065f, -0.51846564f, 1.02764034f, 11.42673588f, -0.95940983f, -0.04781032f, 8.78379822f, -4.88957930f, 0.32534006f, 11.97696400f, -3.35108662f, 1.95104563f, 4.46915388f, -2.32061648f, 3.45230985f, 8.29983711f, 2.81034684f, -2.35529327f, 6.07801294f, -0.98105043f, -0.05359888f, 2.52291036f, -0.01986909f, -2.35321999f, 10.51954269f, 2.11145401f, 3.53506470f, 7.29093266f, 0.03721160f, -1.13496494f, 7.43886709f, -5.84201956f, 2.50796294f, 12.14647675f, 2.77490377f, -2.18896222f, 6.05641937f, 5.32617044f, 1.04221284f, 10.79106712f, -2.95749092f, -2.75414610f, 11.30037117f, -3.40654182f, -2.24673963f, 7.49126101f, 0.70811015f, -6.18003702f, 13.83951187f, -1.01204085f, 1.36298490f, -1.04451632f, 2.42435336f, -0.02346706f, -0.85528886f, 1.04731262f, 0.22192979f, 4.15708160f, 0.34933877f, 0.04814529f, 2.24107265f, 0.49676740f, -1.47752666f, 0.45040059f, -0.70471478f, -1.19759345f, 0.21711677f, 0.88461423f, -2.76830935f, 5.52066898f, 1.97664857f, -1.75381601f, 3.45877838f, 1.52617192f, -1.61350942f, 0.85337949f, 1.97610760f, -3.40310287f, 3.40319014f, -3.38691044f, -0.71319139f, 1.65463758f, -0.60680127f, -1.80700517f, 8.02592373f, 2.59627104f, 2.65895891f, 5.93043184f, -4.48425817f, 3.92670918f, 4.19496679f, -2.28286791f, 6.41634607f, 5.72330523f, 1.16269672f, -0.28753027f, 2.46342492f, 0.36693189f, 0.26712441f, 6.37652683f, -2.50139046f, 2.43923736f, 5.56310415f, 0.98065847f, 1.04267502f, 4.16403675f, -0.04966142f, 4.40897894f, 3.72905660f, -3.46129870f, 3.59962773f, 1.34830284f, -1.76661730f, 0.47943926f, 5.29946661f, -1.12711561f, 1.26970029f, 15.17655945f, -1.50971997f, 5.81345224f, 8.48562050f, -4.36049604f, 2.48144460f, 8.23780441f, -3.46030426f, -0.84656560f, 5.94946814f, 1.12747943f, -2.65683913f, 8.69085693f, 1.31309867f, -2.79958344f, 8.76840591f, -1.56444156f, 1.62710834f, 2.41177034f, -0.72804940f, 5.70619011f, 4.67169666f, -0.86167198f, -1.83803177f, 2.96346045f, 2.82692933f, -2.81557131f, 7.11113358f, -1.90071094f, 2.54244423f, 11.19284058f, -0.06298946f, -1.71517313f, 12.98388577f, 0.84510714f, 3.00816894f, 2.57200313f, 0.03899818f, -1.49330592f, 9.60099125f, -3.59513044f, -1.30045319f, 7.09241819f, -0.65233821f, -2.33627677f, 8.81366920f, 0.84154201f, 1.03312039f, 9.85289097f, 0.19351870f, 1.78496623f, 7.34631205f, -2.16530800f, -0.65016162f, 2.46842360f, 0.24016285f, -1.24308395f, 4.78175163f, -0.97682536f, 2.20942235f, 6.68382788f, 3.76786447f, -1.44454038f, 6.26453733f, -3.23575711f, -2.30137897f, 9.53092670f, -5.55222607f, 3.25999236f, 9.37559509f, 1.86339056f, -0.23551451f, 10.23400211f, 3.93031883f, -0.52629089f, 7.85724449f, -2.91549587f, 4.46612740f, 5.66530371f, -2.70820427f, 4.81359577f, 10.31247330f, 1.92230141f, 2.53931546f, 0.74986327f, 1.70303428f, 0.48063779f, 5.31099129f, -0.78976244f, 3.75864220f, 4.23051405f, 2.34042454f, -7.98193836f, 9.83987141f, -1.46722627f, 3.54497814f, 10.36455154f, -4.51249075f, 0.77715248f, 7.78694630f, -4.59989023f, -2.49585629f, 9.90296268f, 1.38535416f, 1.17441154f, 10.10452843f, -0.98628229f, 0.60194463f, 9.12639141f, -3.90754628f, 2.88526392f, 7.24123430f, -0.15283313f, -0.75728363f, -1.15116858f, -2.53791571f, 0.77229571f, 6.44114161f, 0.02646767f, 4.95463037f, 7.21066380f, 1.79384065f, 0.73250306f, 8.04447937f, 0.32576546f, -0.79447043f, 10.12717724f, 2.33392906f, 1.30716443f, 12.36073112f, -0.36694977f, -1.20438910f, 7.03105593f, 0.59557682f, 0.69267452f, 10.18113136f, 2.49944925f, -0.42229167f, 8.83143330f, -1.18805945f, -2.87509322f, 4.53596449f, 4.09732771f, -3.39088297f, -1.02536607f, 0.82119560f, -3.47302604f, 9.29991817f, 0.21001509f, 4.97036457f, 9.50018406f, 1.04420102f, 1.96560478f, 10.74769592f, -6.22709799f, 3.11690164f, 5.06759691f, -1.23724771f, -3.05831861f, 8.12925529f, -1.93435478f, -1.10151744f, 9.32263088f, -0.04249470f, -5.98547363f, 10.49398136f, 0.26400441f, -0.78915191f, 13.28219604f, 2.99276900f, 0.74853164f, 2.49364305f, -3.43529654f, 4.05278301f, 2.13498688f, -2.35444307f, -0.79900265f, 4.66968822f, -0.31095147f, 3.60674143f, 12.37222099f, -0.07855003f, -3.30292702f, 12.15215874f, 0.60886210f, 2.87075138f, 7.75271845f, 0.38044083f, 3.34402204f, 6.40583277f, -0.87888050f, 0.67438459f, 6.91080809f, 1.98332930f, -0.08303714f, 8.08630371f, -0.16772588f, -2.74058914f, 7.17253590f, -2.69122696f, 1.48173678f, 8.99470139f, -1.43302310f, -0.88651133f, 2.66944790f, -0.29186964f, 2.00838661f, 5.09587479f, -0.76676071f, -2.88322186f, 8.31110573f, -0.14550979f, -1.37726915f, 10.28355122f, -1.60575438f, -0.04118848f, 9.97510815f, 0.14440438f, -3.24632120f, 9.00034523f, 4.14319563f, -1.31023729f, 7.16950464f, -0.70428526f, 2.01559544f, 7.26155043f, 2.40816474f, 2.09847403f, 7.31264496f, -0.75401551f, 2.13392544f, 7.03648758f, 1.04036045f, -1.15636516f, 1.09634531f, -0.06340861f, -0.58107805f, -0.65623116f, 1.18972754f, -0.80717683f, 1.40118241f, -0.61932516f, -3.60596156f, 1.59904599f, -2.23774099f, -1.13721037f, 3.89620137f, -0.09115922f, -7.51356888f, 2.36975193f, -1.42520905f, -2.34173775f, 3.33830214f, -2.74016523f, -3.04115510f, 6.00119495f, -1.36084354f, -2.45065260f, 4.56992292f, -3.02825928f, -3.74182844f, 5.11069250f, -0.91531068f, -2.31385994f, 1.83399653f, 3.39370203f, -3.60886002f}); - auto exp = NDArrayFactory::create('c', {4, 4, 4, 3}, {7.97172260f, 0.06878620f, 2.27749538f, 7.29276514f, -0.14074677f, 0.65480286f, 5.70313978f, -0.06546132f, 0.35443667f, 3.70382833f, -0.84020567f, 0.63826996f, 8.60301399f, -0.38236514f, 1.55177069f, 7.37542057f, -0.99374938f, -0.29971302f, 8.84352493f, -0.67121059f, 0.43132120f, 4.78175592f, -1.25070143f, -1.91523600f, 6.03855371f, -0.00292124f, -1.11214364f, 7.90158176f, -0.57949901f, -0.96735370f, 7.81192017f, -0.53255427f, -0.48009714f, 3.16953635f, 0.08353355f, -1.54299748f, 3.74821687f, 1.69396687f, 0.72724354f, 5.42915201f, -1.13686812f, -0.71793109f, 5.78376389f, -0.72239977f, -0.60055625f, 2.53636408f, 0.56777251f, -2.07892323f, 6.08064651f, 0.68620735f, 2.54017019f, 5.65828180f, -0.68255502f, 1.47283304f, 6.10842514f, -0.39655915f, 0.28380761f, 1.96707797f, -1.98206317f, 0.94027776f, 4.71811438f, 0.32104525f, -0.92409706f, 8.34588146f, -1.05581069f, -0.55217457f, 9.58440876f, -0.96549922f, 0.45820439f, 5.65453672f, -2.50953507f, -0.71441835f, 8.03059578f, -0.21281289f, 0.92125505f, 9.26900673f, -0.35963219f, -0.70039093f, 8.59924412f, -1.22358346f, 0.81318003f, 3.85920119f, -0.01305223f, -1.09234154f, 6.33158875f, 1.28094780f, -1.48926139f, 4.94969177f, -0.77126902f, -1.97033751f, 5.64381838f, -0.16285487f, -1.31277227f, 2.39893222f, -1.32902908f, -1.39609122f, 6.47572327f, -0.45267010f, 1.55727172f, 6.70965624f, -1.68735468f, -0.05672536f, 7.25092363f, -0.64613032f, 0.67050058f, 3.60789680f, -2.05948973f, 2.22687531f, 8.15202713f, -0.70148355f, 1.28314006f, 8.14842319f, -1.88807654f, -1.04808438f, 8.45500565f, -0.76425624f, 0.94542569f, 4.56179953f, -0.28786001f, -2.04502511f, 8.46278095f, -0.31019822f, 0.07339200f, 9.34214592f, -0.61948007f, 0.52481830f, 8.32515621f, -1.52418160f, 0.49678251f, 5.11082315f, -1.09908783f, -0.52969611f, 5.27806664f, 0.88632923f, 0.66754371f, 4.75839233f, 0.48928693f, -0.68036932f, 6.56925392f, -0.02949905f, -2.99189186f, 4.46320581f, -0.64534980f, -0.29516968f, 8.60809517f, -1.13120568f, 3.41720533f, 5.84243155f, -1.24109328f, 0.89566326f, 5.99578333f, -0.42496428f, 2.07076764f, 3.17812920f, -0.81566459f, -0.14363396f, 6.55184317f, 0.39633346f, -0.43852386f, 8.70214558f, -2.24613595f, 0.30708700f, 8.73882294f, -0.53545928f, 1.54409575f, 4.49452257f, -0.16509305f, 0.19028664f, 8.24897003f, 0.44750381f, 2.15448594f, 8.97640514f, -0.77728152f, 0.57272542f, 9.03467560f, 0.47173575f, -1.10807717f, 3.30056310f, -0.43268481f, -0.41470885f, 3.53798294f, -0.08546703f, -2.16840744f, 6.18733406f, -0.17871059f, -2.59837723f, 5.94218683f, -1.02990067f, -0.49760687f, 3.76938033f, 0.86383581f, -1.91504073f}); + auto exp = NDArrayFactory::create( {4, 4, 4, 3}, {7.97172260f, 0.06878620f, 2.27749538f, 7.29276514f, -0.14074677f, 0.65480286f, 5.70313978f, -0.06546132f, 0.35443667f, 3.70382833f, -0.84020567f, 0.63826996f, 8.60301399f, -0.38236514f, 1.55177069f, 7.37542057f, -0.99374938f, -0.29971302f, 8.84352493f, -0.67121059f, 0.43132120f, 4.78175592f, -1.25070143f, -1.91523600f, 6.03855371f, -0.00292124f, -1.11214364f, 7.90158176f, -0.57949901f, -0.96735370f, 7.81192017f, -0.53255427f, -0.48009714f, 3.16953635f, 0.08353355f, -1.54299748f, 3.74821687f, 1.69396687f, 0.72724354f, 5.42915201f, -1.13686812f, -0.71793109f, 5.78376389f, -0.72239977f, -0.60055625f, 2.53636408f, 0.56777251f, -2.07892323f, 6.08064651f, 0.68620735f, 2.54017019f, 5.65828180f, -0.68255502f, 1.47283304f, 6.10842514f, -0.39655915f, 0.28380761f, 1.96707797f, -1.98206317f, 0.94027776f, 4.71811438f, 0.32104525f, -0.92409706f, 8.34588146f, -1.05581069f, -0.55217457f, 9.58440876f, -0.96549922f, 0.45820439f, 5.65453672f, -2.50953507f, -0.71441835f, 8.03059578f, -0.21281289f, 0.92125505f, 9.26900673f, -0.35963219f, -0.70039093f, 8.59924412f, -1.22358346f, 0.81318003f, 3.85920119f, -0.01305223f, -1.09234154f, 6.33158875f, 1.28094780f, -1.48926139f, 4.94969177f, -0.77126902f, -1.97033751f, 5.64381838f, -0.16285487f, -1.31277227f, 2.39893222f, -1.32902908f, -1.39609122f, 6.47572327f, -0.45267010f, 1.55727172f, 6.70965624f, -1.68735468f, -0.05672536f, 7.25092363f, -0.64613032f, 0.67050058f, 3.60789680f, -2.05948973f, 2.22687531f, 8.15202713f, -0.70148355f, 1.28314006f, 8.14842319f, -1.88807654f, -1.04808438f, 8.45500565f, -0.76425624f, 0.94542569f, 4.56179953f, -0.28786001f, -2.04502511f, 8.46278095f, -0.31019822f, 0.07339200f, 9.34214592f, -0.61948007f, 0.52481830f, 8.32515621f, -1.52418160f, 0.49678251f, 5.11082315f, -1.09908783f, -0.52969611f, 5.27806664f, 0.88632923f, 0.66754371f, 4.75839233f, 0.48928693f, -0.68036932f, 6.56925392f, -0.02949905f, -2.99189186f, 4.46320581f, -0.64534980f, -0.29516968f, 8.60809517f, -1.13120568f, 3.41720533f, 5.84243155f, -1.24109328f, 0.89566326f, 5.99578333f, -0.42496428f, 2.07076764f, 3.17812920f, -0.81566459f, -0.14363396f, 6.55184317f, 0.39633346f, -0.43852386f, 8.70214558f, -2.24613595f, 0.30708700f, 8.73882294f, -0.53545928f, 1.54409575f, 4.49452257f, -0.16509305f, 0.19028664f, 8.24897003f, 0.44750381f, 2.15448594f, 8.97640514f, -0.77728152f, 0.57272542f, 9.03467560f, 0.47173575f, -1.10807717f, 3.30056310f, -0.43268481f, -0.41470885f, 3.53798294f, -0.08546703f, -2.16840744f, 6.18733406f, -0.17871059f, -2.59837723f, 5.94218683f, -1.02990067f, -0.49760687f, 3.76938033f, 0.86383581f, -1.91504073f}); sd::ops::avgpool2d op; auto result = op.evaluate({&input}, {3,3, 3,3, 0,0, 1,1,1, 0,1}); @@ -282,7 +282,7 @@ TEST_F(DeclarableOpsTests4, avgpool2d_11) { int inOutW = 5;// 35; int inOutC = 10;// 192; - auto x = NDArrayFactory::create('c', {1, inOutH, inOutW, inOutC}); + auto x = NDArrayFactory::create( {1, inOutH, inOutW, inOutC}); x.linspace(1.0); sd::ops::avgpool2d op; @@ -297,8 +297,8 @@ TEST_F(DeclarableOpsTests4, avgpool2d_11) { int k = 3; - auto m = NDArrayFactory::create('c', {1, inOutH, inOutW, inOutC}); - auto c = NDArrayFactory::create('c', {1, inOutH, inOutW, inOutC}); + auto m = NDArrayFactory::create( {1, inOutH, inOutW, inOutC}); + auto c = NDArrayFactory::create( {1, inOutH, inOutW, inOutC}); for (int h = 0; h < inOutH; h++) { for (int w = 0; w < inOutW; w++) { @@ -350,8 +350,8 @@ TEST_F(DeclarableOpsTests4, avgpool2d_12) { int paddingMode = 1; // 1-SAME, 0-VALID int dataFormat = 1; // 1-NHWC, 0-NDHW - auto input = NDArrayFactory::create('c', {bS, iH, iW, iC}); - auto expected = NDArrayFactory::create('c', {bS, oH, oW, iC}, { 17.5, 18.5, 19.5, 25. , 26. , 27. , 34. , 35. , 36. , 41.5, 42.5, 43.5, 92.5, 93.5, 94.5, 100. , 101. , 102. , 109. , 110. , 111. , 116.5, 117.5, 118.5, + auto input = NDArrayFactory::create( {bS, iH, iW, iC}); + auto expected = NDArrayFactory::create( {bS, oH, oW, iC}, { 17.5, 18.5, 19.5, 25. , 26. , 27. , 34. , 35. , 36. , 41.5, 42.5, 43.5, 92.5, 93.5, 94.5, 100. , 101. , 102. , 109. , 110. , 111. , 116.5, 117.5, 118.5, 182.5, 183.5, 184.5, 190. , 191. , 192. , 199. , 200. , 201. , 206.5, 207.5, 208.5, 257.5, 258.5, 259.5, 265. , 266. , 267. , 274. , 275. , 276. , 281.5, 282.5, 283.5, 317.5, 318.5, 319.5, 325. , 326. , 327. , 334. , 335. , 336. , 341.5, 342.5, 343.5, 392.5, 393.5, 394.5, 400. , 401. , 402. , 409. , 410. , 411. , 416.5, 417.5, 418.5, 482.5, 483.5, 484.5, 490. , 491. , 492. , 499. , 500. , 501. , 506.5, 507.5, 508.5, 557.5, 558.5, 559.5, 565. , 566. , 567. , 574. , 575. , 576. , 581.5, 582.5, 583.5, @@ -394,8 +394,8 @@ TEST_F(DeclarableOpsTests4, avgpool2d_13) { const int oH = (iH - kH - (kH-1)*(dH-1) + 2*pH)/sH + 1; // output height const int oW = (iW - kW - (kW-1)*(dW-1) + 2*pW)/sW + 1; // output width - auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); + auto x = NDArrayFactory::create( {bS,iD,iH,iW}); + auto exp = NDArrayFactory::create( {bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -437,8 +437,8 @@ TEST_F(DeclarableOpsTests4, avgpool2d_14) { const int oW = (iW - kW - (kW-1)*(dW-1) + 2*pW)/sW + 1; // output width - auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); + auto x = NDArrayFactory::create( {bS,iD,iH,iW}); + auto exp = NDArrayFactory::create( {bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -480,8 +480,8 @@ TEST_F(DeclarableOpsTests4, Avgpool2d_test15) { const int oW = (int) sd::math::nd4j_ceil(iW * 1.f / sW); - auto x = NDArrayFactory::create('c', {bS,iD,iH,iW}); - auto exp = NDArrayFactory::create('c',{bS,iD,oH,oW}); + auto x = NDArrayFactory::create( {bS,iD,iH,iW}); + auto exp = NDArrayFactory::create( {bS,iD,oH,oW}); // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); @@ -532,9 +532,9 @@ TEST_F(DeclarableOpsTests4, avgpool2d_16) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, biasadd_1) { - auto x = NDArrayFactory::create('c', {2, 3, 3, 2}); - auto bias = NDArrayFactory::create('c', {2}, {1, 2}); - auto exp = NDArrayFactory::create('c', {2, 3, 3, 2}, {1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f}); + auto x = NDArrayFactory::create( {2, 3, 3, 2}); + auto bias = NDArrayFactory::create( {2}, {1, 2}); + auto exp = NDArrayFactory::create( {2, 3, 3, 2}, {1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f, 1.f, 2.f}); sd::ops::biasadd op; auto result = op.evaluate({&x, &bias}, {}, {}, {}); @@ -550,9 +550,9 @@ TEST_F(DeclarableOpsTests4, biasadd_1) { } TEST_F(DeclarableOpsTests4, biasadd_2) { - auto x = NDArrayFactory::create('c', {2, 2, 3, 3}); - auto bias = NDArrayFactory::create('c', {2}, {1, 2}); - auto exp = NDArrayFactory::create('c', {2, 2, 3, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2}); + auto x = NDArrayFactory::create( {2, 2, 3, 3}); + auto bias = NDArrayFactory::create( {2}, {1, 2}); + auto exp = NDArrayFactory::create( {2, 2, 3, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2}); sd::ops::biasadd op; auto result = op.evaluate({&x, &bias}, {}, {}, {true}); @@ -568,9 +568,9 @@ TEST_F(DeclarableOpsTests4, biasadd_2) { } TEST_F(DeclarableOpsTests4, biasadd_3) { - auto x = NDArrayFactory::create('c', {2, 3}); - auto row = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 1, 2, 3}); + auto x = NDArrayFactory::create( {2, 3}); + auto row = NDArrayFactory::create( {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {2, 3}, {1, 2, 3, 1, 2, 3}); sd::ops::biasadd op; auto result = op.evaluate({&x, &row}, {}, {}, {true}); @@ -644,10 +644,10 @@ TEST_F(DeclarableOpsTests4, biasadd_4) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto x = NDArrayFactory::create('c', {2, 3}); - auto y = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); - auto z = NDArrayFactory::create('c', {2, 3}); - auto exp = NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 1.f, 2.f, 3.f}); + auto x = NDArrayFactory::create( {2, 3}); + auto y = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); + auto z = NDArrayFactory::create( {2, 3}); + auto exp = NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 1.f, 2.f, 3.f}); sd::ops::biasadd op; auto status = op.execute({&x, &y}, {&z}, {}, {}, {true}); @@ -657,9 +657,9 @@ TEST_F(DeclarableOpsTests4, biasadd_4) { } TEST_F(DeclarableOpsTests4, Test_Fill_1) { - auto x = NDArrayFactory::create('c', {1, 3}, {3, 2, 4}); + auto x = NDArrayFactory::create( {1, 3}, {3, 2, 4}); auto v = NDArrayFactory::create(2.); - auto exp = NDArrayFactory::create('c', {3, 2, 4}); + auto exp = NDArrayFactory::create( {3, 2, 4}); exp.assign(2.0f); sd::ops::fill op; @@ -676,8 +676,8 @@ TEST_F(DeclarableOpsTests4, Test_Fill_1) { } TEST_F(DeclarableOpsTests4, Test_FirasSparce_1) { - auto x = NDArrayFactory::create('c', {1, 81}); - auto exp = NDArrayFactory::create('c', {1, 2}, {0, 1}); + auto x = NDArrayFactory::create( {1, 81}); + auto exp = NDArrayFactory::create( {1, 2}, {0, 1}); x.p(51, 1); x.p(52, 0); @@ -698,8 +698,8 @@ TEST_F(DeclarableOpsTests4, Test_FirasSparce_1) { } TEST_F(DeclarableOpsTests4, Test_FlattenTests_1) { - auto x = NDArrayFactory::create('c', {3, 3, 3, 3}); - auto exp = NDArrayFactory::create('c', {81}); + auto x = NDArrayFactory::create( {3, 3, 3, 3}); + auto exp = NDArrayFactory::create( {81}); x.linspace(1); exp.linspace(1); @@ -717,9 +717,9 @@ TEST_F(DeclarableOpsTests4, Test_FlattenTests_1) { } TEST_F(DeclarableOpsTests4, Test_FlattenTests_2) { - auto x = NDArrayFactory::create('c', {3, 3, 3, 3}); - auto y = NDArrayFactory::create('c', {3, 3}); - auto exp = NDArrayFactory::create('c', {90}); + auto x = NDArrayFactory::create( {3, 3, 3, 3}); + auto y = NDArrayFactory::create( {3, 3}); + auto exp = NDArrayFactory::create( {90}); x.linspace(1); y.linspace(82); @@ -763,7 +763,7 @@ TEST_F(DeclarableOpsTests4, Test_FlattenTests_4) { y.assign(x); sd::ops::flatten op; - auto result = op.evaluate({&x, &y}, {}, {'f'}); + auto result = op.evaluate({&x, &y}, {}, {(int)sd::kArrayOrderFortran}); ASSERT_EQ(ND4J_STATUS_OK, result.status()); auto z = result.at(0); @@ -774,8 +774,8 @@ TEST_F(DeclarableOpsTests4, Test_FlattenTests_4) { } TEST_F(DeclarableOpsTests4, Test_FloorTests_1) { - auto x = NDArrayFactory::create('c', {3, 3}, {1.5, 2.3, 3.4, 4.3, 5.9, 6.1, 7.2, 8.9, 9.7}); - auto exp = NDArrayFactory::create('c', {3,3}); + auto x = NDArrayFactory::create( {3, 3}, {1.5, 2.3, 3.4, 4.3, 5.9, 6.1, 7.2, 8.9, 9.7}); + auto exp = NDArrayFactory::create( {3,3}); exp.linspace(1); sd::ops::Floor op; @@ -792,8 +792,8 @@ TEST_F(DeclarableOpsTests4, Test_FloorTests_1) { } TEST_F(DeclarableOpsTests4, Test_Split_1) { - auto x = NDArrayFactory::create('c', {5, 30}); - auto sizes = NDArrayFactory::create('c', {1, 3}, {4, 15, 11}); + auto x = NDArrayFactory::create( {5, 30}); + auto sizes = NDArrayFactory::create( {1, 3}, {4, 15, 11}); std::vector list0({0,0, 0,4}); std::vector list1({0,0, 4,19}); @@ -832,8 +832,8 @@ TEST_F(DeclarableOpsTests4, Test_Split_1) { // special test for TF mode, when axis goes first TEST_F(DeclarableOpsTests4, Test_Split_2) { - auto x = NDArrayFactory::create('c', {5, 12}); - auto axis = NDArrayFactory::create('c', {1, 1}, {1.f}); + auto x = NDArrayFactory::create( {5, 12}); + auto axis = NDArrayFactory::create( {1, 1}, {1.f}); std::vector list0 = {0,0, 0,3}; std::vector list1 = {0,0, 3,6}; @@ -875,8 +875,8 @@ TEST_F(DeclarableOpsTests4, Test_Split_2) { // special test for TF mode, when axis goes first TEST_F(DeclarableOpsTests4, Test_Split_3) { - auto x = NDArrayFactory::create('c', {6, 12}); - auto axis = NDArrayFactory::create('c', {1, 1}, {0.f}); + auto x = NDArrayFactory::create( {6, 12}); + auto axis = NDArrayFactory::create( {1, 1}, {0.f}); std::vector list0 = {0,2, 0,0}; std::vector list1 = {2,4, 0,0}; @@ -910,10 +910,10 @@ TEST_F(DeclarableOpsTests4, Test_Split_3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, split_test4) { - auto input = NDArrayFactory::create('c', {10},{1.f,2.f,3.f,4.f,5.f,6.f,7.f,8.f,9.f,10.f}); + auto input = NDArrayFactory::create( {10},{1.f,2.f,3.f,4.f,5.f,6.f,7.f,8.f,9.f,10.f}); auto axis = NDArrayFactory::create(-1); - auto exp1 = NDArrayFactory::create('c', {5}, {1.f,2.f,3.f,4.f,5.f}); - auto exp2 = NDArrayFactory::create('c', {5}, {6.f,7.f,8.f,9.f,10.f}); + auto exp1 = NDArrayFactory::create( {5}, {1.f,2.f,3.f,4.f,5.f}); + auto exp2 = NDArrayFactory::create( {5}, {6.f,7.f,8.f,9.f,10.f}); sd::ops::split op; auto results = op.evaluate({&input, &axis}, {}, {2}, {}); @@ -933,9 +933,9 @@ TEST_F(DeclarableOpsTests4, split_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, split_test5) { - auto input = NDArrayFactory::create('c', {3,8},{1.f,2.f,3.f,4.f,5.f,6.f,7.f,8.f,9.f,10.f,11.f,12.f,13.f,14.f,15.f,16.f,17.f,18.f,19.f,20.f,21.f,22.f,23.f,24.f}); - auto exp1 = NDArrayFactory::create('c', {3,4}, {1.f,2.f,3.f,4.f, 9.f,10.f,11.f,12.f, 17.f,18.f,19.f,20.f}); - auto exp2 = NDArrayFactory::create('c', {3,4}, {5.f,6.f,7.f,8.f, 13.f,14.f,15.f,16.f, 21.f,22.f,23.f,24.f}); + auto input = NDArrayFactory::create( {3,8},{1.f,2.f,3.f,4.f,5.f,6.f,7.f,8.f,9.f,10.f,11.f,12.f,13.f,14.f,15.f,16.f,17.f,18.f,19.f,20.f,21.f,22.f,23.f,24.f}); + auto exp1 = NDArrayFactory::create( {3,4}, {1.f,2.f,3.f,4.f, 9.f,10.f,11.f,12.f, 17.f,18.f,19.f,20.f}); + auto exp2 = NDArrayFactory::create( {3,4}, {5.f,6.f,7.f,8.f, 13.f,14.f,15.f,16.f, 21.f,22.f,23.f,24.f}); sd::ops::split op; auto results = op.evaluate({&input}, {}, {2,-1},{}); @@ -989,8 +989,8 @@ TEST_F(DeclarableOpsTests4, split_test7) { TEST_F(DeclarableOpsTests4, Test_Squeeze_args_1) { - auto x = NDArrayFactory::create('c', {2, 1, 1, 1, 2}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {2, 1, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 1, 1, 1, 2}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {2, 1, 2}, {1, 2, 3, 4}); sd::ops::squeeze op; auto result = op.evaluate({&x}, {}, {1, 3}); @@ -1005,9 +1005,9 @@ TEST_F(DeclarableOpsTests4, Test_Squeeze_args_1) { } TEST_F(DeclarableOpsTests4, Test_Squeeze_args_2) { - auto x = NDArrayFactory::create('c', {2, 1, 1, 1, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {2}, {1.f, 3.f}); - auto exp = NDArrayFactory::create('c', {2, 1, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 1, 1, 1, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {2}, {1.f, 3.f}); + auto exp = NDArrayFactory::create( {2, 1, 2}, {1, 2, 3, 4}); sd::ops::squeeze op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -1023,8 +1023,8 @@ TEST_F(DeclarableOpsTests4, Test_Squeeze_args_2) { TEST_F(DeclarableOpsTests4, Test_Squeeze_args_3) { - auto x = NDArrayFactory::create('c', {2, 1, 1, 1, 2}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {2, 1, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 1, 1, 1, 2}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {2, 1, 2}, {1, 2, 3, 4}); sd::ops::squeeze op; auto result = op.evaluate({&x}, {}, {-2, -3}); @@ -1039,8 +1039,8 @@ TEST_F(DeclarableOpsTests4, Test_Squeeze_args_3) { } TEST_F(DeclarableOpsTests4, Test_SpaceToDepth_1) { - auto x = NDArrayFactory::create('c', {1, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto exp = NDArrayFactory::create('c', {1, 1, 1, 12}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto x = NDArrayFactory::create( {1, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto exp = NDArrayFactory::create( {1, 1, 1, 12}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); sd::ops::space_to_depth op; auto result = op.evaluate({&x}, {}, {2, 1}); @@ -1055,8 +1055,8 @@ TEST_F(DeclarableOpsTests4, Test_SpaceToDepth_1) { } TEST_F(DeclarableOpsTests4, Test_SpaceToDepth_2) { - auto x = NDArrayFactory::create('c', {1, 3, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto exp = NDArrayFactory::create('c', {1, 12, 1, 1}, {1, 5, 9, 2, 6, 10, 3, 7, 11, 4, 8, 12}); + auto x = NDArrayFactory::create( {1, 3, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto exp = NDArrayFactory::create( {1, 12, 1, 1}, {1, 5, 9, 2, 6, 10, 3, 7, 11, 4, 8, 12}); sd::ops::space_to_depth op; auto result = op.evaluate({&x}, {}, {2, 0}); @@ -1072,8 +1072,8 @@ TEST_F(DeclarableOpsTests4, Test_SpaceToDepth_2) { TEST_F(DeclarableOpsTests4, Test_DepthToSpace_1) { - auto x = NDArrayFactory::create('c', {1, 1, 1, 12}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto exp = NDArrayFactory::create('c', {1, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto x = NDArrayFactory::create( {1, 1, 1, 12}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto exp = NDArrayFactory::create( {1, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); sd::ops::depth_to_space op; auto result = op.evaluate({&x}, {}, {2, 1}); @@ -1089,8 +1089,8 @@ TEST_F(DeclarableOpsTests4, Test_DepthToSpace_1) { TEST_F(DeclarableOpsTests4, Test_DepthToSpace_2) { - auto x = NDArrayFactory::create('c', {1, 12, 1, 1}, {1, 5, 9, 2, 6, 10, 3, 7, 11, 4, 8, 12}); - auto exp = NDArrayFactory::create('c', {1, 3, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto x = NDArrayFactory::create( {1, 12, 1, 1}, {1, 5, 9, 2, 6, 10, 3, 7, 11, 4, 8, 12}); + auto exp = NDArrayFactory::create( {1, 3, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); sd::ops::depth_to_space op; auto result = op.evaluate({&x}, {}, {2, 0}); @@ -1105,8 +1105,8 @@ TEST_F(DeclarableOpsTests4, Test_DepthToSpace_2) { } TEST_F(DeclarableOpsTests4, Test_DepthToSpace_3) { - auto x = NDArrayFactory::create('c', {4, 4, 16, 16}); - auto exp = NDArrayFactory::create('c', {4, 16, 64, 1}); + auto x = NDArrayFactory::create( {4, 4, 16, 16}); + auto exp = NDArrayFactory::create( {4, 16, 64, 1}); sd::ops::depth_to_space op; auto result = op.evaluate({&x}, {}, {4, 1}); @@ -1121,9 +1121,9 @@ TEST_F(DeclarableOpsTests4, Test_DepthToSpace_3) { TEST_F(DeclarableOpsTests4, Test_Cross_1) { - auto a = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto b = NDArrayFactory::create('c', {3}, {6, 7, 8}); - auto exp = NDArrayFactory::create('c', {3}, {-5, 10, -5}); + auto a = NDArrayFactory::create( {3}, {1, 2, 3}); + auto b = NDArrayFactory::create( {3}, {6, 7, 8}); + auto exp = NDArrayFactory::create( {3}, {-5, 10, -5}); sd::ops::cross op; auto result = op.evaluate({&a, &b}); @@ -1139,9 +1139,9 @@ TEST_F(DeclarableOpsTests4, Test_Cross_1) { TEST_F(DeclarableOpsTests4, Test_Cross_2) { - auto a = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 1, 2, 3}); - auto b = NDArrayFactory::create('c', {2, 3}, {6, 7, 8, 6, 7, 8}); - auto exp = NDArrayFactory::create('c', {2, 3}, {-5, 10, -5, -5, 10, -5}); + auto a = NDArrayFactory::create( {2, 3}, {1, 2, 3, 1, 2, 3}); + auto b = NDArrayFactory::create( {2, 3}, {6, 7, 8, 6, 7, 8}); + auto exp = NDArrayFactory::create( {2, 3}, {-5, 10, -5, -5, 10, -5}); sd::ops::cross op; auto result = op.evaluate({&a, &b}); @@ -1157,9 +1157,9 @@ TEST_F(DeclarableOpsTests4, Test_Cross_2) { TEST_F(DeclarableOpsTests4, Test_Cross_3) { - auto a = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto b = NDArrayFactory::create('c', {3, 3}, {2, 3, 4, 7, 6, 5, 6, 3, 2}); - auto exp = NDArrayFactory::create('c', {3, 3}, { -1, 2, -1, -11, 22, -11, -11, 40, -27}); + auto a = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto b = NDArrayFactory::create( {3, 3}, {2, 3, 4, 7, 6, 5, 6, 3, 2}); + auto exp = NDArrayFactory::create( {3, 3}, { -1, 2, -1, -11, 22, -11, -11, 40, -27}); sd::ops::cross op; auto result = op.evaluate({&a, &b}); @@ -1174,9 +1174,9 @@ TEST_F(DeclarableOpsTests4, Test_Cross_3) { } TEST_F(DeclarableOpsTests4, Test_Add_119) { - auto a = NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto b = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 4}, {2, 4, 6, 8}); + auto a = NDArrayFactory::create( {1, 4}, {1, 2, 3, 4}); + auto b = NDArrayFactory::create( {4}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 4}, {2, 4, 6, 8}); sd::ops::add op; auto result = op.evaluate({&a, &b}); @@ -1194,8 +1194,8 @@ TEST_F(DeclarableOpsTests4, Test_Add_119) { } TEST_F(DeclarableOpsTests4, Test_TileToShape_1) { - auto x = NDArrayFactory::create('c', {2, 1, 3}); - auto exp = NDArrayFactory::create('c', {2, 4, 3}, {1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f, + auto x = NDArrayFactory::create( {2, 1, 3}); + auto exp = NDArrayFactory::create( {2, 4, 3}, {1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f, 4.f, 5.f, 6.f,4.f, 5.f, 6.f,4.f, 5.f, 6.f,4.f, 5.f, 6.f}); x.linspace(1.f); @@ -1213,9 +1213,9 @@ TEST_F(DeclarableOpsTests4, Test_TileToShape_1) { } TEST_F(DeclarableOpsTests4, Test_StridedSlice_Alex_1) { - auto x = NDArrayFactory::create('c', {3, 4, 5}); + auto x = NDArrayFactory::create( {3, 4, 5}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1,3,4,5}); + auto exp = NDArrayFactory::create( {1,3,4,5}); exp.linspace(1); sd::ops::strided_slice op; @@ -1232,12 +1232,12 @@ TEST_F(DeclarableOpsTests4, Test_StridedSlice_Alex_1) { } TEST_F(DeclarableOpsTests4, Test_StridedSlice_Alex_2) { - auto x = NDArrayFactory::create('c', {3, 4, 5}); - auto begin = NDArrayFactory::create('c', {4}, {-999,0,0,0}); - auto end = NDArrayFactory::create('c', {4}, {-999,3,4,5}); - auto stride = NDArrayFactory::create('c', {4}, {-999,1,1,1}); + auto x = NDArrayFactory::create( {3, 4, 5}); + auto begin = NDArrayFactory::create( {4}, {-999,0,0,0}); + auto end = NDArrayFactory::create( {4}, {-999,3,4,5}); + auto stride = NDArrayFactory::create( {4}, {-999,1,1,1}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1,3,4,5}); + auto exp = NDArrayFactory::create( {1,3,4,5}); exp.linspace(1); sd::ops::strided_slice op; @@ -1257,12 +1257,12 @@ TEST_F(DeclarableOpsTests4, Test_StridedSlice_Alex_2) { TEST_F(DeclarableOpsTests4, Test_StridedSlice_Alex_3) { int axis = 0; - auto x = NDArrayFactory::create('c', {1}, {10}); - auto begin = NDArrayFactory::create('c', {1}, {axis}); - auto end = NDArrayFactory::create('c', {1}, {axis}); - auto stride = NDArrayFactory::create('c', {1}, {1}); + auto x = NDArrayFactory::create( {1}, {10}); + auto begin = NDArrayFactory::create( {1}, {axis}); + auto end = NDArrayFactory::create( {1}, {axis}); + auto stride = NDArrayFactory::create( {1}, {1}); //x.linspace(1); - //auto exp = NDArrayFactory::create('c', {1,3,4,5}); + //auto exp = NDArrayFactory::create( {1,3,4,5}); //exp.linspace(1); sd::ops::strided_slice op; @@ -1276,12 +1276,12 @@ TEST_F(DeclarableOpsTests4, Test_StridedSlice_Alex_3) { } TEST_F(DeclarableOpsTests4, Test_StridedSlice_Alex_4) { - auto x = NDArrayFactory::create('c', {1,3}, {1, 2, 3}); - auto begin = NDArrayFactory::create('c', {2}, {0, 0}); - auto end = NDArrayFactory::create('c', {2}, {0,1}); - auto stride = NDArrayFactory::create('c', {2}, {1,1}); + auto x = NDArrayFactory::create( {1,3}, {1, 2, 3}); + auto begin = NDArrayFactory::create( {2}, {0, 0}); + auto end = NDArrayFactory::create( {2}, {0,1}); + auto stride = NDArrayFactory::create( {2}, {1,1}); // x.linspace(1); - auto exp = NDArrayFactory::create('c', {1}, {1}); + auto exp = NDArrayFactory::create( {1}, {1}); //exp.linspace(1); sd::ops::strided_slice op; @@ -1298,14 +1298,14 @@ TEST_F(DeclarableOpsTests4, Test_StridedSlice_Alex_4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, parallel_stack_test1) { - auto x1 = NDArrayFactory::create('c', {2,2,2}); - auto x2 = NDArrayFactory::create('c', {2,2,2}); - auto x3 = NDArrayFactory::create('c', {2,2,2}); + auto x1 = NDArrayFactory::create( {2,2,2}); + auto x2 = NDArrayFactory::create( {2,2,2}); + auto x3 = NDArrayFactory::create( {2,2,2}); x1.linspace(1); x2.linspace(9); x3.linspace(17); - auto expected = NDArrayFactory::create('c', {3,2,2,2}); + auto expected = NDArrayFactory::create( {3,2,2,2}); expected.linspace(1); sd::ops::parallel_stack op; @@ -1322,11 +1322,11 @@ TEST_F(DeclarableOpsTests4, parallel_stack_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, parallel_stack_test2) { - auto x1 = NDArrayFactory::create('c', {1,2}, {1,2}); - auto x2 = NDArrayFactory::create('c', {1,2}, {3,4}); - auto x3 = NDArrayFactory::create('c', {1,2}, {5,6}); + auto x1 = NDArrayFactory::create( {1,2}, {1,2}); + auto x2 = NDArrayFactory::create( {1,2}, {3,4}); + auto x3 = NDArrayFactory::create( {1,2}, {5,6}); - auto expected = NDArrayFactory::create('c', {3,1,2}, {1,2,3,4,5,6}); + auto expected = NDArrayFactory::create( {3,1,2}, {1,2,3,4,5,6}); sd::ops::parallel_stack op; auto results = op.evaluate({&x1, &x2, &x3}); @@ -1343,11 +1343,11 @@ TEST_F(DeclarableOpsTests4, parallel_stack_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, parallel_stack_test3) { - auto x1 = NDArrayFactory::create('c', {2,1}, {1,2}); - auto x2 = NDArrayFactory::create('c', {2,1}, {3,4}); - auto x3 = NDArrayFactory::create('c', {2,1}, {5,6}); + auto x1 = NDArrayFactory::create( {2,1}, {1,2}); + auto x2 = NDArrayFactory::create( {2,1}, {3,4}); + auto x3 = NDArrayFactory::create( {2,1}, {5,6}); - auto expected = NDArrayFactory::create('c', {3,2,1}, {1,2,3,4,5,6}); + auto expected = NDArrayFactory::create( {3,2,1}, {1,2,3,4,5,6}); sd::ops::parallel_stack op; auto results = op.evaluate({&x1, &x2, &x3}); @@ -1363,11 +1363,11 @@ TEST_F(DeclarableOpsTests4, parallel_stack_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, parallel_stack_test4) { - auto x1 = NDArrayFactory::create('c', {2}, {1,2}); - auto x2 = NDArrayFactory::create('c', {2}, {3,4}); - auto x3 = NDArrayFactory::create('c', {2}, {5,6}); + auto x1 = NDArrayFactory::create( {2}, {1,2}); + auto x2 = NDArrayFactory::create( {2}, {3,4}); + auto x3 = NDArrayFactory::create( {2}, {5,6}); - auto expected = NDArrayFactory::create('c', {3,2}, {1,2,3,4,5,6}); + auto expected = NDArrayFactory::create( {3,2}, {1,2,3,4,5,6}); sd::ops::parallel_stack op; auto results = op.evaluate({&x1, &x2, &x3}); @@ -1383,11 +1383,11 @@ TEST_F(DeclarableOpsTests4, parallel_stack_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, parallel_stack_test5) { - auto x1 = NDArrayFactory::create('c', {1}, {1}); - auto x2 = NDArrayFactory::create('c', {1}, {3}); - auto x3 = NDArrayFactory::create('c', {1}, {5}); + auto x1 = NDArrayFactory::create( {1}, {1}); + auto x2 = NDArrayFactory::create( {1}, {3}); + auto x3 = NDArrayFactory::create( {1}, {5}); - auto expected = NDArrayFactory::create('c', {3,1}, {1,3,5}); + auto expected = NDArrayFactory::create( {3,1}, {1,3,5}); sd::ops::parallel_stack op; auto results = op.evaluate({&x1, &x2, &x3}); @@ -1407,7 +1407,7 @@ TEST_F(DeclarableOpsTests4, parallel_stack_test6) { auto x2 = NDArrayFactory::create(3.); auto x3 = NDArrayFactory::create(5.); - auto expected = NDArrayFactory::create('c', {3}, {1,3,5}); + auto expected = NDArrayFactory::create( {3}, {1,3,5}); sd::ops::parallel_stack op; auto results = op.evaluate({&x1, &x2, &x3}); @@ -1424,7 +1424,7 @@ TEST_F(DeclarableOpsTests4, parallel_stack_test6) { TEST_F(DeclarableOpsTests4, parallel_stack_test7) { auto x1 = NDArrayFactory::create(1.); - auto expected = NDArrayFactory::create('c', {1}, {1.}); + auto expected = NDArrayFactory::create( {1}, {1.}); sd::ops::parallel_stack op; auto results = op.evaluate({&x1}); @@ -1440,12 +1440,12 @@ TEST_F(DeclarableOpsTests4, parallel_stack_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, meshgrid_test1) { - auto in0 = NDArrayFactory::create('c', {2}, {1, 2}); - auto in1 = NDArrayFactory::create('c', {3}, {10, 20, 30}); - auto in2 = NDArrayFactory::create('c', {4}, {100, 200, 300, 400}); - auto exp0 = NDArrayFactory::create('c', {2,3,4}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}); - auto exp1 = NDArrayFactory::create('c', {2,3,4}, {10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30, 10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30}); - auto exp2 = NDArrayFactory::create('c', {2,3,4}, {100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400}); + auto in0 = NDArrayFactory::create( {2}, {1, 2}); + auto in1 = NDArrayFactory::create( {3}, {10, 20, 30}); + auto in2 = NDArrayFactory::create( {4}, {100, 200, 300, 400}); + auto exp0 = NDArrayFactory::create( {2,3,4}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}); + auto exp1 = NDArrayFactory::create( {2,3,4}, {10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30, 10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30}); + auto exp2 = NDArrayFactory::create( {2,3,4}, {100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400}); sd::ops::meshgrid op; auto results = op.evaluate({&in0, &in1, &in2}, {}, {0}); @@ -1469,12 +1469,12 @@ TEST_F(DeclarableOpsTests4, meshgrid_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, meshgrid_test2) { - auto in0 = NDArrayFactory::create('c', {2}, {1, 2}); - auto in1 = NDArrayFactory::create('c', {3}, {10, 20, 30}); - auto in2 = NDArrayFactory::create('c', {4}, {100, 200, 300, 400}); - auto exp0 = NDArrayFactory::create('c', {3,2,4}, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}); - auto exp1 = NDArrayFactory::create('c', {3,2,4}, {10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30}); - auto exp2 = NDArrayFactory::create('c', {3,2,4}, {100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400}); + auto in0 = NDArrayFactory::create( {2}, {1, 2}); + auto in1 = NDArrayFactory::create( {3}, {10, 20, 30}); + auto in2 = NDArrayFactory::create( {4}, {100, 200, 300, 400}); + auto exp0 = NDArrayFactory::create( {3,2,4}, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}); + auto exp1 = NDArrayFactory::create( {3,2,4}, {10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30}); + auto exp2 = NDArrayFactory::create( {3,2,4}, {100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400}); sd::ops::meshgrid op; auto results = op.evaluate({&in0, &in1, &in2}); @@ -1496,12 +1496,12 @@ TEST_F(DeclarableOpsTests4, meshgrid_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, meshgrid_test3) { - auto in0 = NDArrayFactory::create('c', {2}, {1, 2}); - auto in1 = NDArrayFactory::create('c', {1,3}, {10, 20, 30}); - auto in2 = NDArrayFactory::create('c', {2,2}, {100, 200, 300, 400}); - auto exp0 = NDArrayFactory::create('c', {3,2,4}, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}); - auto exp1 = NDArrayFactory::create('c', {3,2,4}, {10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30}); - auto exp2 = NDArrayFactory::create('c', {3,2,4}, {100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400}); + auto in0 = NDArrayFactory::create( {2}, {1, 2}); + auto in1 = NDArrayFactory::create( {1,3}, {10, 20, 30}); + auto in2 = NDArrayFactory::create( {2,2}, {100, 200, 300, 400}); + auto exp0 = NDArrayFactory::create( {3,2,4}, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}); + auto exp1 = NDArrayFactory::create( {3,2,4}, {10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30}); + auto exp2 = NDArrayFactory::create( {3,2,4}, {100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400}); sd::ops::meshgrid op; auto results = op.evaluate({&in0, &in1, &in2}); @@ -1523,12 +1523,12 @@ TEST_F(DeclarableOpsTests4, meshgrid_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, meshgrid_test4) { - auto in0 = NDArrayFactory::create('c', {1,2}, {1, 2}); - auto in1 = NDArrayFactory::create('c', {3,1}, {10, 20, 30}); - auto in2 = NDArrayFactory::create('c', {1,4,1}, {100, 200, 300, 400}); - auto exp0 = NDArrayFactory::create('c', {2,3,4}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}); - auto exp1 = NDArrayFactory::create('c', {2,3,4}, {10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30, 10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30}); - auto exp2 = NDArrayFactory::create('c', {2,3,4}, {100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400}); + auto in0 = NDArrayFactory::create( {1,2}, {1, 2}); + auto in1 = NDArrayFactory::create( {3,1}, {10, 20, 30}); + auto in2 = NDArrayFactory::create( {1,4,1}, {100, 200, 300, 400}); + auto exp0 = NDArrayFactory::create( {2,3,4}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}); + auto exp1 = NDArrayFactory::create( {2,3,4}, {10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30, 10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30}); + auto exp2 = NDArrayFactory::create( {2,3,4}, {100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400, 100, 200, 300, 400}); sd::ops::meshgrid op; auto results = op.evaluate({&in0, &in1, &in2}, {}, {0}); @@ -1553,9 +1553,9 @@ TEST_F(DeclarableOpsTests4, meshgrid_test5) { auto in0 = NDArrayFactory::create(1); auto in1 = NDArrayFactory::create(2); auto in2 = NDArrayFactory::create(3); - auto exp0 = NDArrayFactory::create('c', {1,1,1}, {1}); - auto exp1 = NDArrayFactory::create('c', {1,1,1}, {2}); - auto exp2 = NDArrayFactory::create('c', {1,1,1}, {3}); + auto exp0 = NDArrayFactory::create( {1,1,1}, {1}); + auto exp1 = NDArrayFactory::create( {1,1,1}, {2}); + auto exp2 = NDArrayFactory::create( {1,1,1}, {3}); sd::ops::meshgrid op; auto results = op.evaluate({&in0, &in1, &in2}, {}, {0}); @@ -1577,12 +1577,12 @@ TEST_F(DeclarableOpsTests4, meshgrid_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, meshgrid_test6) { - auto in0 = NDArrayFactory::create('c', {2,2},{1,2,3,4}); + auto in0 = NDArrayFactory::create( {2,2},{1,2,3,4}); auto in1 = NDArrayFactory::create(5); auto in2 = NDArrayFactory::create(6); - auto exp0 = NDArrayFactory::create('c', {4,1,1}, {1,2,3,4}); - auto exp1 = NDArrayFactory::create('c', {4,1,1}, {5,5,5,5}); - auto exp2 = NDArrayFactory::create('c', {4,1,1}, {6,6,6,6}); + auto exp0 = NDArrayFactory::create( {4,1,1}, {1,2,3,4}); + auto exp1 = NDArrayFactory::create( {4,1,1}, {5,5,5,5}); + auto exp2 = NDArrayFactory::create( {4,1,1}, {6,6,6,6}); sd::ops::meshgrid op; auto results = op.evaluate({&in0, &in1, &in2}, {}, {0}); @@ -1604,12 +1604,12 @@ TEST_F(DeclarableOpsTests4, meshgrid_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, meshgrid_test7) { - auto in0 = NDArrayFactory::create('c', {2,2},{1,2,3,4}); + auto in0 = NDArrayFactory::create( {2,2},{1,2,3,4}); auto in1 = NDArrayFactory::create(5); auto in2 = NDArrayFactory::create(6); - auto exp0 = NDArrayFactory::create('c', {1,4,1}, {1,2,3,4}); - auto exp1 = NDArrayFactory::create('c', {1,4,1}, {5,5,5,5}); - auto exp2 = NDArrayFactory::create('c', {1,4,1}, {6,6,6,6}); + auto exp0 = NDArrayFactory::create( {1,4,1}, {1,2,3,4}); + auto exp1 = NDArrayFactory::create( {1,4,1}, {5,5,5,5}); + auto exp2 = NDArrayFactory::create( {1,4,1}, {6,6,6,6}); sd::ops::meshgrid op; auto results = op.evaluate({&in0, &in1, &in2}, {}, {1}); @@ -1632,7 +1632,7 @@ TEST_F(DeclarableOpsTests4, meshgrid_test7) { TEST_F(DeclarableOpsTests4, meshgrid_test8) { auto in0 = NDArrayFactory::create(5); - auto exp0 = NDArrayFactory::create('c', {1}, {5}); + auto exp0 = NDArrayFactory::create( {1}, {5}); sd::ops::meshgrid op; auto results = op.evaluate({&in0}, {}, {0}); @@ -1649,7 +1649,7 @@ TEST_F(DeclarableOpsTests4, meshgrid_test8) { TEST_F(DeclarableOpsTests4, meshgrid_test9) { auto in0 = NDArrayFactory::create(5); - auto exp0 = NDArrayFactory::create('c', {1}, {5}); + auto exp0 = NDArrayFactory::create( {1}, {5}); sd::ops::meshgrid op; auto results = op.evaluate({&in0}, {}, {1}); @@ -1666,10 +1666,10 @@ TEST_F(DeclarableOpsTests4, meshgrid_test9) { TEST_F(DeclarableOpsTests4, WeightedCrossEntropyWithLogits_1) { - auto input = NDArrayFactory::create('c', {2, 3}, {11.f, 13.f, 4.f, 15.f, 6.f, 3.f}); - auto targets = NDArrayFactory::create('c', {2, 3}, {15.5f, 15.7f, 5.f , 15.f, 5.f, 6.f}); + auto input = NDArrayFactory::create( {2, 3}, {11.f, 13.f, 4.f, 15.f, 6.f, 3.f}); + auto targets = NDArrayFactory::create( {2, 3}, {15.5f, 15.7f, 5.f , 15.f, 5.f, 6.f}); auto weight = NDArrayFactory::create(0.7f); - auto expected = NDArrayFactory::create('c', {2, 3}, {-159.50006, -191.1, -16.009075, -210., -24.001238, -15.03887}); + auto expected = NDArrayFactory::create( {2, 3}, {-159.50006, -191.1, -16.009075, -210., -24.001238, -15.03887}); //Targets {15.5f, 15.7f, 5.f , 15.f, 5.f, 6.f}; //---------- @@ -1695,10 +1695,10 @@ TEST_F(DeclarableOpsTests4, WeightedCrossEntropyWithLogits_1) { TEST_F(DeclarableOpsTests4, WeightedCrossEntropyWithLogits_2) { - auto input = NDArrayFactory::create('c', {2, 3}, {11.f, 13.f, 4.f, 15.f, 6.f, 3.f}); - auto targets = NDArrayFactory::create('c', {2, 3}, {15.5f, 15.7f, 5.f, 15.f, 5.f, 6.f}); - auto weights = NDArrayFactory::create({0.5f, 0.7f, 1.0f}) ; - auto expected = NDArrayFactory::create('c', {2, 3}, {-159.5001f, -191.1f, -15.98185f, -210.f, -24.001238f, -14.951412f}); + auto input = NDArrayFactory::create( {2, 3}, {11.f, 13.f, 4.f, 15.f, 6.f, 3.f}); + auto targets = NDArrayFactory::create( {2, 3}, {15.5f, 15.7f, 5.f, 15.f, 5.f, 6.f}); + auto weights = NDArrayFactory::vector({0.5f, 0.7f, 1.0f}) ; + auto expected = NDArrayFactory::create( {2, 3}, {-159.5001f, -191.1f, -15.98185f, -210.f, -24.001238f, -14.951412f}); sd::ops::weighted_cross_entropy_with_logits op; auto results = op.evaluate({&targets, &input, &weights}); @@ -1721,14 +1721,14 @@ TEST_F(DeclarableOpsTests4, lstm_test1) { const int numProj = 3; const int numUnits = 3; - auto x = NDArrayFactory::create('c', {time, batchSize, inSize}); - auto h0 = NDArrayFactory::create('c', {batchSize, numProj}); - auto c0 = NDArrayFactory::create('c', {batchSize, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, 4*numUnits}); - auto Wh = NDArrayFactory::create('c', {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create('c', {3*numUnits}); - auto Wp = NDArrayFactory::create('c', {numUnits, numProj}); - auto b = NDArrayFactory::create('c', {4*numUnits}); + auto x = NDArrayFactory::create( {time, batchSize, inSize}); + auto h0 = NDArrayFactory::create( {batchSize, numProj}); + auto c0 = NDArrayFactory::create( {batchSize, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); + auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); + auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::create( {4*numUnits}); x.linspace(0.5, 0.5); h0 = 1.; @@ -1739,13 +1739,13 @@ TEST_F(DeclarableOpsTests4, lstm_test1) { Wp = 0.; b = 0.5; - auto expH = NDArrayFactory::create('c', {time, batchSize, numProj}, {0.57574,0.57574,0.57574,0.58006,0.58006,0.58006,0.58434,0.58434,0.58434, + auto expH = NDArrayFactory::create( {time, batchSize, numProj}, {0.57574,0.57574,0.57574,0.58006,0.58006,0.58006,0.58434,0.58434,0.58434, 0.55114,0.55114,0.55114,0.55732,0.55732,0.55732,0.56338,0.56338,0.56338, 0.53763,0.53763,0.53763,0.54534,0.54534,0.54534,0.55287,0.55287,0.55287, 0.53626,0.53626,0.53626,0.54487,0.54487,0.54487,0.55327,0.55327,0.55327, 0.54484,0.54484,0.54484,0.55379,0.55379,0.55379,0.5625 ,0.5625 ,0.5625}); - auto expClast = NDArrayFactory::create('c', {1, batchSize, numProj}, {1.1589154,1.1589154,1.1589154,1.1892855,1.1892855,1.1892855,1.219861 ,1.219861 ,1.219861}); + auto expClast = NDArrayFactory::create( {1, batchSize, numProj}, {1.1589154,1.1589154,1.1589154,1.1892855,1.1892855,1.1892855,1.219861 ,1.219861 ,1.219861}); sd::ops::lstm op; auto results = op.evaluate({&x, &h0, &c0, &Wx, &Wh, &Wc, &Wp, &b}, {0., 0., 0.}, {0, 0}); @@ -1768,8 +1768,8 @@ TEST_F(DeclarableOpsTests4, lstm_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, relu6_test1) { - auto input = NDArrayFactory::create('c', {2,4}, {-13.,10,-5,0,2,7,6,12}); - auto expected = NDArrayFactory::create('c', {2,4}, {0., 6., 0., 0.,2., 6., 6., 6.}); + auto input = NDArrayFactory::create( {2,4}, {-13.,10,-5,0,2,7,6,12}); + auto expected = NDArrayFactory::create( {2,4}, {0., 6., 0., 0.,2., 6., 6., 6.}); sd::ops::relu6 op; auto results = op.evaluate({&input}, {0.}, {}); @@ -1788,10 +1788,10 @@ TEST_F(DeclarableOpsTests4, relu6_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, relu6_bp_test1) { - auto input = NDArrayFactory::create('c', {2,4}, {-13.,10, -5, 0, 2, 7, 6, 5}); - auto gradO = NDArrayFactory::create('c', {2,4}, {-1., -2., 0., 4., 5., 6., 7., 8.}); + auto input = NDArrayFactory::create( {2,4}, {-13.,10, -5, 0, 2, 7, 6, 5}); + auto gradO = NDArrayFactory::create( {2,4}, {-1., -2., 0., 4., 5., 6., 7., 8.}); - auto expected = NDArrayFactory::create('c', {2,4}, {0., 0., 0., 0., 5., 0., 0., 8.}); + auto expected = NDArrayFactory::create( {2,4}, {0., 0., 0., 0., 5., 0., 0., 8.}); sd::ops::relu6_bp op; auto results = op.evaluate({&input, &gradO}, {0.}); @@ -1809,13 +1809,13 @@ TEST_F(DeclarableOpsTests4, relu6_bp_test1) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 2}, { 5.5f, 0.f, 0.3f, 5.5f, + auto x = NDArrayFactory::create( {2, 2, 2, 2}, { 5.5f, 0.f, 0.3f, 5.5f, 8.6f, 0.f, 0.f, 0.4f, 1.5f, 1.f, 1.3f, 1.5f, 2.6f, 2.f, 3.f, 1.4f} ); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, { + auto exp = NDArrayFactory::create( {2, 2, 2, 2}, { 0.98386997f, 0.f, 0.05358852f, 0.9824562f, 0.99330735f, 0.f, 0.f, 0.37139067f, 0.72760683f, 0.4850712f, 0.5848977f, 0.67488194f, @@ -1839,12 +1839,12 @@ TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_1) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_2) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 2}, { 5.5f, 0.f, 0.3f, 5.5f, + auto x = NDArrayFactory::create( {2, 2, 2, 2}, { 5.5f, 0.f, 0.3f, 5.5f, 8.6f, 0.f, 0.f, 0.4f, 1.5f, 1.f, 1.3f, 1.5f, 2.6f, 2.f, 3.f, 1.4f}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, { + auto exp = NDArrayFactory::create( {2, 2, 2, 2}, { 0.98386997f, 0.f, 0.05358852f, 0.9824562f, 0.99330735f, 0.f, 0.f, 0.37139067f, 0.72760683f, 0.4850712f, 0.5848977f, 0.67488194f, @@ -1866,7 +1866,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_2) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_3) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 4}, { + auto x = NDArrayFactory::create( {2, 2, 2, 4}, { 5.5f, 0.f, 0.3f, 5.5f, 1.5f, 0.f, 1.3f, 6.5f, @@ -1878,7 +1878,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_3) { 4.5f, 1.f, 0.3f, 0.5f} ); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 4}, { + auto exp = NDArrayFactory::create( {2, 2, 2, 4}, { 0.9824562f, 0.f, 0.03822664f, 0.9824562f, 0.67488194f, 0.f, 0.18924236f, 0.96960944f, 0.99330735f, 0.f, 0.f, 0.37139067f, @@ -1905,7 +1905,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_3) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_4) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 4}, { + auto x = NDArrayFactory::create( {2, 2, 2, 4}, { 5.5f, 0.f, 0.3f, 5.5f, 1.5f, 0.f, 1.3f, 6.5f, @@ -1917,7 +1917,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_4) { 4.5f, 1.f, 0.3f, 0.5f} ); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 4}, { + auto exp = NDArrayFactory::create( {2, 2, 2, 4}, { 0.70082176f, 0.f, 0.03822664f, 0.70082176f, 0.21835658f, 0.f, 0.18924236f, 0.9462118f, 0.9922489f, 0.f, 0.f, 0.04615111f, @@ -1944,7 +1944,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_4) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_5) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 4}, { + auto x = NDArrayFactory::create( {2, 2, 2, 4}, { 5.5f, 0.f, 0.3f, 5.5f, 1.5f, 0.f, 1.3f, 6.5f, @@ -1956,7 +1956,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_5) { 4.5f, 1.f, 0.3f, 0.5f} ); - auto eps = NDArrayFactory::create('c', {2, 2, 2, 4}, { + auto eps = NDArrayFactory::create( {2, 2, 2, 4}, { 0.70082176f, 0.f, 0.03822664f, 0.70082176f, 0.21835658f, 0.f, 0.18924236f, 0.9462118f, @@ -1971,7 +1971,7 @@ TYPED_TEST(TypedDeclarableOpsTests4, LrnTest_5) { 0.94679165f, 0.21039814f, 0.06311944f, 0.10519907f} ); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 4}); + auto exp = NDArrayFactory::create( {2, 2, 2, 4}); sd::ops::lrn_bp op; auto results = op.evaluate({&x, &eps}, {1.0, 1.0, 0.5}, {5}, {}, {}, false); @@ -1993,7 +1993,7 @@ TEST_F(DeclarableOpsTests4, tri_test1) { const int rows = 3; const int cols = 5; - auto expected = NDArrayFactory::create('c', {rows, cols}, {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f, 1.f, 1.f, 1.f, 0.f, 0.f}); + auto expected = NDArrayFactory::create( {rows, cols}, {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f, 1.f, 1.f, 1.f, 0.f, 0.f}); sd::ops::tri op; auto results = op.evaluate({}, {}, {rows, cols}); @@ -2016,7 +2016,7 @@ TEST_F(DeclarableOpsTests4, tri_test2) { const int cols = 5; const int diag = 2; - auto expected = NDArrayFactory::create('c', {rows, cols}, {1.f, 1.f, 1.f, 0.f, 0.f, 1.f, 1.f, 1.f, 1.f, 0.f, 1.f, 1.f, 1.f, 1.f, 1.f}); + auto expected = NDArrayFactory::create( {rows, cols}, {1.f, 1.f, 1.f, 0.f, 0.f, 1.f, 1.f, 1.f, 1.f, 0.f, 1.f, 1.f, 1.f, 1.f, 1.f}); sd::ops::tri op; auto results = op.evaluate({}, {}, {rows, cols, diag}); @@ -2037,7 +2037,7 @@ TEST_F(DeclarableOpsTests4, tri_test3) { const int cols = 5; const int diag = -1; - auto expected = NDArrayFactory::create('c', {rows, cols}, {0.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f}); + auto expected = NDArrayFactory::create( {rows, cols}, {0.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f}); sd::ops::tri op; auto results = op.evaluate({}, {}, {rows, cols, diag}); @@ -2058,7 +2058,7 @@ TEST_F(DeclarableOpsTests4, tri_test4) { const int cols = 5; const int diag = -2; - auto expected = NDArrayFactory::create('c', {rows, cols}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f}); + auto expected = NDArrayFactory::create( {rows, cols}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::tri op; auto results = op.evaluate({}, {}, {rows, cols, diag}); @@ -2077,7 +2077,7 @@ TEST_F(DeclarableOpsTests4, tri_test5) { const int rows = 5; - auto expected = NDArrayFactory::create('c', {rows, rows}, {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f, 1.f, 1.f, 1.f, 0.f, 0.f, 1.f, 1.f, 1.f, 1.f, 0.f, 1.f, 1.f, 1.f, 1.f, 1.f}); + auto expected = NDArrayFactory::create( {rows, rows}, {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f, 1.f, 1.f, 1.f, 0.f, 0.f, 1.f, 1.f, 1.f, 1.f, 0.f, 1.f, 1.f, 1.f, 1.f, 1.f}); sd::ops::tri op; auto results = op.evaluate({}, {}, {rows}); @@ -2098,7 +2098,7 @@ TEST_F(DeclarableOpsTests4, tri_test6) { const int cols = 5; const int diag = -20; - auto expected = NDArrayFactory::create('c', {rows, cols}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}); + auto expected = NDArrayFactory::create( {rows, cols}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::tri op; auto results = op.evaluate({}, {}, {rows, cols, diag}); @@ -2119,7 +2119,7 @@ TEST_F(DeclarableOpsTests4, tri_test7) { const int cols = 5; const int diag = 20; - auto expected = NDArrayFactory::create('c', {rows, cols}, {1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f}); + auto expected = NDArrayFactory::create( {rows, cols}, {1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f}); sd::ops::tri op; auto results = op.evaluate({}, {}, {rows, cols, diag}); @@ -2136,8 +2136,8 @@ TEST_F(DeclarableOpsTests4, tri_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test1) { - auto input = NDArrayFactory::create('c', {4, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto expected = NDArrayFactory::create('c', {4, 3}, {1, 2, 3, 0, 5, 6, 0, 0, 9, 0, 0, 0}); + auto input = NDArrayFactory::create( {4, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto expected = NDArrayFactory::create( {4, 3}, {1, 2, 3, 0, 5, 6, 0, 0, 9, 0, 0, 0}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {}); @@ -2155,8 +2155,8 @@ TEST_F(DeclarableOpsTests4, triu_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test2) { - auto input = NDArrayFactory::create('c', {4, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto expected = NDArrayFactory::create('c', {4, 3}, {1, 2, 3,4, 5, 6,0, 8, 9,0, 0, 12}); + auto input = NDArrayFactory::create( {4, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto expected = NDArrayFactory::create( {4, 3}, {1, 2, 3,4, 5, 6,0, 8, 9,0, 0, 12}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {-1}); @@ -2173,8 +2173,8 @@ TEST_F(DeclarableOpsTests4, triu_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test3) { - auto input = NDArrayFactory::create('c', {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto expected = NDArrayFactory::create('c', {2, 3, 2}, {1, 2,3, 4,0, 6,7, 8,9,10,0,12}); + auto input = NDArrayFactory::create( {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto expected = NDArrayFactory::create( {2, 3, 2}, {1, 2,3, 4,0, 6,7, 8,9,10,0,12}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {-1}); @@ -2191,8 +2191,8 @@ TEST_F(DeclarableOpsTests4, triu_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test4) { - auto input = NDArrayFactory::create('c', {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto expected = NDArrayFactory::create('c', {2, 3, 2}, {1, 2,0, 4,0, 0,7, 8,0, 10,0, 0}); + auto input = NDArrayFactory::create( {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto expected = NDArrayFactory::create( {2, 3, 2}, {1, 2,0, 4,0, 0,7, 8,0, 10,0, 0}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {}); @@ -2209,8 +2209,8 @@ TEST_F(DeclarableOpsTests4, triu_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test5) { - auto input = NDArrayFactory::create('c', {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto expected = NDArrayFactory::create('c', {2, 3, 2}, {0, 2,0, 0,0, 0,0, 8,0, 0,0, 0}); + auto input = NDArrayFactory::create( {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto expected = NDArrayFactory::create( {2, 3, 2}, {0, 2,0, 0,0, 0,0, 8,0, 0,0, 0}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {1}); @@ -2227,8 +2227,8 @@ TEST_F(DeclarableOpsTests4, triu_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test6) { - auto input = NDArrayFactory::create('c', {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto expected = NDArrayFactory::create('c', {2, 3, 2}, {0, 0,0, 0,0, 0,0, 0,0, 0,0, 0}); + auto input = NDArrayFactory::create( {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto expected = NDArrayFactory::create( {2, 3, 2}, {0, 0,0, 0,0, 0,0, 0,0, 0,0, 0}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {10}); @@ -2245,8 +2245,8 @@ TEST_F(DeclarableOpsTests4, triu_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test7) { - auto input = NDArrayFactory::create('c', {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto expected = NDArrayFactory::create('c', {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto input = NDArrayFactory::create( {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto expected = NDArrayFactory::create( {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {-10}); @@ -2263,8 +2263,8 @@ TEST_F(DeclarableOpsTests4, triu_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test8) { - auto input = NDArrayFactory::create('c', {6}, {1, 2, 3, 4, 5, 6}); - auto expected = NDArrayFactory::create('c', {6, 6}, {1, 2, 3, 4, 5, 6,0, 2, 3, 4, 5, 6,0, 0, 3, 4, 5, 6,0, 0, 0, 4, 5, 6,0, 0, 0, 0, 5, 6,0, 0, 0, 0, 0, 6}); + auto input = NDArrayFactory::create( {6}, {1, 2, 3, 4, 5, 6}); + auto expected = NDArrayFactory::create( {6, 6}, {1, 2, 3, 4, 5, 6,0, 2, 3, 4, 5, 6,0, 0, 3, 4, 5, 6,0, 0, 0, 4, 5, 6,0, 0, 0, 0, 5, 6,0, 0, 0, 0, 0, 6}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {}); @@ -2281,8 +2281,8 @@ TEST_F(DeclarableOpsTests4, triu_test8) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test9) { - auto input = NDArrayFactory::create('c', {6}, {1, 2, 3, 4, 5, 6}); - auto expected = NDArrayFactory::create('c', {6, 6}, {1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 0, 2, 3, 4, 5, 6, 0, 0, 3, 4, 5, 6}); + auto input = NDArrayFactory::create( {6}, {1, 2, 3, 4, 5, 6}); + auto expected = NDArrayFactory::create( {6, 6}, {1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 0, 2, 3, 4, 5, 6, 0, 0, 3, 4, 5, 6}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {-3}); @@ -2299,8 +2299,8 @@ TEST_F(DeclarableOpsTests4, triu_test9) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test10) { - auto input = NDArrayFactory::create('c', {6}, {1, 2, 3, 4, 5, 6}); - auto expected = NDArrayFactory::create('c', {6, 6}, {0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 5, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}); + auto input = NDArrayFactory::create( {6}, {1, 2, 3, 4, 5, 6}); + auto expected = NDArrayFactory::create( {6, 6}, {0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 5, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {3}); @@ -2317,8 +2317,8 @@ TEST_F(DeclarableOpsTests4, triu_test10) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_test11) { - auto input = NDArrayFactory::create('c', {6}, {1, 2, 3, 4, 5, 6}); - auto expected = NDArrayFactory::create('c', {6, 6}, {1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6}); + auto input = NDArrayFactory::create( {6}, {1, 2, 3, 4, 5, 6}); + auto expected = NDArrayFactory::create( {6, 6}, {1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6}); sd::ops::triu op; auto results = op.evaluate({&input}, {}, {-58}); @@ -2336,11 +2336,11 @@ TEST_F(DeclarableOpsTests4, triu_test11) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_bp_test1) { - auto input = NDArrayFactory::create('c', {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto gradO = NDArrayFactory::create('c', {2, 3, 2}); + auto input = NDArrayFactory::create( {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto gradO = NDArrayFactory::create( {2, 3, 2}); gradO = 0.5; - auto expected = NDArrayFactory::create('c', {2, 3, 2}, {0.,0.5,0.,0. ,0.,0. ,0.,0.5,0.,0. ,0.,0.}); + auto expected = NDArrayFactory::create( {2, 3, 2}, {0.,0.5,0.,0. ,0.,0. ,0.,0.5,0.,0. ,0.,0.}); sd::ops::triu_bp op; auto results = op.evaluate({&input, &gradO}, {}, {1}); @@ -2357,11 +2357,11 @@ TEST_F(DeclarableOpsTests4, triu_bp_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_bp_test2) { - auto input = NDArrayFactory::create('c', {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto gradO = NDArrayFactory::create('c', {2, 3, 2}); + auto input = NDArrayFactory::create( {2, 3, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto gradO = NDArrayFactory::create( {2, 3, 2}); gradO = 0.5; - auto expected = NDArrayFactory::create('c', {2, 3, 2}, {0.5,0.5,0. ,0.5,0. ,0. ,0.5,0.5,0. ,0.5,0. ,0.}); + auto expected = NDArrayFactory::create( {2, 3, 2}, {0.5,0.5,0. ,0.5,0. ,0. ,0.5,0.5,0. ,0.5,0. ,0.}); sd::ops::triu_bp op; auto results = op.evaluate({&input, &gradO}, {}, {}); @@ -2378,11 +2378,11 @@ TEST_F(DeclarableOpsTests4, triu_bp_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_bp_test3) { - auto input = NDArrayFactory::create('c', {6}, {1, 2, 3, 4, 5, 6}); - auto gradO = NDArrayFactory::create('c', {6,6}); + auto input = NDArrayFactory::create( {6}, {1, 2, 3, 4, 5, 6}); + auto gradO = NDArrayFactory::create( {6,6}); gradO = 0.5; - auto expected = NDArrayFactory::create('c', {6,6}, {0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0. , 0.5, 0.5, 0.5, 0.5, 0.5,0. , 0. , 0.5, 0.5, 0.5, 0.5,0. , 0. , 0. , 0.5, 0.5, 0.5}); + auto expected = NDArrayFactory::create( {6,6}, {0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0. , 0.5, 0.5, 0.5, 0.5, 0.5,0. , 0. , 0.5, 0.5, 0.5, 0.5,0. , 0. , 0. , 0.5, 0.5, 0.5}); sd::ops::triu_bp op; auto results = op.evaluate({&input, &gradO}, {}, {-2}); @@ -2399,11 +2399,11 @@ TEST_F(DeclarableOpsTests4, triu_bp_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests4, triu_bp_test4) { - auto input = NDArrayFactory::create('c', {2,3}, {1, 2, 3, 4, 5, 6}); - auto gradO = NDArrayFactory::create('c', {2,3}); + auto input = NDArrayFactory::create( {2,3}, {1, 2, 3, 4, 5, 6}); + auto gradO = NDArrayFactory::create( {2,3}); gradO = 0.5; - auto expected = NDArrayFactory::create('c', {2,3}, {0., 0., 0., 0., 0., 0.}); + auto expected = NDArrayFactory::create( {2,3}, {0., 0., 0., 0., 0., 0.}); sd::ops::triu_bp op; auto results = op.evaluate({&input, &gradO}, {}, {10}); From b5dec991cefff012350feeb1603824b2b9598ac3 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 19 Jun 2020 11:19:33 +0300 Subject: [PATCH 58/99] Fixed the fifth test file and misc with fourth test file with new factory create. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests4.cpp | 6 +- .../layers_tests/DeclarableOpsTests5.cpp | 748 +++++++++--------- 2 files changed, 377 insertions(+), 377 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp index 9b9feb1314bf..74d825cea353 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp @@ -399,7 +399,7 @@ TEST_F(DeclarableOpsTests4, avgpool2d_13) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -442,7 +442,7 @@ TEST_F(DeclarableOpsTests4, avgpool2d_14) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -485,7 +485,7 @@ TEST_F(DeclarableOpsTests4, Avgpool2d_test15) { // auto z('c',{bS,iD,oH,oW}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp index 04bb54a61462..f5f93c3a1766 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp @@ -40,8 +40,8 @@ class DeclarableOpsTests5 : public testing::Test { TEST_F(DeclarableOpsTests5, Test_PermuteEquality_1) { - auto x = NDArrayFactory::create('c', {1, 60}); - auto exp = NDArrayFactory::create('c', {3, 5, 4}, {1.0, 6.0, 11.0, 16.0, 2.0, 7.0, 12.0, 17.0, 3.0, 8.0, 13.0, 18.0, 4.0, 9.0, 14.0, 19.0, 5.0, 10.0, 15.0, 20.0, 21.0, 26.0, 31.0, 36.0, 22.0, 27.0, 32.0, 37.0, 23.0, 28.0, 33.0, 38.0, 24.0, 29.0, 34.0, 39.0, 25.0, 30.0, 35.0, 40.0, 41.0, 46.0, 51.0, 56.0, 42.0, 47.0, 52.0, 57.0, 43.0, 48.0, 53.0, 58.0, 44.0, 49.0, 54.0, 59.0, 45.0, 50.0, 55.0, 60.0}); + auto x = NDArrayFactory::create( {1, 60}); + auto exp = NDArrayFactory::create( {3, 5, 4}, {1.0, 6.0, 11.0, 16.0, 2.0, 7.0, 12.0, 17.0, 3.0, 8.0, 13.0, 18.0, 4.0, 9.0, 14.0, 19.0, 5.0, 10.0, 15.0, 20.0, 21.0, 26.0, 31.0, 36.0, 22.0, 27.0, 32.0, 37.0, 23.0, 28.0, 33.0, 38.0, 24.0, 29.0, 34.0, 39.0, 25.0, 30.0, 35.0, 40.0, 41.0, 46.0, 51.0, 56.0, 42.0, 47.0, 52.0, 57.0, 43.0, 48.0, 53.0, 58.0, 44.0, 49.0, 54.0, 59.0, 45.0, 50.0, 55.0, 60.0}); x.linspace(1); x.reshapei('c', {3, 4, 5}); @@ -58,9 +58,9 @@ TEST_F(DeclarableOpsTests5, Test_PermuteEquality_1) { } TEST_F(DeclarableOpsTests5, Test_PermuteEquality_0) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0}); x.reshapei('c', {3, 4, 5}); // x.printShapeInfo("{0, 1, 2} shape"); @@ -80,9 +80,9 @@ TEST_F(DeclarableOpsTests5, Test_PermuteEquality_0) { TEST_F(DeclarableOpsTests5, Test_PermuteEquality_2) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {4, 3, 5}, {1.0, 2.0, 3.0, 4.0, 5.0, 21.0, 22.0, 23.0, 24.0, 25.0, 41.0, 42.0, 43.0, 44.0, 45.0, 6.0, 7.0, 8.0, 9.0, 10.0, 26.0, 27.0, 28.0, 29.0, 30.0, 46.0, 47.0, 48.0, 49.0, 50.0, 11.0, 12.0, 13.0, 14.0, 15.0, 31.0, 32.0, 33.0, 34.0, 35.0, 51.0, 52.0, 53.0, 54.0, 55.0, 16.0, 17.0, 18.0, 19.0, 20.0, 36.0, 37.0, 38.0, 39.0, 40.0, 56.0, 57.0, 58.0, 59.0, 60.0}); + auto exp = NDArrayFactory::create( {4, 3, 5}, {1.0, 2.0, 3.0, 4.0, 5.0, 21.0, 22.0, 23.0, 24.0, 25.0, 41.0, 42.0, 43.0, 44.0, 45.0, 6.0, 7.0, 8.0, 9.0, 10.0, 26.0, 27.0, 28.0, 29.0, 30.0, 46.0, 47.0, 48.0, 49.0, 50.0, 11.0, 12.0, 13.0, 14.0, 15.0, 31.0, 32.0, 33.0, 34.0, 35.0, 51.0, 52.0, 53.0, 54.0, 55.0, 16.0, 17.0, 18.0, 19.0, 20.0, 36.0, 37.0, 38.0, 39.0, 40.0, 56.0, 57.0, 58.0, 59.0, 60.0}); x.reshapei('c', {3, 4, 5}); // x.printShapeInfo("{1, 0, 2} shape"); @@ -101,9 +101,9 @@ TEST_F(DeclarableOpsTests5, Test_PermuteEquality_2) { } TEST_F(DeclarableOpsTests5, Test_PermuteEquality_3) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {4, 5, 3}, {1.0, 21.0, 41.0, 2.0, 22.0, 42.0, 3.0, 23.0, 43.0, 4.0, 24.0, 44.0, 5.0, 25.0, 45.0, 6.0, 26.0, 46.0, 7.0, 27.0, 47.0, 8.0, 28.0, 48.0, 9.0, 29.0, 49.0, 10.0, 30.0, 50.0, 11.0, 31.0, 51.0, 12.0, 32.0, 52.0, 13.0, 33.0, 53.0, 14.0, 34.0, 54.0, 15.0, 35.0, 55.0, 16.0, 36.0, 56.0, 17.0, 37.0, 57.0, 18.0, 38.0, 58.0, 19.0, 39.0, 59.0, 20.0, 40.0, 60.0}); + auto exp = NDArrayFactory::create( {4, 5, 3}, {1.0, 21.0, 41.0, 2.0, 22.0, 42.0, 3.0, 23.0, 43.0, 4.0, 24.0, 44.0, 5.0, 25.0, 45.0, 6.0, 26.0, 46.0, 7.0, 27.0, 47.0, 8.0, 28.0, 48.0, 9.0, 29.0, 49.0, 10.0, 30.0, 50.0, 11.0, 31.0, 51.0, 12.0, 32.0, 52.0, 13.0, 33.0, 53.0, 14.0, 34.0, 54.0, 15.0, 35.0, 55.0, 16.0, 36.0, 56.0, 17.0, 37.0, 57.0, 18.0, 38.0, 58.0, 19.0, 39.0, 59.0, 20.0, 40.0, 60.0}); x.reshapei('c', {3, 4, 5}); // x.printShapeInfo("{1, 2, 0} shape"); @@ -122,9 +122,9 @@ TEST_F(DeclarableOpsTests5, Test_PermuteEquality_3) { } TEST_F(DeclarableOpsTests5, Test_PermuteEquality_4) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {5, 3, 4}, {1.0, 6.0, 11.0, 16.0, 21.0, 26.0, 31.0, 36.0, 41.0, 46.0, 51.0, 56.0, 2.0, 7.0, 12.0, 17.0, 22.0, 27.0, 32.0, 37.0, 42.0, 47.0, 52.0, 57.0, 3.0, 8.0, 13.0, 18.0, 23.0, 28.0, 33.0, 38.0, 43.0, 48.0, 53.0, 58.0, 4.0, 9.0, 14.0, 19.0, 24.0, 29.0, 34.0, 39.0, 44.0, 49.0, 54.0, 59.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0}); + auto exp = NDArrayFactory::create( {5, 3, 4}, {1.0, 6.0, 11.0, 16.0, 21.0, 26.0, 31.0, 36.0, 41.0, 46.0, 51.0, 56.0, 2.0, 7.0, 12.0, 17.0, 22.0, 27.0, 32.0, 37.0, 42.0, 47.0, 52.0, 57.0, 3.0, 8.0, 13.0, 18.0, 23.0, 28.0, 33.0, 38.0, 43.0, 48.0, 53.0, 58.0, 4.0, 9.0, 14.0, 19.0, 24.0, 29.0, 34.0, 39.0, 44.0, 49.0, 54.0, 59.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0}); x.reshapei('c', {3, 4, 5}); // x.printShapeInfo("{2, 0, 1} shape"); @@ -143,9 +143,9 @@ TEST_F(DeclarableOpsTests5, Test_PermuteEquality_4) { } TEST_F(DeclarableOpsTests5, Test_PermuteEquality_5) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {5, 4, 3}, {1.0, 21.0, 41.0, 6.0, 26.0, 46.0, 11.0, 31.0, 51.0, 16.0, 36.0, 56.0, 2.0, 22.0, 42.0, 7.0, 27.0, 47.0, 12.0, 32.0, 52.0, 17.0, 37.0, 57.0, 3.0, 23.0, 43.0, 8.0, 28.0, 48.0, 13.0, 33.0, 53.0, 18.0, 38.0, 58.0, 4.0, 24.0, 44.0, 9.0, 29.0, 49.0, 14.0, 34.0, 54.0, 19.0, 39.0, 59.0, 5.0, 25.0, 45.0, 10.0, 30.0, 50.0, 15.0, 35.0, 55.0, 20.0, 40.0, 60.0}); + auto exp = NDArrayFactory::create( {5, 4, 3}, {1.0, 21.0, 41.0, 6.0, 26.0, 46.0, 11.0, 31.0, 51.0, 16.0, 36.0, 56.0, 2.0, 22.0, 42.0, 7.0, 27.0, 47.0, 12.0, 32.0, 52.0, 17.0, 37.0, 57.0, 3.0, 23.0, 43.0, 8.0, 28.0, 48.0, 13.0, 33.0, 53.0, 18.0, 38.0, 58.0, 4.0, 24.0, 44.0, 9.0, 29.0, 49.0, 14.0, 34.0, 54.0, 19.0, 39.0, 59.0, 5.0, 25.0, 45.0, 10.0, 30.0, 50.0, 15.0, 35.0, 55.0, 20.0, 40.0, 60.0}); x.reshapei('c', {3, 4, 5}); // x.printShapeInfo("{2, 1, 0} shape"); @@ -164,10 +164,10 @@ TEST_F(DeclarableOpsTests5, Test_PermuteEquality_5) { } TEST_F(DeclarableOpsTests5, Test_TTS_bp_1) { - auto x = NDArrayFactory::create('c', {2, 1, 3}); - auto eps = NDArrayFactory::create('c', {2, 4, 3}); + auto x = NDArrayFactory::create( {2, 1, 3}); + auto eps = NDArrayFactory::create( {2, 4, 3}); - auto exp = NDArrayFactory::create('c', {2, 1, 3}, {22.f, 26.f, 30.f, 70.f, 74.f, 78.f}); + auto exp = NDArrayFactory::create( {2, 1, 3}, {22.f, 26.f, 30.f, 70.f, 74.f, 78.f}); eps.linspace(1.f); @@ -188,9 +188,9 @@ TEST_F(DeclarableOpsTests5, Test_TTS_bp_1) { TEST_F(DeclarableOpsTests5, Test_Rdiv_bp_1) { - auto x = NDArrayFactory::create('c', {3, 1}, {1, 2, 3}); - auto y = NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto eps = NDArrayFactory::create('c', {3, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto x = NDArrayFactory::create( {3, 1}, {1, 2, 3}); + auto y = NDArrayFactory::create( {1, 4}, {1, 2, 3, 4}); + auto eps = NDArrayFactory::create( {3, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); sd::ops::reversedivide op_ff; @@ -210,7 +210,7 @@ TEST_F(DeclarableOpsTests5, Test_Rdiv_bp_1) { TEST_F(DeclarableOpsTests5, Test_Boolean_diff_1) { - auto x = NDArrayFactory::create('c', {1, 1}, {1.0f}); + auto x = NDArrayFactory::create( {1, 1}, {1.0f}); auto y = NDArrayFactory::create(2.0f); sd::ops::less op; @@ -221,7 +221,7 @@ TEST_F(DeclarableOpsTests5, Test_Boolean_diff_1) { } TEST_F(DeclarableOpsTests5, Test_SetSeed_1) { - auto x = NDArrayFactory::create('c', {1, 1}, {120}); + auto x = NDArrayFactory::create( {1, 1}, {120}); auto y = NDArrayFactory::create(5); sd::ops::set_seed op; @@ -239,10 +239,10 @@ TEST_F(DeclarableOpsTests5, Test_SetSeed_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, scatterMul_test1) { - auto matrix = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 3.f, 4.f}); + auto matrix = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 3.f, 4.f}); NDArray idc('c', {1}, std::vector({0LL}), sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 2}, {10.f, 1.f}); - auto exp = NDArrayFactory::create('c', {2, 2}, {10.f, 2.f, 3.f, 4.f}); + auto updates = NDArrayFactory::create( {1, 2}, {10.f, 1.f}); + auto exp = NDArrayFactory::create( {2, 2}, {10.f, 2.f, 3.f, 4.f}); sd::ops::scatter_mul op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {}); @@ -257,10 +257,10 @@ TEST_F(DeclarableOpsTests5, scatterMul_test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, scatterDiv_test1) { - auto matrix = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 3.f, 4.f}); + auto matrix = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 3.f, 4.f}); NDArray idc('c', {1}, std::vector({0LL}), sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 2}, {10.f, 1.f}); - auto exp = NDArrayFactory::create('c', {2, 2}, {0.10f, 2.f, 3.f, 4.f}); + auto updates = NDArrayFactory::create( {1, 2}, {10.f, 1.f}); + auto exp = NDArrayFactory::create( {2, 2}, {0.10f, 2.f, 3.f, 4.f}); sd::ops::scatter_div op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {}); @@ -275,10 +275,10 @@ TEST_F(DeclarableOpsTests5, scatterDiv_test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, scatterSub_test1) { - auto matrix = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 3.f, 4.f}); + auto matrix = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 3.f, 4.f}); NDArray idc('c', {1}, std::vector({0LL}), sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 2}, {10.f, 1.f}); - auto exp = NDArrayFactory::create('c', {2, 2}, {-9.f, 1.f, 3.f, 4.f}); + auto updates = NDArrayFactory::create( {1, 2}, {10.f, 1.f}); + auto exp = NDArrayFactory::create( {2, 2}, {-9.f, 1.f, 3.f, 4.f}); sd::ops::scatter_sub op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {}); @@ -293,8 +293,8 @@ TEST_F(DeclarableOpsTests5, scatterSub_test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, hardsigmoid_test1) { - auto matrix = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 2}, {0.7f, 0.9f, 1.f, 1.f}); + auto matrix = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 2}, {0.7f, 0.9f, 1.f, 1.f}); sd::ops::hardsigmoid op; auto result = op.evaluate({&matrix}, {}, {}, {}); @@ -308,9 +308,9 @@ TEST_F(DeclarableOpsTests5, hardsigmoid_test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, hardsigmoid_test2) { - auto matrix = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 3.f, 4.f}); - auto eps = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 2}, {0.2f, 0.4f, 0.f, 0.f}); + auto matrix = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 3.f, 4.f}); + auto eps = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 2}, {0.2f, 0.4f, 0.f, 0.f}); sd::ops::hardsigmoid_bp op; auto result = op.evaluate({&matrix, &eps}, {}, {}, {}); @@ -324,8 +324,8 @@ TEST_F(DeclarableOpsTests5, hardsigmoid_test2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, hardtanh_test1) { - auto matrix = NDArrayFactory::create('c', {3, 3}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3, 3}, {-1, -1, -1, -1, 0, 1, 1, 1, 1}); + auto matrix = NDArrayFactory::create( {3, 3}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {3, 3}, {-1, -1, -1, -1, 0, 1, 1, 1, 1}); sd::ops::hardtanh op; auto result = op.evaluate({&matrix}, {}, {}, {}); @@ -339,9 +339,9 @@ TEST_F(DeclarableOpsTests5, hardtanh_test1) { } //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, hardtanh_test2) { - auto matrix = NDArrayFactory::create('c', {3, 3}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}); - auto eps = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto exp = NDArrayFactory::create('c', {3, 3}, {0, 0, 0, 4, 5, 6, 0, 0, 0}); + auto matrix = NDArrayFactory::create( {3, 3}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}); + auto eps = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto exp = NDArrayFactory::create( {3, 3}, {0, 0, 0, 4, 5, 6, 0, 0, 0}); sd::ops::hardtanh_bp op; auto result = op.evaluate({&matrix, &eps}, {}, {}, {}); @@ -356,8 +356,8 @@ TEST_F(DeclarableOpsTests5, hardtanh_test2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, histogram_test1) { - auto matrix = NDArrayFactory::create('c', {3, 3}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {3, 3, 3}); + auto matrix = NDArrayFactory::create( {3, 3}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {3, 3, 3}); sd::ops::histogram op; auto result = op.evaluate({&matrix}, {}, {3}, {}); @@ -371,8 +371,8 @@ TEST_F(DeclarableOpsTests5, histogram_test1) { } //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, histogram_test2) { - auto matrix = NDArrayFactory::create('c', {3}, {1, 2, 1}); - auto exp = NDArrayFactory::create('c', {4}, {2, 0, 0, 1}); + auto matrix = NDArrayFactory::create( {3}, {1, 2, 1}); + auto exp = NDArrayFactory::create( {4}, {2, 0, 0, 1}); sd::ops::histogram op; auto result = op.evaluate({&matrix}, {}, {4}, {}); @@ -386,8 +386,8 @@ TEST_F(DeclarableOpsTests5, histogram_test2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Identity_test1) { - auto matrix = NDArrayFactory::create('c', {3, 3}, {-4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f}); -// auto exp = NDArrayFactory::create('c', {3, 3}, {3, 3, 3}); + auto matrix = NDArrayFactory::create( {3, 3}, {-4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f}); +// auto exp = NDArrayFactory::create( {3, 3}, {3, 3, 3}); sd::ops::identity op; auto result = op.evaluate({&matrix}, {}, {}, {}); @@ -401,9 +401,9 @@ TEST_F(DeclarableOpsTests5, Identity_test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Identity_test2) { - auto matrix = NDArrayFactory::create('c', {3, 3}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}); - auto eps = NDArrayFactory::create('c', {3, 3}, {1,2,3,4,5,6,7,8,9}); -// auto exp = NDArrayFactory::create('c', {3,3}); + auto matrix = NDArrayFactory::create( {3, 3}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}); + auto eps = NDArrayFactory::create( {3, 3}, {1,2,3,4,5,6,7,8,9}); +// auto exp = NDArrayFactory::create( {3,3}); sd::ops::identity_bp op; auto result = op.evaluate({&matrix, &eps}, {}, {}, {}); ASSERT_EQ(ND4J_STATUS_OK, result.status()); @@ -415,10 +415,10 @@ TEST_F(DeclarableOpsTests5, Identity_test2) { } //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Log1p_test1) { - auto matrix = NDArrayFactory::create('c', {3, 3}, {4, 3, 2, 1, 0, 1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {3,3}, {5,4,3,2,1,2,3,4,5}); - // auto eps = NDArrayFactory::create('c', {3, 3}, {1,2,3,4,5,6,7,8,9}); -// auto exp = NDArrayFactory::create('c', {3,3}); + auto matrix = NDArrayFactory::create( {3, 3}, {4, 3, 2, 1, 0, 1, 2, 3, 4}); + auto y = NDArrayFactory::create( {3,3}, {5,4,3,2,1,2,3,4,5}); + // auto eps = NDArrayFactory::create( {3, 3}, {1,2,3,4,5,6,7,8,9}); +// auto exp = NDArrayFactory::create( {3,3}); sd::ops::Log1p op; y.applyTransform(sd::transform::Log, y); auto result = op.evaluate({&matrix}, {}, {}, {}); @@ -432,9 +432,9 @@ TEST_F(DeclarableOpsTests5, Log1p_test1) { TEST_F(DeclarableOpsTests5, Test_SpaceToBatch_1) { - auto x = NDArrayFactory::create('c', {1, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto exp = NDArrayFactory::create('c', {4, 1, 1, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {0, 0, 0, 0}); + auto x = NDArrayFactory::create( {1, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto exp = NDArrayFactory::create( {4, 1, 1, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto paddings = NDArrayFactory::create( {2, 2}, {0, 0, 0, 0}); sd::ops::space_to_batch op; auto result = op.evaluate({&x, &paddings}, {}, {2}); @@ -450,9 +450,9 @@ TEST_F(DeclarableOpsTests5, Test_SpaceToBatch_1) { TEST_F(DeclarableOpsTests5, Test_SpaceToBatch_2) { - auto x = NDArrayFactory::create('c', {1, 2, 2, 1}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4, 1, 1, 1}, {1, 2, 3, 4}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {0, 0, 0, 0}); + auto x = NDArrayFactory::create( {1, 2, 2, 1}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {4, 1, 1, 1}, {1, 2, 3, 4}); + auto paddings = NDArrayFactory::create( {2, 2}, {0, 0, 0, 0}); sd::ops::space_to_batch op; auto result = op.evaluate({&x, &paddings}, {}, {2}); @@ -469,9 +469,9 @@ TEST_F(DeclarableOpsTests5, Test_SpaceToBatch_2) { TEST_F(DeclarableOpsTests5, Test_SpaceToBatch_3) { - auto x = NDArrayFactory::create('c', {2, 2, 4, 1}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {0, 0, 2, 0}); - auto exp = NDArrayFactory::create('c', {8, 1, 3, 1}, {0, 1, 3, 0, 9, 11,0, 2, 4, 0, 10, 12,0, 5, 7, 0, 13, 15,0, 6, 8, 0, 14, 16}); + auto x = NDArrayFactory::create( {2, 2, 4, 1}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}); + auto paddings = NDArrayFactory::create( {2, 2}, {0, 0, 2, 0}); + auto exp = NDArrayFactory::create( {8, 1, 3, 1}, {0, 1, 3, 0, 9, 11,0, 2, 4, 0, 10, 12,0, 5, 7, 0, 13, 15,0, 6, 8, 0, 14, 16}); sd::ops::space_to_batch op; auto result = op.evaluate({&x, &paddings}, {}, {2}); @@ -491,7 +491,7 @@ TEST_F(DeclarableOpsTests5, Test_SpaceToBatch_4) { const int blockSize = 2; NDArray x('c', {3, 3*blockSize - 1 - 2, 4*blockSize - 2 - 3, 2}, {147, 148, 219, 220, 149, 150, 11, 12, 83, 84, 13, 14, 155, 156, 227, 228, 157, 158, 171, 172, 243, 244, 173, 174, 35, 36, 107, 108, 37, 38, 179, 180, 251, 252, 181, 182, 195, 196, 267, 268, 197, 198, 59, 60, 131, 132, 61, 62, 203, 204, 275, 276, 205, 206}, sd::DataType::FLOAT32); - NDArray paddings = NDArrayFactory::create('c', {2, 2}, {1, 2, 2, 3}); + NDArray paddings = NDArrayFactory::create( {2, 2}, {1, 2, 2, 3}); NDArray exp('c', {3*blockSize*blockSize, 3, 4, 2}, {0,0, 0,0, 0,0, 0,0, 0,0, 11,12, 13,14, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 35,36, 37,38, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 59,60, 61,62, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, @@ -516,9 +516,9 @@ TEST_F(DeclarableOpsTests5, Test_SpaceToBatch_4) { } TEST_F(DeclarableOpsTests5, Test_BatchToSpace_1) { - auto x = NDArrayFactory::create('c', {4, 1, 1, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto exp = NDArrayFactory::create('c', {1, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto crops = NDArrayFactory::create('c', {2, 2}, {0, 0, 0, 0}); + auto x = NDArrayFactory::create( {4, 1, 1, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto exp = NDArrayFactory::create( {1, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto crops = NDArrayFactory::create( {2, 2}, {0, 0, 0, 0}); sd::ops::batch_to_space op; auto result = op.evaluate({&x, &crops}, {}, {2}); @@ -534,9 +534,9 @@ TEST_F(DeclarableOpsTests5, Test_BatchToSpace_1) { } TEST_F(DeclarableOpsTests5, Test_BatchToSpace_2) { - auto x = NDArrayFactory::create('c', {4, 1, 1, 1}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 2, 2, 1}, {1, 2, 3, 4}); - auto crops = NDArrayFactory::create('c', {2, 2}, {0, 0, 0, 0}); + auto x = NDArrayFactory::create( {4, 1, 1, 1}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 2, 2, 1}, {1, 2, 3, 4}); + auto crops = NDArrayFactory::create( {2, 2}, {0, 0, 0, 0}); sd::ops::batch_to_space op; auto result = op.evaluate({&x, &crops}, {}, {2}); @@ -552,12 +552,12 @@ TEST_F(DeclarableOpsTests5, Test_BatchToSpace_2) { TEST_F(DeclarableOpsTests5, Test_BatchToSpace_3) { - auto x = NDArrayFactory::create('c', {8, 1, 3, 1}, {0, 1, 3, 0, 9, 11, + auto x = NDArrayFactory::create( {8, 1, 3, 1}, {0, 1, 3, 0, 9, 11, 0, 2, 4, 0, 10, 12, 0, 5, 7, 0, 13, 15, 0, 6, 8, 0, 14, 16}); - auto exp = NDArrayFactory::create('c', {2, 2, 4, 1}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}); - auto crops = NDArrayFactory::create('c', {2, 2}, {0, 0, 2, 0}); + auto exp = NDArrayFactory::create( {2, 2, 4, 1}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}); + auto crops = NDArrayFactory::create( {2, 2}, {0, 0, 2, 0}); sd::ops::batch_to_space op; auto result = op.evaluate({&x, &crops}, {}, {2}); @@ -577,7 +577,7 @@ TEST_F(DeclarableOpsTests5, Test_BatchToSpace_4) { const int blockSize = 2; NDArray x('c', {3*blockSize*blockSize, 3, 4, 2}, sd::DataType::FLOAT32); x.linspace(1, 1); - NDArray crops = NDArrayFactory::create('c', {2, 2}, {1, 2, 2, 3}); + NDArray crops = NDArrayFactory::create( {2, 2}, {1, 2, 2, 3}); NDArray exp('c', {3, 3*blockSize - 1 - 2, 4*blockSize - 2 - 3, 2}, {147, 148, 219, 220, 149, 150, 11, 12, 83, 84, 13, 14, 155, 156, 227, 228, 157, 158, 171, 172, 243, 244, 173, 174, 35, 36, 107, 108, 37, 38, 179, 180, 251, 252, 181, 182, 195, 196, 267, 268, 197, 198, 59, 60, 131, 132, 61, 62, 203, 204, 275, 276, 205, 206}, sd::DataType::FLOAT32); @@ -596,7 +596,7 @@ TEST_F(DeclarableOpsTests5, Test_BatchToSpace_4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, eye_test1) { - auto expected = NDArrayFactory::create('c', {3, 3}, {1.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 1.f}); + auto expected = NDArrayFactory::create( {3, 3}, {1.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 1.f}); sd::ops::eye op; auto results = op.evaluate({}, {}, {-99, 3}); @@ -613,7 +613,7 @@ TEST_F(DeclarableOpsTests5, eye_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, eye_test2) { - auto expected = NDArrayFactory::create('c', {3, 4}, {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f}); + auto expected = NDArrayFactory::create( {3, 4}, {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f}); sd::ops::eye op; auto results = op.evaluate({}, {}, {-99, 3, 4}); @@ -629,7 +629,7 @@ TEST_F(DeclarableOpsTests5, eye_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, eye_test3) { - auto expected = NDArrayFactory::create('c', {2, 3, 4}, {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}); + auto expected = NDArrayFactory::create( {2, 3, 4}, {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}); sd::ops::eye op; auto results = op.evaluate({}, {9 /*int*/}, {-99, 3, 4, 2}); @@ -646,7 +646,7 @@ TEST_F(DeclarableOpsTests5, eye_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, eye_test4) { - auto expected = NDArrayFactory::create('c', {2, 2, 3, 4}, {1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0.}); + auto expected = NDArrayFactory::create( {2, 2, 3, 4}, {1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0.}); sd::ops::eye op; auto results = op.evaluate({}, {6/*double*/}, {-99, 3, 4, 2, 2}); @@ -674,11 +674,11 @@ TEST_F(DeclarableOpsTests5, eye_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test1) { - auto input = NDArrayFactory::create('c', {4, 3, 2}); + auto input = NDArrayFactory::create( {4, 3, 2}); input.linspace(1); - auto indices = NDArrayFactory::create('c', {2,2,1}, {3,2,3,2}); + auto indices = NDArrayFactory::create( {2,2,1}, {3,2,3,2}); - auto expected = NDArrayFactory::create('c', {2,2,3,2}, {19, 20, 21, 22, 23, 24, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 13, 14, 15, 16, 17, 18}); + auto expected = NDArrayFactory::create( {2,2,3,2}, {19, 20, 21, 22, 23, 24, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 13, 14, 15, 16, 17, 18}); sd::ops::gather_nd op; auto results = op.evaluate({&input, &indices}, {}, {}); @@ -694,11 +694,11 @@ TEST_F(DeclarableOpsTests5, gatherNd_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test2) { - auto input = NDArrayFactory::create('c', {4, 3, 2}); + auto input = NDArrayFactory::create( {4, 3, 2}); input.linspace(1); - auto indices = NDArrayFactory::create('c', {2,2,2}, {3,2,1,2, 0,1,0,1}); + auto indices = NDArrayFactory::create( {2,2,2}, {3,2,1,2, 0,1,0,1}); - auto expected = NDArrayFactory::create('c', {2,2,2}, {23, 24, 11, 12, 3, 4, 3, 4}); + auto expected = NDArrayFactory::create( {2,2,2}, {23, 24, 11, 12, 3, 4, 3, 4}); sd::ops::gather_nd op; auto results = op.evaluate({&input, &indices}, {}, {}, {true}); @@ -714,9 +714,9 @@ TEST_F(DeclarableOpsTests5, gatherNd_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test3) { - auto input = NDArrayFactory::create('c', {4, 3, 2}); + auto input = NDArrayFactory::create( {4, 3, 2}); input.linspace(1); - auto indices = NDArrayFactory::create('c', {3}, {3,2,1}); + auto indices = NDArrayFactory::create( {3}, {3,2,1}); auto expected = NDArrayFactory::create(24.); sd::ops::gather_nd op; @@ -733,10 +733,10 @@ TEST_F(DeclarableOpsTests5, gatherNd_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test4) { - auto input = NDArrayFactory::create('c', {4, 3, 2}); + auto input = NDArrayFactory::create( {4, 3, 2}); input.linspace(1); - auto indices = NDArrayFactory::create('c', {2,3}, {3,2,1,0,2,1}); - auto expected = NDArrayFactory::create('c',{2}, {24., 6}); + auto indices = NDArrayFactory::create( {2,3}, {3,2,1,0,2,1}); + auto expected = NDArrayFactory::create( {2}, {24., 6}); sd::ops::gather_nd op; auto results = op.evaluate({&input, &indices}, {}, {}); @@ -752,9 +752,9 @@ TEST_F(DeclarableOpsTests5, gatherNd_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test5) { - auto input = NDArrayFactory::create('c', {4}, {1,2,3,4}); - auto indices = NDArrayFactory::create('c', {5,1}, {3,2,0,1,1}); - auto expected = NDArrayFactory::create('c',{5}, {4.,3,1,2,2}); + auto input = NDArrayFactory::create( {4}, {1,2,3,4}); + auto indices = NDArrayFactory::create( {5,1}, {3,2,0,1,1}); + auto expected = NDArrayFactory::create( {5}, {4.,3,1,2,2}); sd::ops::gather_nd op; auto results = op.evaluate({&input, &indices}, {}, {}); @@ -770,7 +770,7 @@ TEST_F(DeclarableOpsTests5, gatherNd_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test6) { - auto input = NDArrayFactory::create('c', {4}, {1,2,3,4}); + auto input = NDArrayFactory::create( {4}, {1,2,3,4}); std::vector shape = {1}; auto indices = NDArrayFactory::create('c', shape, {2}); auto expected = NDArrayFactory::create(3.); @@ -789,10 +789,10 @@ TEST_F(DeclarableOpsTests5, gatherNd_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test7) { - auto input = NDArrayFactory::create('c', {4, 4}); + auto input = NDArrayFactory::create( {4, 4}); input.linspace(1); - auto indices = NDArrayFactory::create('c', {3,3,2}, {0,2,1, 0,1,0, 1,3,1, 0,2,1, 0,1,0, 1,3,1}); - auto expected = NDArrayFactory::create('c', {3,3}, {3,5,5,8,5,10,2,2,14}); + auto indices = NDArrayFactory::create( {3,3,2}, {0,2,1, 0,1,0, 1,3,1, 0,2,1, 0,1,0, 1,3,1}); + auto expected = NDArrayFactory::create( {3,3}, {3,5,5,8,5,10,2,2,14}); sd::ops::gather_nd op; auto results = op.evaluate({&input, &indices}, {}, {}, {true}); @@ -807,9 +807,9 @@ TEST_F(DeclarableOpsTests5, gatherNd_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test8) { - auto x = NDArrayFactory::create('c', {2, 2}, {1., 2., 3., 4.}); - auto y = NDArrayFactory::create('c', {2, 2}, {0, 0, 1, 1}); - auto e = NDArrayFactory::create('c', {2}, {1., 4.}); + auto x = NDArrayFactory::create( {2, 2}, {1., 2., 3., 4.}); + auto y = NDArrayFactory::create( {2, 2}, {0, 0, 1, 1}); + auto e = NDArrayFactory::create( {2}, {1., 4.}); sd::ops::gather_nd op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -823,9 +823,9 @@ TEST_F(DeclarableOpsTests5, gatherNd_test8) { } TEST_F(DeclarableOpsTests5, gatherNd_test9) { - auto x = NDArrayFactory::create('c', {2, 4, 2, 2}); - auto indices = NDArrayFactory::create('c', {3, 3}, {0,2,1, 0,1,0, 1,3,1}); - auto exp = NDArrayFactory::create('c', {3,2}, {11.f, 12.f, 5.f, 6.f, 31.f, 32.f}); + auto x = NDArrayFactory::create( {2, 4, 2, 2}); + auto indices = NDArrayFactory::create( {3, 3}, {0,2,1, 0,1,0, 1,3,1}); + auto exp = NDArrayFactory::create( {3,2}, {11.f, 12.f, 5.f, 6.f, 31.f, 32.f}); x.linspace(1); sd::ops::gather_nd op; @@ -846,10 +846,10 @@ TEST_F(DeclarableOpsTests5, gatherNd_test9) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test10) { - auto input = NDArrayFactory::create('c', {4, 3, 2}); - auto indices = NDArrayFactory::create('c', {2,2,2}, {30,20,1,2, 0,10,0,1}); + auto input = NDArrayFactory::create( {4, 3, 2}); + auto indices = NDArrayFactory::create( {2,2,2}, {30,20,1,2, 0,10,0,1}); - auto output = NDArrayFactory::create('c', {2,2,2}); + auto output = NDArrayFactory::create( {2,2,2}); sd::ops::gather_nd op; @@ -859,9 +859,9 @@ TEST_F(DeclarableOpsTests5, gatherNd_test10) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, gatherNd_test11) { - auto input = NDArrayFactory::create('c', {4, 4}); - auto indices = NDArrayFactory::create('c', {3,3,2}, {0,2,1, 0,10,0, 1,30,1, 0,20,1, 0,1,0, 1,30,1}); - auto output = NDArrayFactory::create('c', {3,3}); + auto input = NDArrayFactory::create( {4, 4}); + auto indices = NDArrayFactory::create( {3,3,2}, {0,2,1, 0,10,0, 1,30,1, 0,20,1, 0,1,0, 1,30,1}); + auto output = NDArrayFactory::create( {3,3}); sd::ops::gather_nd op; @@ -871,10 +871,10 @@ TEST_F(DeclarableOpsTests5, gatherNd_test11) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test1) { - auto input = NDArrayFactory::create('c', {3, 4, 5}); + auto input = NDArrayFactory::create( {3, 4, 5}); input.linspace(1); - auto seqLengths = NDArrayFactory::create('c', {4}, {4,4,4,4}); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {4, 3, 2, 1, 5, 9, 8, 7, 6, 10, 14, 13, 12, 11, 15, 19, 18, 17, 16, 20, 24, 23, 22, 21, 25, 29, 28, 27, 26, 30, 34, 33, 32, 31, 35, 39, 38, 37, 36, 40, 44, 43, 42, 41, 45, 49, 48, 47, 46, 50, 54, 53, 52, 51, 55, 59, 58, 57, 56, 60}); + auto seqLengths = NDArrayFactory::create( {4}, {4,4,4,4}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {4, 3, 2, 1, 5, 9, 8, 7, 6, 10, 14, 13, 12, 11, 15, 19, 18, 17, 16, 20, 24, 23, 22, 21, 25, 29, 28, 27, 26, 30, 34, 33, 32, 31, 35, 39, 38, 37, 36, 40, 44, 43, 42, 41, 45, 49, 48, 47, 46, 50, 54, 53, 52, 51, 55, 59, 58, 57, 56, 60}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {2, 1}); @@ -891,10 +891,10 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test2) { - auto input = NDArrayFactory::create('c', {3, 4, 5}); + auto input = NDArrayFactory::create( {3, 4, 5}); input.linspace(1); - auto seqLengths = NDArrayFactory::create('c', {4}, {0,1,2,3}); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 11, 13, 14, 15, 18, 17, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 31, 33, 34, 35, 38, 37, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 51, 53, 54, 55, 58, 57, 56, 59, 60}); + auto seqLengths = NDArrayFactory::create( {4}, {0,1,2,3}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 11, 13, 14, 15, 18, 17, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 31, 33, 34, 35, 38, 37, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 51, 53, 54, 55, 58, 57, 56, 59, 60}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {2, 1}); @@ -910,10 +910,10 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test3) { - auto input = NDArrayFactory::create('c', {3, 4, 5}); + auto input = NDArrayFactory::create( {3, 4, 5}); input.linspace(1); - auto seqLengths = NDArrayFactory::create('c', {3}, {2,3,4}); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {2, 1, 3, 4, 5, 7, 6, 8, 9, 10, 12, 11, 13, 14, 15, 17, 16, 18, 19, 20, 23, 22, 21, 24, 25, 28, 27, 26, 29, 30, 33, 32, 31, 34, 35, 38, 37, 36, 39, 40, 44, 43, 42, 41, 45, 49, 48, 47, 46, 50, 54, 53, 52, 51, 55, 59, 58, 57, 56, 60}); + auto seqLengths = NDArrayFactory::create( {3}, {2,3,4}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {2, 1, 3, 4, 5, 7, 6, 8, 9, 10, 12, 11, 13, 14, 15, 17, 16, 18, 19, 20, 23, 22, 21, 24, 25, 28, 27, 26, 29, 30, 33, 32, 31, 34, 35, 38, 37, 36, 39, 40, 44, 43, 42, 41, 45, 49, 48, 47, 46, 50, 54, 53, 52, 51, 55, 59, 58, 57, 56, 60}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {2, 0}); @@ -929,10 +929,10 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test4) { - auto input = NDArrayFactory::create('c', {3, 4, 5}); + auto input = NDArrayFactory::create( {3, 4, 5}); input.linspace(1); - auto seqLengths = NDArrayFactory::create('c', {5}, {1, 2, 1, 2, 3}); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1, 22, 3, 24, 45, 6, 27, 8, 29, 50, 11, 32, 13, 34, 55, 16, 37, 18, 39, 60, 21, 2, 23, 4, 25, 26, 7, 28, 9, 30, 31, 12, 33, 14, 35, 36, 17, 38, 19, 40, 41, 42, 43, 44, 5, 46, 47, 48, 49, 10, 51, 52, 53, 54, 15, 56, 57, 58, 59, 20}); + auto seqLengths = NDArrayFactory::create( {5}, {1, 2, 1, 2, 3}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1, 22, 3, 24, 45, 6, 27, 8, 29, 50, 11, 32, 13, 34, 55, 16, 37, 18, 39, 60, 21, 2, 23, 4, 25, 26, 7, 28, 9, 30, 31, 12, 33, 14, 35, 36, 17, 38, 19, 40, 41, 42, 43, 44, 5, 46, 47, 48, 49, 10, 51, 52, 53, 54, 15, 56, 57, 58, 59, 20}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {0, 2}); @@ -948,10 +948,10 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test5) { - auto input = NDArrayFactory::create('c', {3, 4, 5}); + auto input = NDArrayFactory::create( {3, 4, 5}); input.linspace(1); - auto seqLengths = NDArrayFactory::create('c', {5}, {1, 2, 4, 2, 3}); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1, 7, 18, 9, 15, 6, 2, 13, 4, 10, 11, 12, 8, 14, 5, 16, 17, 3, 19, 20, 21, 27, 38, 29, 35, 26, 22, 33, 24, 30, 31, 32, 28, 34, 25, 36, 37, 23, 39, 40, 41, 47, 58, 49, 55, 46, 42, 53, 44, 50, 51, 52, 48, 54, 45, 56, 57, 43, 59, 60}); + auto seqLengths = NDArrayFactory::create( {5}, {1, 2, 4, 2, 3}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1, 7, 18, 9, 15, 6, 2, 13, 4, 10, 11, 12, 8, 14, 5, 16, 17, 3, 19, 20, 21, 27, 38, 29, 35, 26, 22, 33, 24, 30, 31, 32, 28, 34, 25, 36, 37, 23, 39, 40, 41, 47, 58, 49, 55, 46, 42, 53, 44, 50, 51, 52, 48, 54, 45, 56, 57, 43, 59, 60}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {1, 2}); @@ -967,10 +967,10 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test6) { - auto input = NDArrayFactory::create('c', {3, 4, 5}); + auto input = NDArrayFactory::create( {3, 4, 5}); input.linspace(1); - auto seqLengths = NDArrayFactory::create('c', {4}, {1, 2, 3, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1, 2, 3, 4, 5, 26, 27, 28, 29, 30, 51, 52, 53, 54, 55, 36, 37, 38, 39, 40, 21, 22, 23, 24, 25, 6, 7, 8, 9, 10, 31, 32, 33, 34, 35, 16, 17, 18, 19, 20, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 11, 12, 13, 14, 15, 56, 57, 58, 59, 60}); + auto seqLengths = NDArrayFactory::create( {4}, {1, 2, 3, 2}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1, 2, 3, 4, 5, 26, 27, 28, 29, 30, 51, 52, 53, 54, 55, 36, 37, 38, 39, 40, 21, 22, 23, 24, 25, 6, 7, 8, 9, 10, 31, 32, 33, 34, 35, 16, 17, 18, 19, 20, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 11, 12, 13, 14, 15, 56, 57, 58, 59, 60}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {0, 1}); @@ -986,11 +986,11 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test7) { - auto input = NDArrayFactory::create('c', {1, 5}); + auto input = NDArrayFactory::create( {1, 5}); input.linspace(1); std::vector data = {3}; - auto seqLengths = NDArrayFactory::create('c', {1}, data); - auto exp = NDArrayFactory::create('c', {1, 5}, {3, 2, 1, 4, 5}); + auto seqLengths = NDArrayFactory::create( {1}, data); + auto exp = NDArrayFactory::create( {1, 5}, {3, 2, 1, 4, 5}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {1, 0}); @@ -1006,11 +1006,11 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test8) { - auto input = NDArrayFactory::create('c', {1, 5}); + auto input = NDArrayFactory::create( {1, 5}); input.linspace(1); std::vector data = {1,0,1,0,1}; - auto seqLengths = NDArrayFactory::create('c', {5}, data); - auto exp = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); + auto seqLengths = NDArrayFactory::create( {5}, data); + auto exp = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {0, 1}); @@ -1026,11 +1026,11 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test8) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test9) { - auto input = NDArrayFactory::create('c', {5, 1}); + auto input = NDArrayFactory::create( {5, 1}); input.linspace(1); std::vector data = {1,0,1,0,1}; - auto seqLengths = NDArrayFactory::create('c', {5}, data); - auto exp = NDArrayFactory::create('c', {5, 1}, {1, 2, 3, 4, 5}); + auto seqLengths = NDArrayFactory::create( {5}, data); + auto exp = NDArrayFactory::create( {5, 1}, {1, 2, 3, 4, 5}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {1, 0}); @@ -1046,11 +1046,11 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test9) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test10) { - auto input = NDArrayFactory::create('c', {5, 1}); + auto input = NDArrayFactory::create( {5, 1}); input.linspace(1); std::vector data = {3}; - auto seqLengths = NDArrayFactory::create('c', {1}, data); - auto exp = NDArrayFactory::create('c', {5, 1}, {3, 2, 1, 4, 5}); + auto seqLengths = NDArrayFactory::create( {1}, data); + auto exp = NDArrayFactory::create( {5, 1}, {3, 2, 1, 4, 5}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {0, 1}); @@ -1066,11 +1066,11 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test10) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test11) { - auto input = NDArrayFactory::create('c', {1, 1, 5, 1}); + auto input = NDArrayFactory::create( {1, 1, 5, 1}); input.linspace(1); std::vector data = {1, 0, 1, 0, 1}; - auto seqLengths = NDArrayFactory::create('c', {5}, data); - auto exp = NDArrayFactory::create('c', {1, 1, 5, 1}, {1, 2, 3, 4, 5}); + auto seqLengths = NDArrayFactory::create( {5}, data); + auto exp = NDArrayFactory::create( {1, 1, 5, 1}, {1, 2, 3, 4, 5}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {1, 2}); @@ -1086,11 +1086,11 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test11) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test12) { - auto input = NDArrayFactory::create('c', {1, 1, 5, 1}); + auto input = NDArrayFactory::create( {1, 1, 5, 1}); input.linspace(1); std::vector data = {3}; - auto seqLengths = NDArrayFactory::create('c', {1}, data); - auto exp = NDArrayFactory::create('c', {1, 1, 5, 1}, {3, 2, 1, 4, 5}); + auto seqLengths = NDArrayFactory::create( {1}, data); + auto exp = NDArrayFactory::create( {1, 1, 5, 1}, {3, 2, 1, 4, 5}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {2, 0}); @@ -1106,11 +1106,11 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test12) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test13) { - auto input = NDArrayFactory::create('c', {1, 1, 5, 1}); + auto input = NDArrayFactory::create( {1, 1, 5, 1}); input.linspace(1); std::vector data = {1}; - auto seqLengths = NDArrayFactory::create('c', {1}, data); - auto exp = NDArrayFactory::create('c', {1, 1, 5, 1}, {1, 2, 3, 4, 5}); + auto seqLengths = NDArrayFactory::create( {1}, data); + auto exp = NDArrayFactory::create( {1, 1, 5, 1}, {1, 2, 3, 4, 5}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &seqLengths}, {}, {3, 0}); @@ -1125,9 +1125,9 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test13) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, reverse_sequense_test14) { - auto input = NDArrayFactory::create('c', {8, 8, 3, 2}, {0.09753360, 0.76124972, 0.24693797, 0.13813169, 0.33144656, 0.08299957, 0.67197708, 0.80659380, 0.98274191, 0.63566073, 0.21592326, 0.54902743, 0.54555996, 0.23407607, 0.11372584, 0.49965927, 0.15210842, 0.53268608, 0.38700677, 0.68832738, 0.37292716, 0.94616004, 0.77735792, 0.60803430, 0.61523204, 0.64298760, 0.26848351, 0.75015615, 0.28683049, 0.70937606, 0.06478678, 0.68985848, 0.55216783, 0.55382648, 0.34652863, 0.17261296, 0.54193264, 0.05176904, 0.82555761, 0.71106697, 0.04416722, 0.07653656, 0.01034390, 0.99430482, 0.59944390, 0.17973880, 0.36437840, 0.86383673, 0.45025550, 0.97136977, 0.13565978, 0.71567448, 0.92094825, 0.93536442, 0.93630291, 0.67277404, 0.93899264, 0.52422773, 0.44892176, 0.03127759, 0.85910449, 0.18252879, 0.72830945, 0.96736828, 0.89831575, 0.83437150, 0.59050780, 0.36145925, 0.16483070, 0.44021176, 0.76018652, 0.44227383, 0.13052339, 0.18204235, 0.99743733, 0.26885190, 0.87726522, 0.16396056, 0.94943412, 0.40016700, 0.65267938, 0.71073267, 0.40094733, 0.91182634, 0.05391789, 0.49520416, 0.24963864, 0.34847086, 0.74088617, 0.36115701, 0.63074210, 0.97423085, 0.42216846, 0.06326975, 0.07858702, 0.20586622, 0.28752144, 0.38146961, 0.83518735, 0.08207577, 0.82083487, 0.81665728, 0.33309570, 0.67563176, 0.98343578, 0.95919930, 0.66994391, 0.89296165, 0.34755773, 0.63166554, 0.18849320, 0.34828456, 0.98477707, 0.75163124, 0.83306004, 0.14203056, 0.01497920, 0.85727447, 0.71194544, 0.85654019, 0.86160433, 0.79580411, 0.47710411, 0.09318029, 0.31369071, 0.64122249, 0.58399725, 0.26706597, 0.05655339, 0.91025211, 0.30330468, 0.33142930, 0.05668627, 0.02936449, 0.12613087, 0.09960114, 0.16218074, 0.15088139, 0.31239040, 0.55980062, 0.34804391, 0.34941538, 0.61370555, 0.07022964, 0.59757058, 0.31189846, 0.25215345, 0.52546591, 0.55744218, 0.59485650, 0.60553664, 0.07536713, 0.55971796, 0.38764845, 0.20737843, 0.37989120, 0.18361641, 0.48636240, 0.06052657, 0.04241913, 0.66710351, 0.07007925, 0.59371493, 0.74479056, 0.84699625, 0.51210368, 0.12489571, 0.23371067, 0.27274571, 0.83306066, 0.75830824, 0.25963478, 0.87137718, 0.24418835, 0.05032742, 0.52076188, 0.47762345, 0.89829370, 0.34417708, 0.84705151, 0.08203183, 0.10632956, 0.78431292, 0.86441722, 0.36487598, 0.09833603, 0.85863594, 0.11010505, 0.11659283, 0.42500288, 0.02747301, 0.12359903, 0.01753431, 0.41160932, 0.47245979, 0.08268172, 0.21580773, 0.75770279, 0.19736489, 0.44461885, 0.33341706, 0.22519571, 0.31528710, 0.14802902, 0.64171939, 0.52643769, 0.19261234, 0.98032835, 0.15401656, 0.85274458, 0.66408502, 0.23212704, 0.74630026, 0.05713613, 0.49025892, 0.48418810, 0.59541513, 0.09243053, 0.93919152, 0.95357019, 0.52377729, 0.65963871, 0.47934951, 0.49919534, 0.34369898, 0.78211256, 0.13908708, 0.95754117, 0.84107746, 0.09126213, 0.42979124, 0.10295325, 0.34631257, 0.69448345, 0.41720536, 0.15282440, 0.74329854, 0.45775009, 0.12786280, 0.39830299, 0.20386769, 0.59703523, 0.94077086, 0.42255597, 0.80453309, 0.79757204, 0.28653229, 0.60175909, 0.55859623, 0.34318230, 0.63002770, 0.36533324, 0.89689906, 0.73236186, 0.61491989, 0.83787947, 0.67939463, 0.72016694, 0.77499849, 0.72428343, 0.34571059, 0.23143007, 0.20099338, 0.85583142, 0.73174191, 0.54284092, 0.20264181, 0.53037061, 0.30493131, 0.82279766, 0.58542432, 0.72632070, 0.18394258, 0.00608118, 0.23808232, 0.17007573, 0.75245459, 0.84990616, 0.38827634, 0.33809538, 0.01080317, 0.27250145, 0.81769542, 0.15323253, 0.71668395, 0.99427044, 0.11355576, 0.50511923, 0.60248266, 0.36610154, 0.99123140, 0.10519719, 0.18754650, 0.43232584, 0.25247084, 0.47968157, 0.88649124, 0.33588961, 0.92338319, 0.18808573, 0.79433656, 0.12074559, 0.02325163, 0.10117917, 0.83559239, 0.67213900, 0.67265260, 0.11917707, 0.76574855, 0.43842117, 0.28530411, 0.79648090, 0.47939640, 0.73564612, 0.41465671, 0.10995635, 0.20271728, 0.00521771, 0.22952055, 0.78271870, 0.12833592, 0.88639055, 0.76398188, 0.49533508, 0.85447872, 0.15937568, 0.92947480, 0.62705964, 0.85960084, 0.13435660, 0.81845809, 0.60715133, 0.83030708, 0.83071910, 0.38883408, 0.92033237, 0.46066239, 0.48806761, 0.50688779, 0.00654483, 0.32076493, 0.42367646, 0.07381865, 0.22801110, 0.26669388, 0.99691302, 0.12113623, 0.34373057, 0.98977921, 0.96225332, 0.90143562, 0.19559914, 0.08978307, 0.09687492, 0.59820890, 0.75527947, 0.67683355, 0.21847023, 0.29395619, 0.50477953, 0.07112842, 0.54090558, 0.68230725, 0.49713828, 0.41958965, 0.68013847, 0.47691765, 0.63269259, 0.94304095, 0.54587271, 0.72447569, 0.28913523, 0.75766936, 0.52965692, 0.96854824, 0.15589071, 0.84128672, 0.16337522, 0.05771034, 0.21556356, 0.12094140, 0.29721207, 0.00811008, 0.66184926}); - auto lengths = NDArrayFactory::create('c', {8}, {7, 2, 3, 5, 2, 1, 6, 4}); - auto e = NDArrayFactory::create('c', {8, 8, 3, 2}, {0.54193264, 0.05176904, 0.82555761, 0.71106697, 0.04416722, 0.07653656, 0.06478678, 0.68985848, 0.55216783, 0.55382648, 0.34652863, 0.17261296, 0.61523204, 0.64298760, 0.26848351, 0.75015615, 0.28683049, 0.70937606, 0.38700677, 0.68832738, 0.37292716, 0.94616004, 0.77735792, 0.60803430, 0.54555996, 0.23407607, 0.11372584, 0.49965927, 0.15210842, 0.53268608, 0.67197708, 0.80659380, 0.98274191, 0.63566073, 0.21592326, 0.54902743, 0.09753360, 0.76124972, 0.24693797, 0.13813169, 0.33144656, 0.08299957, 0.01034390, 0.99430482, 0.59944390, 0.17973880, 0.36437840, 0.86383673, 0.93630291, 0.67277404, 0.93899264, 0.52422773, 0.44892176, 0.03127759, 0.45025550, 0.97136977, 0.13565978, 0.71567448, 0.92094825, 0.93536442, 0.85910449, 0.18252879, 0.72830945, 0.96736828, 0.89831575, 0.83437150, 0.59050780, 0.36145925, 0.16483070, 0.44021176, 0.76018652, 0.44227383, 0.13052339, 0.18204235, 0.99743733, 0.26885190, 0.87726522, 0.16396056, 0.94943412, 0.40016700, 0.65267938, 0.71073267, 0.40094733, 0.91182634, 0.05391789, 0.49520416, 0.24963864, 0.34847086, 0.74088617, 0.36115701, 0.63074210, 0.97423085, 0.42216846, 0.06326975, 0.07858702, 0.20586622, 0.34755773, 0.63166554, 0.18849320, 0.34828456, 0.98477707, 0.75163124, 0.33309570, 0.67563176, 0.98343578, 0.95919930, 0.66994391, 0.89296165, 0.28752144, 0.38146961, 0.83518735, 0.08207577, 0.82083487, 0.81665728, 0.83306004, 0.14203056, 0.01497920, 0.85727447, 0.71194544, 0.85654019, 0.86160433, 0.79580411, 0.47710411, 0.09318029, 0.31369071, 0.64122249, 0.58399725, 0.26706597, 0.05655339, 0.91025211, 0.30330468, 0.33142930, 0.05668627, 0.02936449, 0.12613087, 0.09960114, 0.16218074, 0.15088139, 0.31239040, 0.55980062, 0.34804391, 0.34941538, 0.61370555, 0.07022964, 0.27274571, 0.83306066, 0.75830824, 0.25963478, 0.87137718, 0.24418835, 0.59371493, 0.74479056, 0.84699625, 0.51210368, 0.12489571, 0.23371067, 0.18361641, 0.48636240, 0.06052657, 0.04241913, 0.66710351, 0.07007925, 0.60553664, 0.07536713, 0.55971796, 0.38764845, 0.20737843, 0.37989120, 0.59757058, 0.31189846, 0.25215345, 0.52546591, 0.55744218, 0.59485650, 0.05032742, 0.52076188, 0.47762345, 0.89829370, 0.34417708, 0.84705151, 0.08203183, 0.10632956, 0.78431292, 0.86441722, 0.36487598, 0.09833603, 0.85863594, 0.11010505, 0.11659283, 0.42500288, 0.02747301, 0.12359903, 0.19736489, 0.44461885, 0.33341706, 0.22519571, 0.31528710, 0.14802902, 0.01753431, 0.41160932, 0.47245979, 0.08268172, 0.21580773, 0.75770279, 0.64171939, 0.52643769, 0.19261234, 0.98032835, 0.15401656, 0.85274458, 0.66408502, 0.23212704, 0.74630026, 0.05713613, 0.49025892, 0.48418810, 0.59541513, 0.09243053, 0.93919152, 0.95357019, 0.52377729, 0.65963871, 0.47934951, 0.49919534, 0.34369898, 0.78211256, 0.13908708, 0.95754117, 0.84107746, 0.09126213, 0.42979124, 0.10295325, 0.34631257, 0.69448345, 0.41720536, 0.15282440, 0.74329854, 0.45775009, 0.12786280, 0.39830299, 0.20386769, 0.59703523, 0.94077086, 0.42255597, 0.80453309, 0.79757204, 0.28653229, 0.60175909, 0.55859623, 0.34318230, 0.63002770, 0.36533324, 0.89689906, 0.73236186, 0.61491989, 0.83787947, 0.67939463, 0.72016694, 0.77499849, 0.72428343, 0.34571059, 0.23143007, 0.20099338, 0.85583142, 0.73174191, 0.54284092, 0.20264181, 0.53037061, 0.30493131, 0.82279766, 0.58542432, 0.72632070, 0.18394258, 0.00608118, 0.23808232, 0.17007573, 0.75245459, 0.84990616, 0.38827634, 0.33809538, 0.01080317, 0.27250145, 0.81769542, 0.15323253, 0.71668395, 0.99427044, 0.11355576, 0.50511923, 0.22952055, 0.78271870, 0.12833592, 0.88639055, 0.76398188, 0.49533508, 0.47939640, 0.73564612, 0.41465671, 0.10995635, 0.20271728, 0.00521771, 0.67265260, 0.11917707, 0.76574855, 0.43842117, 0.28530411, 0.79648090, 0.79433656, 0.12074559, 0.02325163, 0.10117917, 0.83559239, 0.67213900, 0.25247084, 0.47968157, 0.88649124, 0.33588961, 0.92338319, 0.18808573, 0.60248266, 0.36610154, 0.99123140, 0.10519719, 0.18754650, 0.43232584, 0.85447872, 0.15937568, 0.92947480, 0.62705964, 0.85960084, 0.13435660, 0.81845809, 0.60715133, 0.83030708, 0.83071910, 0.38883408, 0.92033237, 0.59820890, 0.75527947, 0.67683355, 0.21847023, 0.29395619, 0.50477953, 0.98977921, 0.96225332, 0.90143562, 0.19559914, 0.08978307, 0.09687492, 0.07381865, 0.22801110, 0.26669388, 0.99691302, 0.12113623, 0.34373057, 0.46066239, 0.48806761, 0.50688779, 0.00654483, 0.32076493, 0.42367646, 0.07112842, 0.54090558, 0.68230725, 0.49713828, 0.41958965, 0.68013847, 0.47691765, 0.63269259, 0.94304095, 0.54587271, 0.72447569, 0.28913523, 0.75766936, 0.52965692, 0.96854824, 0.15589071, 0.84128672, 0.16337522, 0.05771034, 0.21556356, 0.12094140, 0.29721207, 0.00811008, 0.66184926}); + auto input = NDArrayFactory::create( {8, 8, 3, 2}, {0.09753360, 0.76124972, 0.24693797, 0.13813169, 0.33144656, 0.08299957, 0.67197708, 0.80659380, 0.98274191, 0.63566073, 0.21592326, 0.54902743, 0.54555996, 0.23407607, 0.11372584, 0.49965927, 0.15210842, 0.53268608, 0.38700677, 0.68832738, 0.37292716, 0.94616004, 0.77735792, 0.60803430, 0.61523204, 0.64298760, 0.26848351, 0.75015615, 0.28683049, 0.70937606, 0.06478678, 0.68985848, 0.55216783, 0.55382648, 0.34652863, 0.17261296, 0.54193264, 0.05176904, 0.82555761, 0.71106697, 0.04416722, 0.07653656, 0.01034390, 0.99430482, 0.59944390, 0.17973880, 0.36437840, 0.86383673, 0.45025550, 0.97136977, 0.13565978, 0.71567448, 0.92094825, 0.93536442, 0.93630291, 0.67277404, 0.93899264, 0.52422773, 0.44892176, 0.03127759, 0.85910449, 0.18252879, 0.72830945, 0.96736828, 0.89831575, 0.83437150, 0.59050780, 0.36145925, 0.16483070, 0.44021176, 0.76018652, 0.44227383, 0.13052339, 0.18204235, 0.99743733, 0.26885190, 0.87726522, 0.16396056, 0.94943412, 0.40016700, 0.65267938, 0.71073267, 0.40094733, 0.91182634, 0.05391789, 0.49520416, 0.24963864, 0.34847086, 0.74088617, 0.36115701, 0.63074210, 0.97423085, 0.42216846, 0.06326975, 0.07858702, 0.20586622, 0.28752144, 0.38146961, 0.83518735, 0.08207577, 0.82083487, 0.81665728, 0.33309570, 0.67563176, 0.98343578, 0.95919930, 0.66994391, 0.89296165, 0.34755773, 0.63166554, 0.18849320, 0.34828456, 0.98477707, 0.75163124, 0.83306004, 0.14203056, 0.01497920, 0.85727447, 0.71194544, 0.85654019, 0.86160433, 0.79580411, 0.47710411, 0.09318029, 0.31369071, 0.64122249, 0.58399725, 0.26706597, 0.05655339, 0.91025211, 0.30330468, 0.33142930, 0.05668627, 0.02936449, 0.12613087, 0.09960114, 0.16218074, 0.15088139, 0.31239040, 0.55980062, 0.34804391, 0.34941538, 0.61370555, 0.07022964, 0.59757058, 0.31189846, 0.25215345, 0.52546591, 0.55744218, 0.59485650, 0.60553664, 0.07536713, 0.55971796, 0.38764845, 0.20737843, 0.37989120, 0.18361641, 0.48636240, 0.06052657, 0.04241913, 0.66710351, 0.07007925, 0.59371493, 0.74479056, 0.84699625, 0.51210368, 0.12489571, 0.23371067, 0.27274571, 0.83306066, 0.75830824, 0.25963478, 0.87137718, 0.24418835, 0.05032742, 0.52076188, 0.47762345, 0.89829370, 0.34417708, 0.84705151, 0.08203183, 0.10632956, 0.78431292, 0.86441722, 0.36487598, 0.09833603, 0.85863594, 0.11010505, 0.11659283, 0.42500288, 0.02747301, 0.12359903, 0.01753431, 0.41160932, 0.47245979, 0.08268172, 0.21580773, 0.75770279, 0.19736489, 0.44461885, 0.33341706, 0.22519571, 0.31528710, 0.14802902, 0.64171939, 0.52643769, 0.19261234, 0.98032835, 0.15401656, 0.85274458, 0.66408502, 0.23212704, 0.74630026, 0.05713613, 0.49025892, 0.48418810, 0.59541513, 0.09243053, 0.93919152, 0.95357019, 0.52377729, 0.65963871, 0.47934951, 0.49919534, 0.34369898, 0.78211256, 0.13908708, 0.95754117, 0.84107746, 0.09126213, 0.42979124, 0.10295325, 0.34631257, 0.69448345, 0.41720536, 0.15282440, 0.74329854, 0.45775009, 0.12786280, 0.39830299, 0.20386769, 0.59703523, 0.94077086, 0.42255597, 0.80453309, 0.79757204, 0.28653229, 0.60175909, 0.55859623, 0.34318230, 0.63002770, 0.36533324, 0.89689906, 0.73236186, 0.61491989, 0.83787947, 0.67939463, 0.72016694, 0.77499849, 0.72428343, 0.34571059, 0.23143007, 0.20099338, 0.85583142, 0.73174191, 0.54284092, 0.20264181, 0.53037061, 0.30493131, 0.82279766, 0.58542432, 0.72632070, 0.18394258, 0.00608118, 0.23808232, 0.17007573, 0.75245459, 0.84990616, 0.38827634, 0.33809538, 0.01080317, 0.27250145, 0.81769542, 0.15323253, 0.71668395, 0.99427044, 0.11355576, 0.50511923, 0.60248266, 0.36610154, 0.99123140, 0.10519719, 0.18754650, 0.43232584, 0.25247084, 0.47968157, 0.88649124, 0.33588961, 0.92338319, 0.18808573, 0.79433656, 0.12074559, 0.02325163, 0.10117917, 0.83559239, 0.67213900, 0.67265260, 0.11917707, 0.76574855, 0.43842117, 0.28530411, 0.79648090, 0.47939640, 0.73564612, 0.41465671, 0.10995635, 0.20271728, 0.00521771, 0.22952055, 0.78271870, 0.12833592, 0.88639055, 0.76398188, 0.49533508, 0.85447872, 0.15937568, 0.92947480, 0.62705964, 0.85960084, 0.13435660, 0.81845809, 0.60715133, 0.83030708, 0.83071910, 0.38883408, 0.92033237, 0.46066239, 0.48806761, 0.50688779, 0.00654483, 0.32076493, 0.42367646, 0.07381865, 0.22801110, 0.26669388, 0.99691302, 0.12113623, 0.34373057, 0.98977921, 0.96225332, 0.90143562, 0.19559914, 0.08978307, 0.09687492, 0.59820890, 0.75527947, 0.67683355, 0.21847023, 0.29395619, 0.50477953, 0.07112842, 0.54090558, 0.68230725, 0.49713828, 0.41958965, 0.68013847, 0.47691765, 0.63269259, 0.94304095, 0.54587271, 0.72447569, 0.28913523, 0.75766936, 0.52965692, 0.96854824, 0.15589071, 0.84128672, 0.16337522, 0.05771034, 0.21556356, 0.12094140, 0.29721207, 0.00811008, 0.66184926}); + auto lengths = NDArrayFactory::create( {8}, {7, 2, 3, 5, 2, 1, 6, 4}); + auto e = NDArrayFactory::create( {8, 8, 3, 2}, {0.54193264, 0.05176904, 0.82555761, 0.71106697, 0.04416722, 0.07653656, 0.06478678, 0.68985848, 0.55216783, 0.55382648, 0.34652863, 0.17261296, 0.61523204, 0.64298760, 0.26848351, 0.75015615, 0.28683049, 0.70937606, 0.38700677, 0.68832738, 0.37292716, 0.94616004, 0.77735792, 0.60803430, 0.54555996, 0.23407607, 0.11372584, 0.49965927, 0.15210842, 0.53268608, 0.67197708, 0.80659380, 0.98274191, 0.63566073, 0.21592326, 0.54902743, 0.09753360, 0.76124972, 0.24693797, 0.13813169, 0.33144656, 0.08299957, 0.01034390, 0.99430482, 0.59944390, 0.17973880, 0.36437840, 0.86383673, 0.93630291, 0.67277404, 0.93899264, 0.52422773, 0.44892176, 0.03127759, 0.45025550, 0.97136977, 0.13565978, 0.71567448, 0.92094825, 0.93536442, 0.85910449, 0.18252879, 0.72830945, 0.96736828, 0.89831575, 0.83437150, 0.59050780, 0.36145925, 0.16483070, 0.44021176, 0.76018652, 0.44227383, 0.13052339, 0.18204235, 0.99743733, 0.26885190, 0.87726522, 0.16396056, 0.94943412, 0.40016700, 0.65267938, 0.71073267, 0.40094733, 0.91182634, 0.05391789, 0.49520416, 0.24963864, 0.34847086, 0.74088617, 0.36115701, 0.63074210, 0.97423085, 0.42216846, 0.06326975, 0.07858702, 0.20586622, 0.34755773, 0.63166554, 0.18849320, 0.34828456, 0.98477707, 0.75163124, 0.33309570, 0.67563176, 0.98343578, 0.95919930, 0.66994391, 0.89296165, 0.28752144, 0.38146961, 0.83518735, 0.08207577, 0.82083487, 0.81665728, 0.83306004, 0.14203056, 0.01497920, 0.85727447, 0.71194544, 0.85654019, 0.86160433, 0.79580411, 0.47710411, 0.09318029, 0.31369071, 0.64122249, 0.58399725, 0.26706597, 0.05655339, 0.91025211, 0.30330468, 0.33142930, 0.05668627, 0.02936449, 0.12613087, 0.09960114, 0.16218074, 0.15088139, 0.31239040, 0.55980062, 0.34804391, 0.34941538, 0.61370555, 0.07022964, 0.27274571, 0.83306066, 0.75830824, 0.25963478, 0.87137718, 0.24418835, 0.59371493, 0.74479056, 0.84699625, 0.51210368, 0.12489571, 0.23371067, 0.18361641, 0.48636240, 0.06052657, 0.04241913, 0.66710351, 0.07007925, 0.60553664, 0.07536713, 0.55971796, 0.38764845, 0.20737843, 0.37989120, 0.59757058, 0.31189846, 0.25215345, 0.52546591, 0.55744218, 0.59485650, 0.05032742, 0.52076188, 0.47762345, 0.89829370, 0.34417708, 0.84705151, 0.08203183, 0.10632956, 0.78431292, 0.86441722, 0.36487598, 0.09833603, 0.85863594, 0.11010505, 0.11659283, 0.42500288, 0.02747301, 0.12359903, 0.19736489, 0.44461885, 0.33341706, 0.22519571, 0.31528710, 0.14802902, 0.01753431, 0.41160932, 0.47245979, 0.08268172, 0.21580773, 0.75770279, 0.64171939, 0.52643769, 0.19261234, 0.98032835, 0.15401656, 0.85274458, 0.66408502, 0.23212704, 0.74630026, 0.05713613, 0.49025892, 0.48418810, 0.59541513, 0.09243053, 0.93919152, 0.95357019, 0.52377729, 0.65963871, 0.47934951, 0.49919534, 0.34369898, 0.78211256, 0.13908708, 0.95754117, 0.84107746, 0.09126213, 0.42979124, 0.10295325, 0.34631257, 0.69448345, 0.41720536, 0.15282440, 0.74329854, 0.45775009, 0.12786280, 0.39830299, 0.20386769, 0.59703523, 0.94077086, 0.42255597, 0.80453309, 0.79757204, 0.28653229, 0.60175909, 0.55859623, 0.34318230, 0.63002770, 0.36533324, 0.89689906, 0.73236186, 0.61491989, 0.83787947, 0.67939463, 0.72016694, 0.77499849, 0.72428343, 0.34571059, 0.23143007, 0.20099338, 0.85583142, 0.73174191, 0.54284092, 0.20264181, 0.53037061, 0.30493131, 0.82279766, 0.58542432, 0.72632070, 0.18394258, 0.00608118, 0.23808232, 0.17007573, 0.75245459, 0.84990616, 0.38827634, 0.33809538, 0.01080317, 0.27250145, 0.81769542, 0.15323253, 0.71668395, 0.99427044, 0.11355576, 0.50511923, 0.22952055, 0.78271870, 0.12833592, 0.88639055, 0.76398188, 0.49533508, 0.47939640, 0.73564612, 0.41465671, 0.10995635, 0.20271728, 0.00521771, 0.67265260, 0.11917707, 0.76574855, 0.43842117, 0.28530411, 0.79648090, 0.79433656, 0.12074559, 0.02325163, 0.10117917, 0.83559239, 0.67213900, 0.25247084, 0.47968157, 0.88649124, 0.33588961, 0.92338319, 0.18808573, 0.60248266, 0.36610154, 0.99123140, 0.10519719, 0.18754650, 0.43232584, 0.85447872, 0.15937568, 0.92947480, 0.62705964, 0.85960084, 0.13435660, 0.81845809, 0.60715133, 0.83030708, 0.83071910, 0.38883408, 0.92033237, 0.59820890, 0.75527947, 0.67683355, 0.21847023, 0.29395619, 0.50477953, 0.98977921, 0.96225332, 0.90143562, 0.19559914, 0.08978307, 0.09687492, 0.07381865, 0.22801110, 0.26669388, 0.99691302, 0.12113623, 0.34373057, 0.46066239, 0.48806761, 0.50688779, 0.00654483, 0.32076493, 0.42367646, 0.07112842, 0.54090558, 0.68230725, 0.49713828, 0.41958965, 0.68013847, 0.47691765, 0.63269259, 0.94304095, 0.54587271, 0.72447569, 0.28913523, 0.75766936, 0.52965692, 0.96854824, 0.15589071, 0.84128672, 0.16337522, 0.05771034, 0.21556356, 0.12094140, 0.29721207, 0.00811008, 0.66184926}); sd::ops::reverse_sequence op; auto results = op.evaluate({&input, &lengths}, {}, {1, 0}); @@ -1142,9 +1142,9 @@ TEST_F(DeclarableOpsTests5, reverse_sequense_test14) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Test_TopK_0) { - auto x = NDArrayFactory::create('c', {2, 6}, {1.0, 1.0, 1.0, 1.0, 11.0, 3.0, 1.0, 1.0, 1.0, 14.0, 5.0, 6.0}); - auto expV = NDArrayFactory::create('c', {2, 1}, {11.0, 14.0}); - auto expI = NDArrayFactory::create('c', {2, 1}, {4, 3}); + auto x = NDArrayFactory::create( {2, 6}, {1.0, 1.0, 1.0, 1.0, 11.0, 3.0, 1.0, 1.0, 1.0, 14.0, 5.0, 6.0}); + auto expV = NDArrayFactory::create( {2, 1}, {11.0, 14.0}); + auto expI = NDArrayFactory::create( {2, 1}, {4, 3}); sd::ops::top_k op; auto result = op.evaluate({&x}, {}, {1, 0}); // without sorting @@ -1181,9 +1181,9 @@ TEST_F(DeclarableOpsTests5, Test_TopK_0) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Test_TopK_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1.0f, 11.0f, 3.0f, 14.0f, 5.0f, 6.0f}); - auto expV = NDArrayFactory::create('c', {2, 1}, {11.0f, 14.0f}); - auto expI = NDArrayFactory::create('c', {2, 1}, {1, 0}); + auto x = NDArrayFactory::create( {2, 3}, {1.0f, 11.0f, 3.0f, 14.0f, 5.0f, 6.0f}); + auto expV = NDArrayFactory::create( {2, 1}, {11.0f, 14.0f}); + auto expI = NDArrayFactory::create( {2, 1}, {1, 0}); sd::ops::top_k op; auto result = op.evaluate({&x}, {}, {1, 0}); // without sorting @@ -1220,7 +1220,7 @@ TEST_F(DeclarableOpsTests5, Test_TopK_1) { /////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Test_TopK_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, + auto x = NDArrayFactory::create( {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, @@ -1229,14 +1229,14 @@ TEST_F(DeclarableOpsTests5, Test_TopK_2) { } ); // <<<14.>,<9.>>, <<21.>,<9.>>, <<14.>,<16.>>> - auto expV = NDArrayFactory::create('c', {2, 3, 1}, {14.0f, 9.0f, + auto expV = NDArrayFactory::create( {2, 3, 1}, {14.0f, 9.0f, 21.0f, 9.0f, 14.0f, 16.0f } ); - auto expI = NDArrayFactory::create('c', {2, 3, 1 }, {2, 1, 0, 1, 2, 0}); + auto expI = NDArrayFactory::create( {2, 3, 1 }, {2, 1, 0, 1, 2, 0}); sd::ops::top_k op; auto result = op.evaluate({&x}, {}, {1, 1}); @@ -1268,7 +1268,7 @@ TEST_F(DeclarableOpsTests5, Test_TopK_2) { } TEST_F(DeclarableOpsTests5, Test_TopK_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, + auto x = NDArrayFactory::create( {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, @@ -1277,7 +1277,7 @@ TEST_F(DeclarableOpsTests5, Test_TopK_3) { } ); - auto expV = NDArrayFactory::create('c', {2, 3, 2}, {14.0f, 11.0f, + auto expV = NDArrayFactory::create( {2, 3, 2}, {14.0f, 11.0f, 9.0f, 7.0f, 21.0f, 15.0f, 9.0f, 7.0f, @@ -1286,7 +1286,7 @@ TEST_F(DeclarableOpsTests5, Test_TopK_3) { } ); - auto expI = NDArrayFactory::create('c', {2, 3, 2 }, {2, 0, 1, 3, 0, 3, 1, 3, 2, 1, 0, 2}); + auto expI = NDArrayFactory::create( {2, 3, 2 }, {2, 0, 1, 3, 0, 3, 1, 3, 2, 1, 0, 2}); sd::ops::top_k op; auto result = op.evaluate({&x}, {}, {2, 1}); @@ -1318,7 +1318,7 @@ TEST_F(DeclarableOpsTests5, Test_TopK_3) { } TEST_F(DeclarableOpsTests5, Test_TopK_3_unsorted) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, + auto x = NDArrayFactory::create( {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, @@ -1327,7 +1327,7 @@ TEST_F(DeclarableOpsTests5, Test_TopK_3_unsorted) { } ); - auto expV = NDArrayFactory::create('c', {2, 3, 2}, {11.0f, 14.0f, + auto expV = NDArrayFactory::create( {2, 3, 2}, {11.0f, 14.0f, 9.0f, 7.0f, 21.0f, 15.0f, 9.0f, 7.0f, @@ -1336,7 +1336,7 @@ TEST_F(DeclarableOpsTests5, Test_TopK_3_unsorted) { } ); - auto expI = NDArrayFactory::create('c', {2, 3, 2 }, {0, 2, 1, 3, 0, 3, 1, 3, 1, 2, 0, 2}); + auto expI = NDArrayFactory::create( {2, 3, 2 }, {0, 2, 1, 3, 0, 3, 1, 3, 1, 2, 0, 2}); sd::ops::top_k op; auto result = op.evaluate({&x}, {}, {2}, {false}); @@ -1358,9 +1358,9 @@ TEST_F(DeclarableOpsTests5, Test_TopK_3_unsorted) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Test_TopK_4) { - auto x = NDArrayFactory::create('c', {2, 3}, {1.0f, 11.0f, 3.0f, 14.0f, 5.0f, 6.0f}); - auto expV = NDArrayFactory::create('c', {2, 2}, {11.0f, 3.0f, 14.0f, 6.0f}); - auto expI = NDArrayFactory::create('c', {2, 2}, {1, 2, 0, 2}); + auto x = NDArrayFactory::create( {2, 3}, {1.0f, 11.0f, 3.0f, 14.0f, 5.0f, 6.0f}); + auto expV = NDArrayFactory::create( {2, 2}, {11.0f, 3.0f, 14.0f, 6.0f}); + auto expI = NDArrayFactory::create( {2, 2}, {1, 2, 0, 2}); sd::ops::top_k op; auto result = op.evaluate({&x}, {}, {2, 1}); @@ -1382,9 +1382,9 @@ TEST_F(DeclarableOpsTests5, Test_TopK_4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Test_TopK_5) { - auto x = NDArrayFactory::create('f', {2, 3}, {1.1, 5.2, 3.1, 14.2, 11.1, 6.2}); - auto expV = NDArrayFactory::create('f', {2, 2}, {11.1, 14.2, 3.1, 6.2}); - auto expI = NDArrayFactory::create('f', {2, 2}, {2, 1, 1, 2}); + auto x = NDArrayFactory::create( {2, 3}, {1.1, 5.2, 3.1, 14.2, 11.1, 6.2}, sd::kArrayOrderFortran); + auto expV = NDArrayFactory::create( {2, 2}, {11.1, 14.2, 3.1, 6.2}, sd::kArrayOrderFortran); + auto expI = NDArrayFactory::create( {2, 2}, {2, 1, 1, 2}, sd::kArrayOrderFortran); sd::ops::top_k op; auto result = op.evaluate({&x}, {}, {2, 1}); @@ -1406,7 +1406,7 @@ TEST_F(DeclarableOpsTests5, Test_TopK_5) { /////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, Test_Moments_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, + auto x = NDArrayFactory::create( {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, @@ -1414,7 +1414,7 @@ TEST_F(DeclarableOpsTests5, Test_Moments_1) { 16.0, 9.0, 13.5, 7.0} ); - auto y = NDArrayFactory::create('c', {3}, {0, 1, 2}); + auto y = NDArrayFactory::create( {3}, {0, 1, 2}); //auto expV('f', {6}, {1, 0, 0, 0, 0, 0 }); float expMean = 9.395833f; @@ -1474,7 +1474,7 @@ TEST_F(DeclarableOpsTests5, Test_Moments_2) { } TEST_F(DeclarableOpsTests5, Test_Moments_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, + auto x = NDArrayFactory::create( {2, 3, 4}, {11.0, 3.0, 14.0, 5.0, 6.0, 9.0, 3.5, 7.0, 21.0, 3.0, 14.0, 15.0, 6.0, 9.0, 3.5, 7.0, @@ -1482,10 +1482,10 @@ TEST_F(DeclarableOpsTests5, Test_Moments_3) { 16.0, 9.0, 13.5, 7.0} ); - auto expV = NDArrayFactory::create('c', {3, 4}, { 8.5f, 6.f , 8.75f, 6.f, + auto expV = NDArrayFactory::create( {3, 4}, { 8.5f, 6.f , 8.75f, 6.f, 8.5f, 11.f, 8.75f, 6.f, 18.5f, 6.f, 13.75f, 11.f}); - auto expD = NDArrayFactory::create('c', {3, 4}, { 6.25f, 9.f, 27.5625f, 1.f, + auto expD = NDArrayFactory::create( {3, 4}, { 6.25f, 9.f, 27.5625f, 1.f, 6.25f, 4.f, 27.5625f, 1.f, 6.25f, 9.f, 0.0625f, 16.f}); @@ -1509,12 +1509,12 @@ TEST_F(DeclarableOpsTests5, Test_Moments_3) { TEST_F(DeclarableOpsTests5, Test_Moments_4) { - auto x = NDArrayFactory::create('f', {2, 3, 4}, {11.0f, 6.0f, 6.0f, 11.0f, 21.0f, 16.0f, 3.0f, 9.0f, 9.0f, 13.0f, 3.0f, 9.0f, - 14.0f, 3.5f, 3.5f, 14.0f, 14.0f, 13.5f, 5.0f, 7.0f, 7.0f, 5.0f, 15.0f, 7.0f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {11.0f, 6.0f, 6.0f, 11.0f, 21.0f, 16.0f, 3.0f, 9.0f, 9.0f, 13.0f, 3.0f, 9.0f, + 14.0f, 3.5f, 3.5f, 14.0f, 14.0f, 13.5f, 5.0f, 7.0f, 7.0f, 5.0f, 15.0f, 7.0f}, sd::kArrayOrderFortran); - auto expV = NDArrayFactory::create('c', {3, 4}, { 8.5f, 6.f , 8.75f, 6.f, 8.5f, 11.f, 8.75f, 6.f, 18.5f, 6.f, 13.75f, 11.f}); - auto expD = NDArrayFactory::create('c', {3, 4}, { 6.25f, 9.f, 27.5625f, 1.f, 6.25f, 4.f, 27.5625f, 1.f, 6.25f, 9.f, 0.0625f, 16.f}); + auto expV = NDArrayFactory::create( {3, 4}, { 8.5f, 6.f , 8.75f, 6.f, 8.5f, 11.f, 8.75f, 6.f, 18.5f, 6.f, 13.75f, 11.f}); + auto expD = NDArrayFactory::create( {3, 4}, { 6.25f, 9.f, 27.5625f, 1.f, 6.25f, 4.f, 27.5625f, 1.f, 6.25f, 9.f, 0.0625f, 16.f}); sd::ops::moments op; auto result = op.evaluate({&x}, {}, {0}); @@ -1543,9 +1543,9 @@ TEST_F(DeclarableOpsTests5, Test_Moments_4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, trace_test1) { - auto input = NDArrayFactory::create('c', {3, 4, 5}); + auto input = NDArrayFactory::create( {3, 4, 5}); input.linspace(1); - auto exp = NDArrayFactory::create('c', {3}, {40, 120, 200}); + auto exp = NDArrayFactory::create( {3}, {40, 120, 200}); NDArray matrix('c', {3, 3}, {1., 2., 3., 4., 5., 6., 7., 8., 9.}); sd::ops::trace op; auto results = op.evaluate({&input}, {}, {}); @@ -1564,7 +1564,7 @@ TEST_F(DeclarableOpsTests5, trace_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, trace_test2) { - auto input = NDArrayFactory::create('c', {4, 5}); + auto input = NDArrayFactory::create( {4, 5}); input.linspace(1); auto exp = NDArrayFactory::create(40.); @@ -1582,7 +1582,7 @@ TEST_F(DeclarableOpsTests5, trace_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, trace_test3) { - auto input = NDArrayFactory::create('c', {1, 5}); + auto input = NDArrayFactory::create( {1, 5}); input.linspace(1); auto exp = NDArrayFactory::create(1.); @@ -1600,7 +1600,7 @@ TEST_F(DeclarableOpsTests5, trace_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, trace_test4) { - auto input = NDArrayFactory::create('c', {5, 1}); + auto input = NDArrayFactory::create( {5, 1}); input.linspace(1); auto exp = NDArrayFactory::create(1.); @@ -1618,9 +1618,9 @@ TEST_F(DeclarableOpsTests5, trace_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, trace_test5) { - auto input = NDArrayFactory::create('c', {3, 4, 5, 6}); + auto input = NDArrayFactory::create( {3, 4, 5, 6}); input.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 4}, {75, 225, 375, 525, 675, 825, 975, 1125, 1275, 1425, 1575, 1725}); + auto exp = NDArrayFactory::create( {3, 4}, {75, 225, 375, 525, 675, 825, 975, 1125, 1275, 1425, 1575, 1725}); sd::ops::trace op; auto results = op.evaluate({&input}); @@ -1636,7 +1636,7 @@ TEST_F(DeclarableOpsTests5, trace_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test1) { - auto input = NDArrayFactory::create('c', {2, 2, 2}); + auto input = NDArrayFactory::create( {2, 2, 2}); input.linspace(1); sd::ops::random_shuffle op; @@ -1659,7 +1659,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test2) { - auto input = NDArrayFactory::create('c', {1, 3, 2}); + auto input = NDArrayFactory::create( {1, 3, 2}); input.linspace(1); sd::ops::random_shuffle op; @@ -1676,7 +1676,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test3) { - auto input = NDArrayFactory::create('c', {3, 2, 1}); + auto input = NDArrayFactory::create( {3, 2, 1}); input.linspace(1); sd::ops::random_shuffle op; @@ -1697,7 +1697,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test3) { } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test04) { - auto input = NDArrayFactory::create('c', {4}); + auto input = NDArrayFactory::create( {4}); input.linspace(1); sd::ops::random_shuffle op; @@ -1719,7 +1719,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test04) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test4) { - auto input = NDArrayFactory::create('c', {4}); + auto input = NDArrayFactory::create( {4}); input.linspace(1); sd::ops::random_shuffle op; @@ -1742,7 +1742,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test5) { - auto input = NDArrayFactory::create('c', {4,1}); + auto input = NDArrayFactory::create( {4,1}); input.linspace(1); sd::ops::random_shuffle op; @@ -1765,7 +1765,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test6) { - auto input = NDArrayFactory::create('c', {4,1,1}); + auto input = NDArrayFactory::create( {4,1,1}); input.linspace(1); sd::ops::random_shuffle op; @@ -1788,9 +1788,9 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test7) { - auto input = NDArrayFactory::create('c', {1,4}); + auto input = NDArrayFactory::create( {1,4}); input.linspace(1); - auto exp = NDArrayFactory::create('c', {1,4}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {1,4}, {1, 2, 3, 4}); sd::ops::random_shuffle op; auto results = op.evaluate({&input}); @@ -1807,12 +1807,12 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test7) { TEST_F(DeclarableOpsTests5, EmbeddingLookup_1) { - auto x = NDArrayFactory::create('c', {3, 4, 2}, {10, 20, 11, 21, 12, 22, 13, 23, + auto x = NDArrayFactory::create( {3, 4, 2}, {10, 20, 11, 21, 12, 22, 13, 23, 14, 24, 15, 25, 16, 26, 17, 27, 18, 28, 19, 29, 20, 30, 21, 31}); - auto y = NDArrayFactory::create({1, 1, 1, 0, 0, 0, 2, 2, 2}); - auto exp = NDArrayFactory::create('c', {9, 4, 2}, {14, 24, 15, 25, 16, 26, 17, 27, 14, 24, 15, 25, + auto y = NDArrayFactory::vector({1, 1, 1, 0, 0, 0, 2, 2, 2}); + auto exp = NDArrayFactory::create( {9, 4, 2}, {14, 24, 15, 25, 16, 26, 17, 27, 14, 24, 15, 25, 16, 26, 17, 27, 14, 24, 15, 25, 16, 26, 17, 27, 10, 20, 11, 21, 12, 22, 13, 23, 10, 20, 11, 21, 12, 22, 13, 23, 10, 20, 11, 21, 12, 22, 13, 23, @@ -1840,13 +1840,13 @@ TEST_F(DeclarableOpsTests5, EmbeddingLookup_1) { TEST_F(DeclarableOpsTests5, EmbeddingLookup_2) { - auto x = NDArrayFactory::create('c', {3, 4, 2}, {10, 20, 30, 40, 50, 60, + auto x = NDArrayFactory::create( {3, 4, 2}, {10, 20, 30, 40, 50, 60, 70, 80, 90, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}); //1, 0, 1, 0, 1, 0 - auto y = NDArrayFactory::create({1, 0, 1, 0, 1, 0}); - auto exp = NDArrayFactory::create('c', {6, 4, 2}, {90, 10, 11, 12, 13, 14, + auto y = NDArrayFactory::vector({1, 0, 1, 0, 1, 0}); + auto exp = NDArrayFactory::create( {6, 4, 2}, {90, 10, 11, 12, 13, 14, 15, 16, 10, 20, 30, 40, 50, 60, 70, 80, 90, 10, 11, 12, 13, 14, 15, 16, @@ -1877,8 +1877,8 @@ TEST_F(DeclarableOpsTests5, EmbeddingLookup_2) { TEST_F(DeclarableOpsTests5, EmbeddingLookup_3) { - auto y = NDArrayFactory::create('c', {3,2}, {5, 4, 4, 5, 3, 3}); - auto exp = NDArrayFactory::create('c', {6, 3, 3}, { + auto y = NDArrayFactory::create( {3,2}, {5, 4, 4, 5, 3, 3}); + auto exp = NDArrayFactory::create( {6, 3, 3}, { 6, 20, 11, 21, 12, 22, 13, 23, 14, 5, 20, 11, 21, 12, 22, 13, 23, 14, 5, 20, 11, 21, 12, 22, 13, 23, 14, @@ -1888,14 +1888,14 @@ TEST_F(DeclarableOpsTests5, EmbeddingLookup_3) { // y.printShapeInfo("y shape"); // y.printIndexedBuffer("y buffer"); - auto p1 = NDArrayFactory::create('c', {3,3}, {1, 20, 11, 21, 12, 22, 13, 23, 14}); - auto p2 = NDArrayFactory::create('c', {3,3}, {2, 20, 11, 21, 12, 22, 13, 23, 14}); - auto p3 = NDArrayFactory::create('c', {3,3}, {3, 20, 11, 21, 12, 22, 13, 23, 14}); - auto p4 = NDArrayFactory::create('c', {3,3}, {4, 20, 11, 21, 12, 22, 13, 23, 14}); - auto p5 = NDArrayFactory::create('c', {3,3}, {5, 20, 11, 21, 12, 22, 13, 23, 14}); - auto p6 = NDArrayFactory::create('c', {3,3}, {6, 20, 11, 21, 12, 22, 13, 23, 14}); - auto p7 = NDArrayFactory::create('c', {3,3}, {7, 20, 11, 21, 12, 22, 13, 23, 14}); - auto p8 = NDArrayFactory::create('c', {3,3}, {8, 20, 11, 21, 12, 22, 13, 23, 14}); + auto p1 = NDArrayFactory::create( {3,3}, {1, 20, 11, 21, 12, 22, 13, 23, 14}); + auto p2 = NDArrayFactory::create( {3,3}, {2, 20, 11, 21, 12, 22, 13, 23, 14}); + auto p3 = NDArrayFactory::create( {3,3}, {3, 20, 11, 21, 12, 22, 13, 23, 14}); + auto p4 = NDArrayFactory::create( {3,3}, {4, 20, 11, 21, 12, 22, 13, 23, 14}); + auto p5 = NDArrayFactory::create( {3,3}, {5, 20, 11, 21, 12, 22, 13, 23, 14}); + auto p6 = NDArrayFactory::create( {3,3}, {6, 20, 11, 21, 12, 22, 13, 23, 14}); + auto p7 = NDArrayFactory::create( {3,3}, {7, 20, 11, 21, 12, 22, 13, 23, 14}); + auto p8 = NDArrayFactory::create( {3,3}, {8, 20, 11, 21, 12, 22, 13, 23, 14}); // res = tf.nn.embedding_lookup((p1, p2, p3, p4, p5, p6, p7), ids, 'mod') @@ -1933,14 +1933,14 @@ TEST_F(DeclarableOpsTests5, EmbeddingLookup_3) { }*/ TEST_F(DeclarableOpsTests5, DynamicPartition_01) { - auto x = NDArrayFactory::create({2,1,2,0}); + auto x = NDArrayFactory::vector({2,1,2,0}); - auto y = NDArrayFactory::create({0,2,1,0}); + auto y = NDArrayFactory::vector({0,2,1,0}); int numPartition = 3; - std::vector exp( { NDArrayFactory::create('c', {2}, {2, 0}), - NDArrayFactory::create('c', {1}, {2}), - NDArrayFactory::create('c', {1}, {1})}); + std::vector exp( { NDArrayFactory::create( {2}, {2, 0}), + NDArrayFactory::create( {1}, {2}), + NDArrayFactory::create( {1}, {1})}); sd::ops::dynamic_partition op; auto result = op.evaluate({&x, &y}, {}, {numPartition}); @@ -1961,25 +1961,25 @@ TEST_F(DeclarableOpsTests5, DynamicPartition_01) { TEST_F(DeclarableOpsTests5, DynamicPartition_1) { - auto x = NDArrayFactory::create('c', {3, 4, 2}, {10, 20, 11, 21, 12, 22, + auto x = NDArrayFactory::create( {3, 4, 2}, {10, 20, 11, 21, 12, 22, 13, 23, 14, 24, 15, 25, 16, 26, 17, 27, 18, 28, 19, 29, 20, 30, 21, 31}); - auto y = NDArrayFactory::create('c', {3, 4, 2}, {0, 0, 0, 0, 0, 0, + auto y = NDArrayFactory::create( {3, 4, 2}, {0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1 } ); -/* auto y = NDArrayFactory::create('c', {3, 4}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, +/* auto y = NDArrayFactory::create( {3, 4}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 2.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f } ); */ int numPartition = 3; - std::vector exp( { NDArrayFactory::create('c', {6}, {10, 20, 11, 21, 12, 22}), - NDArrayFactory::create('c', {8}, {18, 28, 19, 29, 20, 30, 21, 31}), - NDArrayFactory::create('c', {10}, {13, 23, 14, 24, 15, 25, 16, 26, 17, 27})}); + std::vector exp( { NDArrayFactory::create( {6}, {10, 20, 11, 21, 12, 22}), + NDArrayFactory::create( {8}, {18, 28, 19, 29, 20, 30, 21, 31}), + NDArrayFactory::create( {10}, {13, 23, 14, 24, 15, 25, 16, 26, 17, 27})}); sd::ops::dynamic_partition op; auto result = op.evaluate({&x, &y}, {}, {numPartition}); @@ -2002,13 +2002,13 @@ TEST_F(DeclarableOpsTests5, DynamicPartition_1) { TEST_F(DeclarableOpsTests5, DynamicPartition_2) { - auto x = NDArrayFactory::create('c', {2, 4}, {0.1f, -1.f, 5.2f, 4.3f, -1.f, 7.4f, 0.0f, -2.2f}); - auto y = NDArrayFactory::create('c', {2, 4}, {1, 2, 1, 2, 1, 2, 3, 0}); + auto x = NDArrayFactory::create( {2, 4}, {0.1f, -1.f, 5.2f, 4.3f, -1.f, 7.4f, 0.0f, -2.2f}); + auto y = NDArrayFactory::create( {2, 4}, {1, 2, 1, 2, 1, 2, 3, 0}); - std::vector exp( {NDArrayFactory::create('c', {1}, {-2.2}), - NDArrayFactory::create('c', {3}, {0.1, 5.2, -1.}), - NDArrayFactory::create('c', {3}, {-1., 4.3, 7.4}), - NDArrayFactory::create('c', {1}, {0.0})}); + std::vector exp( {NDArrayFactory::create( {1}, {-2.2}), + NDArrayFactory::create( {3}, {0.1, 5.2, -1.}), + NDArrayFactory::create( {3}, {-1., 4.3, 7.4}), + NDArrayFactory::create( {1}, {0.0})}); sd::ops::dynamic_partition op; int numPartition = 4; @@ -2030,13 +2030,13 @@ TEST_F(DeclarableOpsTests5, DynamicPartition_2) { TEST_F(DeclarableOpsTests5, DynamicPartition_3) { - auto x = NDArrayFactory::create('c', {2, 4}, {0.1f, -1.f, 5.2f, 4.3f, -1.f, 7.4f, 0.0f, -2.2f}); - auto y = NDArrayFactory::create('c', {2, 4}, {0, 1, 0, 2, 0, 2, 3, 0}); + auto x = NDArrayFactory::create( {2, 4}, {0.1f, -1.f, 5.2f, 4.3f, -1.f, 7.4f, 0.0f, -2.2f}); + auto y = NDArrayFactory::create( {2, 4}, {0, 1, 0, 2, 0, 2, 3, 0}); - std::vector exp( {NDArrayFactory::create({0.1f, 5.2f, -1.f, -2.2f}), - NDArrayFactory::create('c', {1}, {-1.f}), - NDArrayFactory::create({4.3f, 7.4f}), - NDArrayFactory::create('c', {1}, {0.0f})}); + std::vector exp( {NDArrayFactory::vector({0.1f, 5.2f, -1.f, -2.2f}), + NDArrayFactory::create( {1}, {-1.f}), + NDArrayFactory::vector({4.3f, 7.4f}), + NDArrayFactory::create( {1}, {0.0f})}); sd::ops::dynamic_partition op; int numPartition = 4; @@ -2066,13 +2066,13 @@ TEST_F(DeclarableOpsTests5, DynamicPartition_3) { } TEST_F(DeclarableOpsTests5, DynamicStitch_empty_1) { - auto i0 = NDArrayFactory::create('c', {2}, {2, 3}); + auto i0 = NDArrayFactory::create( {2}, {2, 3}); auto i1 = NDArrayFactory::empty(); - auto i2 = NDArrayFactory::create('c', {2}, {0, 1}); + auto i2 = NDArrayFactory::create( {2}, {0, 1}); - auto d0 = NDArrayFactory::create('c', {2, 5}, {0.085571885,0.7937801,0.65908563,0.55552566,0.15962744,0.7787856,0.80119777,0.72437465,0.23089433,0.72714126}); + auto d0 = NDArrayFactory::create( {2, 5}, {0.085571885,0.7937801,0.65908563,0.55552566,0.15962744,0.7787856,0.80119777,0.72437465,0.23089433,0.72714126}); auto d1 = NDArrayFactory::empty(); - auto d2 = NDArrayFactory::create('c', {2, 5}, {0.94414854,0.5956861,0.8668989,0.3502196,0.5100082,0.061725974,0.6621324,0.034165382,0.32576954,0.51917326}); + auto d2 = NDArrayFactory::create( {2, 5}, {0.94414854,0.5956861,0.8668989,0.3502196,0.5100082,0.061725974,0.6621324,0.034165382,0.32576954,0.51917326}); sd::ops::dynamic_stitch op; auto result = op.evaluate({&i0, &i1, &i2, &d0, &d1, &d2}, {}, {}); @@ -2082,13 +2082,13 @@ TEST_F(DeclarableOpsTests5, DynamicStitch_empty_1) { } TEST_F(DeclarableOpsTests5, DynamicStitch_empty_2) { - auto i0 = NDArrayFactory::create('c', {2}, {2, 3}); - auto i1 = NDArrayFactory::create('c', {0}); - auto i2 = NDArrayFactory::create('c', {2}, {0, 1}); + auto i0 = NDArrayFactory::create( {2}, {2, 3}); + auto i1 = NDArrayFactory::create( {0}); + auto i2 = NDArrayFactory::create( {2}, {0, 1}); - auto d0 = NDArrayFactory::create('c', {2, 5}, {0.085571885,0.7937801,0.65908563,0.55552566,0.15962744,0.7787856,0.80119777,0.72437465,0.23089433,0.72714126}); - auto d1 = NDArrayFactory::create('c', {0, 5}); - auto d2 = NDArrayFactory::create('c', {2, 5}, {0.94414854,0.5956861,0.8668989,0.3502196,0.5100082,0.061725974,0.6621324,0.034165382,0.32576954,0.51917326}); + auto d0 = NDArrayFactory::create( {2, 5}, {0.085571885,0.7937801,0.65908563,0.55552566,0.15962744,0.7787856,0.80119777,0.72437465,0.23089433,0.72714126}); + auto d1 = NDArrayFactory::create( {0, 5}); + auto d2 = NDArrayFactory::create( {2, 5}, {0.94414854,0.5956861,0.8668989,0.3502196,0.5100082,0.061725974,0.6621324,0.034165382,0.32576954,0.51917326}); sd::ops::dynamic_stitch op; auto result = op.evaluate({&i0, &i1, &i2, &d0, &d1, &d2}, {}, {}); @@ -2101,13 +2101,13 @@ TEST_F(DeclarableOpsTests5, DynamicStitch_empty_2) { TEST_F(DeclarableOpsTests5, DynamicStitch_1) { - auto x1 = NDArrayFactory::create({1, 3, 5, 0}); - auto x2 = NDArrayFactory::create({2, 4}); - auto y2 = NDArrayFactory::create({-1., -1.}); - auto y1 = NDArrayFactory::create({0.1f, 5.2f, 4.3f, 7.4f}); + auto x1 = NDArrayFactory::vector({1, 3, 5, 0}); + auto x2 = NDArrayFactory::vector({2, 4}); + auto y2 = NDArrayFactory::vector({-1., -1.}); + auto y1 = NDArrayFactory::vector({0.1f, 5.2f, 4.3f, 7.4f}); - auto exp = NDArrayFactory::create({7.4f, 0.1f, -1.f, 5.2f, -1.f, 4.3f}); + auto exp = NDArrayFactory::vector({7.4f, 0.1f, -1.f, 5.2f, -1.f, 4.3f}); sd::ops::dynamic_stitch op; auto result = op.evaluate({&x1, &x2, &y1, &y2}, {}, {}); @@ -2126,13 +2126,13 @@ TEST_F(DeclarableOpsTests5, DynamicStitch_1) { TEST_F(DeclarableOpsTests5, DynamicStitch_2) { - auto x1 = NDArrayFactory::create({1, 3}); - auto x2 = NDArrayFactory::create({5, 0, 2, 4}); - auto y1 = NDArrayFactory::create({-1.f, -1.f}); - auto y2 = NDArrayFactory::create({0.1f, 5.2f, 4.3f, 7.4f}); + auto x1 = NDArrayFactory::vector({1, 3}); + auto x2 = NDArrayFactory::vector({5, 0, 2, 4}); + auto y1 = NDArrayFactory::vector({-1.f, -1.f}); + auto y2 = NDArrayFactory::vector({0.1f, 5.2f, 4.3f, 7.4f}); - auto exp = NDArrayFactory::create({5.2f, -1.f, 4.3f, -1.f, 7.4f, 0.1f}); + auto exp = NDArrayFactory::vector({5.2f, -1.f, 4.3f, -1.f, 7.4f, 0.1f}); sd::ops::dynamic_stitch op; auto result = op.evaluate({&x1, &x2, &y1, &y2}, {}, {}); @@ -2154,16 +2154,16 @@ TEST_F(DeclarableOpsTests5, DynamicStitch_2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, fusedBatchNorm_test1) { - auto x = NDArrayFactory::create('c', {2, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2, 3, 4}); x.linspace(1); - auto scale = NDArrayFactory::create('c', {4}); + auto scale = NDArrayFactory::create( {4}); scale = 0.5; - auto offset = NDArrayFactory::create('c', {4}); + auto offset = NDArrayFactory::create( {4}); offset = 2.; - auto expY = NDArrayFactory::create('c', {2, 2, 3, 4}, {1.20337462, 1.20337462, 1.20337462, 1.20337462, 1.34821558, 1.34821558, 1.34821558, 1.34821558, 1.49305654, 1.49305654, 1.49305654, 1.49305654, 1.63789749, 1.63789749, 1.63789749, 1.63789749, 1.78273857, 1.78273857, 1.78273857, 1.78273857, 1.92757952, 1.92757952, 1.92757952, 1.92757952, 2.0724206 , 2.0724206 , 2.0724206 , 2.0724206 , 2.21726155, 2.21726155, 2.21726155, 2.21726155, 2.36210251, 2.36210251, 2.36210251, 2.36210251, 2.50694346, 2.50694346, 2.50694346, 2.50694346, 2.65178442, 2.65178442, 2.65178442, 2.65178442, 2.79662538, 2.79662538, 2.79662538, 2.79662538}); - auto expBatchMean = NDArrayFactory::create('c', {4}, {23., 24., 25., 26.}); - auto expBatchVar = NDArrayFactory::create('c', {4}, {208.00001526, 208.00001526, 208.00001526, 208.00001526}); + auto expY = NDArrayFactory::create( {2, 2, 3, 4}, {1.20337462, 1.20337462, 1.20337462, 1.20337462, 1.34821558, 1.34821558, 1.34821558, 1.34821558, 1.49305654, 1.49305654, 1.49305654, 1.49305654, 1.63789749, 1.63789749, 1.63789749, 1.63789749, 1.78273857, 1.78273857, 1.78273857, 1.78273857, 1.92757952, 1.92757952, 1.92757952, 1.92757952, 2.0724206 , 2.0724206 , 2.0724206 , 2.0724206 , 2.21726155, 2.21726155, 2.21726155, 2.21726155, 2.36210251, 2.36210251, 2.36210251, 2.36210251, 2.50694346, 2.50694346, 2.50694346, 2.50694346, 2.65178442, 2.65178442, 2.65178442, 2.65178442, 2.79662538, 2.79662538, 2.79662538, 2.79662538}); + auto expBatchMean = NDArrayFactory::create( {4}, {23., 24., 25., 26.}); + auto expBatchVar = NDArrayFactory::create( {4}, {208.00001526, 208.00001526, 208.00001526, 208.00001526}); sd::ops::fused_batch_norm op; @@ -2183,17 +2183,17 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, fusedBatchNorm_test2) { - auto x = NDArrayFactory::create('c', {2, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2, 3, 4}); x.linspace(1); - auto scale = NDArrayFactory::create('c', {4}); + auto scale = NDArrayFactory::create( {4}); scale = 0.5; - auto offset = NDArrayFactory::create('c', {4}); + auto offset = NDArrayFactory::create( {4}); offset = 2.; - auto expY = NDArrayFactory::create('c', {2, 2, 3, 4}, {1.20347691, 1.20347691, 1.20347691, 1.20347691, 1.34829926, 1.34829926, 1.34829926, 1.34829926, 1.49312162, 1.49312162, 1.49312162, 1.49312162, 1.6379441 , 1.6379441 , 1.6379441 , 1.6379441 , 1.78276646, 1.78276646, 1.78276646, 1.78276646, 1.92758882, 1.92758882, 1.92758882, 1.92758882, 2.0724113 , 2.0724113 , 2.0724113 , 2.0724113 , 2.21723366, 2.21723366, 2.21723366, 2.21723366, 2.36205602, 2.36205602, 2.36205602, 2.36205602, 2.50687838, 2.50687838, 2.50687838, 2.50687838, 2.65170074, 2.65170074, 2.65170074, 2.65170074, 2.79652309, 2.79652309, 2.79652309, 2.79652309}); - auto expBatchMean = NDArrayFactory::create('c', {4}, {23., 24., 25., 26.}); - auto expBatchVar = NDArrayFactory::create('c', {4}, {208.00001526, 208.00001526, 208.00001526, 208.00001526}); + auto expY = NDArrayFactory::create( {2, 2, 3, 4}, {1.20347691, 1.20347691, 1.20347691, 1.20347691, 1.34829926, 1.34829926, 1.34829926, 1.34829926, 1.49312162, 1.49312162, 1.49312162, 1.49312162, 1.6379441 , 1.6379441 , 1.6379441 , 1.6379441 , 1.78276646, 1.78276646, 1.78276646, 1.78276646, 1.92758882, 1.92758882, 1.92758882, 1.92758882, 2.0724113 , 2.0724113 , 2.0724113 , 2.0724113 , 2.21723366, 2.21723366, 2.21723366, 2.21723366, 2.36205602, 2.36205602, 2.36205602, 2.36205602, 2.50687838, 2.50687838, 2.50687838, 2.50687838, 2.65170074, 2.65170074, 2.65170074, 2.65170074, 2.79652309, 2.79652309, 2.79652309, 2.79652309}); + auto expBatchMean = NDArrayFactory::create( {4}, {23., 24., 25., 26.}); + auto expBatchVar = NDArrayFactory::create( {4}, {208.00001526, 208.00001526, 208.00001526, 208.00001526}); sd::ops::fused_batch_norm op; auto results = op.evaluate({&x, &scale, &offset}, {0.05}, {0,1}); @@ -2212,17 +2212,17 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, fusedBatchNorm_test3) { - auto x = NDArrayFactory::create('c', {2, 4, 2, 3}); + auto x = NDArrayFactory::create( {2, 4, 2, 3}); x.linspace(1); - auto scale = NDArrayFactory::create('c', {4}); + auto scale = NDArrayFactory::create( {4}); scale = 0.5; - auto offset = NDArrayFactory::create('c', {4}); + auto offset = NDArrayFactory::create( {4}); offset = 2.; - auto expY = NDArrayFactory::create('c', {2, 4, 2, 3}, {1.20337462, 1.20337462, 1.20337462, 1.20337462, 1.34821558, 1.34821558, 1.34821558, 1.34821558, 1.49305654, 1.49305654, 1.49305654, 1.49305654, 1.63789749, 1.63789749, 1.63789749, 1.63789749, 1.78273857, 1.78273857, 1.78273857, 1.78273857, 1.92757952, 1.92757952, 1.92757952, 1.92757952, 2.0724206 , 2.0724206 , 2.0724206 , 2.0724206 , 2.21726155, 2.21726155, 2.21726155, 2.21726155, 2.36210251, 2.36210251, 2.36210251, 2.36210251, 2.50694346, 2.50694346, 2.50694346, 2.50694346, 2.65178442, 2.65178442, 2.65178442, 2.65178442, 2.79662538, 2.79662538, 2.79662538, 2.79662538}); - auto expBatchMean = NDArrayFactory::create('c', {4}, {23., 24., 25., 26.}); - auto expBatchVar = NDArrayFactory::create('c', {4}, {208.00001526, 208.00001526, 208.00001526, 208.00001526}); + auto expY = NDArrayFactory::create( {2, 4, 2, 3}, {1.20337462, 1.20337462, 1.20337462, 1.20337462, 1.34821558, 1.34821558, 1.34821558, 1.34821558, 1.49305654, 1.49305654, 1.49305654, 1.49305654, 1.63789749, 1.63789749, 1.63789749, 1.63789749, 1.78273857, 1.78273857, 1.78273857, 1.78273857, 1.92757952, 1.92757952, 1.92757952, 1.92757952, 2.0724206 , 2.0724206 , 2.0724206 , 2.0724206 , 2.21726155, 2.21726155, 2.21726155, 2.21726155, 2.36210251, 2.36210251, 2.36210251, 2.36210251, 2.50694346, 2.50694346, 2.50694346, 2.50694346, 2.65178442, 2.65178442, 2.65178442, 2.65178442, 2.79662538, 2.79662538, 2.79662538, 2.79662538}); + auto expBatchMean = NDArrayFactory::create( {4}, {23., 24., 25., 26.}); + auto expBatchVar = NDArrayFactory::create( {4}, {208.00001526, 208.00001526, 208.00001526, 208.00001526}); sd::ops::fused_batch_norm op; auto results = op.evaluate({&x, &scale, &offset}, {}, {1,1}); @@ -2241,7 +2241,7 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, fusedBatchNorm_test4) { - auto x = NDArrayFactory::create('c', {2, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2, 3, 4}); x.linspace(1); std::vector shape = {4}; auto scale = NDArrayFactory::create('c', shape); @@ -2254,7 +2254,7 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test4) { mean = 25.; variance = 5.; - auto expY = NDArrayFactory::create('c', {2, 2, 3, 4}, {-3.36602688, -3.14244223, -2.91885757, -2.6952734 , -2.47168875, -2.24810457, -2.02451992, -1.80093551, -1.57735109, -1.35376668, -1.13018227, -0.90659785, -0.68301344, -0.45942879, -0.23584437, -0.01225996, 0.21132445, 0.43490887, 0.65849328, 0.88207781, 1.10566223, 1.32924664, 1.55283117, 1.77641559, 2. , 2.22358441, 2.44716883, 2.67075348, 2.89433765, 3.11792231, 3.34150672, 3.56509113, 3.78867555, 4.01225996, 4.23584461, 4.45942879, 4.68301344, 4.90659809, 5.13018227, 5.35376644, 5.57735109, 5.80093575, 6.02451992, 6.24810457, 6.47168875, 6.6952734 , 6.91885757, 7.14244223}); + auto expY = NDArrayFactory::create( {2, 2, 3, 4}, {-3.36602688, -3.14244223, -2.91885757, -2.6952734 , -2.47168875, -2.24810457, -2.02451992, -1.80093551, -1.57735109, -1.35376668, -1.13018227, -0.90659785, -0.68301344, -0.45942879, -0.23584437, -0.01225996, 0.21132445, 0.43490887, 0.65849328, 0.88207781, 1.10566223, 1.32924664, 1.55283117, 1.77641559, 2. , 2.22358441, 2.44716883, 2.67075348, 2.89433765, 3.11792231, 3.34150672, 3.56509113, 3.78867555, 4.01225996, 4.23584461, 4.45942879, 4.68301344, 4.90659809, 5.13018227, 5.35376644, 5.57735109, 5.80093575, 6.02451992, 6.24810457, 6.47168875, 6.6952734 , 6.91885757, 7.14244223}); auto expBatchMean = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); auto expBatchVar = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); @@ -2276,7 +2276,7 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, fusedBatchNorm_test5) { - auto x = NDArrayFactory::create('c', {2, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2, 3, 4}); x.linspace(1); std::vector shape = {4}; auto scale = NDArrayFactory::create('c', shape); @@ -2289,7 +2289,7 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test5) { mean = 25.; variance = 5.; - auto expY = NDArrayFactory::create('c', {2, 2, 3, 4}, {-3.33992958e+00, -3.11743259e+00, -2.89493513e+00, -2.67243814e+00, -2.44994116e+00, -2.22744417e+00, -2.00494719e+00, -1.78244996e+00, -1.55995297e+00, -1.33745599e+00, -1.11495876e+00, -8.92461777e-01, -6.69964790e-01, -4.47467566e-01, -2.24970579e-01, -2.47359276e-03, 2.20023513e-01, 4.42520618e-01, 6.65017605e-01, 8.87514710e-01, 1.11001182e+00, 1.33250880e+00, 1.55500591e+00, 1.77750289e+00, 2.00000000e+00, 2.22249699e+00, 2.44499421e+00, 2.66749120e+00, 2.88998818e+00, 3.11248541e+00, 3.33498240e+00, 3.55747938e+00, 3.77997637e+00, 4.00247383e+00, 4.22497082e+00, 4.44746780e+00, 4.66996479e+00, 4.89246178e+00, 5.11495876e+00, 5.33745575e+00, 5.55995274e+00, 5.78244972e+00, 6.00494719e+00, 6.22744417e+00, 6.44994116e+00, 6.67243814e+00, 6.89493513e+00, 7.11743259e+00}); + auto expY = NDArrayFactory::create( {2, 2, 3, 4}, {-3.33992958e+00, -3.11743259e+00, -2.89493513e+00, -2.67243814e+00, -2.44994116e+00, -2.22744417e+00, -2.00494719e+00, -1.78244996e+00, -1.55995297e+00, -1.33745599e+00, -1.11495876e+00, -8.92461777e-01, -6.69964790e-01, -4.47467566e-01, -2.24970579e-01, -2.47359276e-03, 2.20023513e-01, 4.42520618e-01, 6.65017605e-01, 8.87514710e-01, 1.11001182e+00, 1.33250880e+00, 1.55500591e+00, 1.77750289e+00, 2.00000000e+00, 2.22249699e+00, 2.44499421e+00, 2.66749120e+00, 2.88998818e+00, 3.11248541e+00, 3.33498240e+00, 3.55747938e+00, 3.77997637e+00, 4.00247383e+00, 4.22497082e+00, 4.44746780e+00, 4.66996479e+00, 4.89246178e+00, 5.11495876e+00, 5.33745575e+00, 5.55995274e+00, 5.78244972e+00, 6.00494719e+00, 6.22744417e+00, 6.44994116e+00, 6.67243814e+00, 6.89493513e+00, 7.11743259e+00}); auto expBatchMean = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); auto expBatchVar = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); @@ -2311,9 +2311,9 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, confusion_matrix_test1) { - auto labels = NDArrayFactory::create('c', {1, 3}, {1, 2, 4}); - auto predictions = NDArrayFactory::create('c', {1, 3}, {2, 2, 4}); - auto expected = NDArrayFactory::create('c', {5, 5}, {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}); + auto labels = NDArrayFactory::create( {1, 3}, {1, 2, 4}); + auto predictions = NDArrayFactory::create( {1, 3}, {2, 2, 4}); + auto expected = NDArrayFactory::create( {5, 5}, {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}); sd::ops::confusion_matrix op; auto results = op.evaluate({&labels, &predictions}, {}, {}); @@ -2330,9 +2330,9 @@ TEST_F(DeclarableOpsTests5, confusion_matrix_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, confusion_matrix_test2) { - auto labels = NDArrayFactory::create('c', {1, 2}, {1, 2}); - auto predictions = NDArrayFactory::create('c', {1, 2}, {0, 2}); - auto expected = NDArrayFactory::create('c', {3, 3}, {0, 0, 0, 1, 0, 0, 0, 0, 1}); + auto labels = NDArrayFactory::create( {1, 2}, {1, 2}); + auto predictions = NDArrayFactory::create( {1, 2}, {0, 2}); + auto expected = NDArrayFactory::create( {3, 3}, {0, 0, 0, 1, 0, 0, 0, 0, 1}); sd::ops::confusion_matrix op; auto results = op.evaluate({&labels, &predictions}, {}, {3}); @@ -2349,10 +2349,10 @@ TEST_F(DeclarableOpsTests5, confusion_matrix_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, confusion_matrix_test3) { - auto labels = NDArrayFactory::create('c', {1, 2}, {1, 2}); - auto predictions = NDArrayFactory::create('c', {1, 2}, {0, 2}); - auto weights = NDArrayFactory::create('c', {1, 2}, {100, 200}); - auto expected = NDArrayFactory::create('c', {3, 3}, {0, 0, 0, 100, 0, 0, 0, 0, 200}); + auto labels = NDArrayFactory::create( {1, 2}, {1, 2}); + auto predictions = NDArrayFactory::create( {1, 2}, {0, 2}); + auto weights = NDArrayFactory::create( {1, 2}, {100, 200}); + auto expected = NDArrayFactory::create( {3, 3}, {0, 0, 0, 100, 0, 0, 0, 0, 200}); sd::ops::confusion_matrix op; auto results = op.evaluate({&labels, &predictions, &weights}, {}, {3}); @@ -2368,10 +2368,10 @@ TEST_F(DeclarableOpsTests5, confusion_matrix_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, confusion_matrix_test4) { - auto labels = NDArrayFactory::create('c', {1, 2}, {1, 2}); - auto predictions = NDArrayFactory::create('c', {1, 2}, {0, 2}); - auto weights = NDArrayFactory::create('c', {1, 2}, {100, 200}); - auto expected = NDArrayFactory::create('c', {3, 3}, {0, 0, 0, 100, 0, 0, 0, 0, 200}); + auto labels = NDArrayFactory::create( {1, 2}, {1, 2}); + auto predictions = NDArrayFactory::create( {1, 2}, {0, 2}); + auto weights = NDArrayFactory::create( {1, 2}, {100, 200}); + auto expected = NDArrayFactory::create( {3, 3}, {0, 0, 0, 100, 0, 0, 0, 0, 200}); sd::ops::confusion_matrix op; auto results = op.evaluate({&labels, &predictions, &weights}, {}, {3}, {}, {sd::DataType::DOUBLE}); @@ -2388,7 +2388,7 @@ TEST_F(DeclarableOpsTests5, confusion_matrix_test4) { /////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, ZeroFraction_1) { - auto x = NDArrayFactory::create('c', {3, 4, 2}, {0, 20, 30, 0, 50, 0, + auto x = NDArrayFactory::create( {3, 4, 2}, {0, 20, 30, 0, 50, 0, 70, 0, 90, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 21, 22, 23, 24}); @@ -2406,7 +2406,7 @@ TEST_F(DeclarableOpsTests5, ZeroFraction_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, ZeroFraction_2) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {5.5, 0., 0.3, 5.5, 8.6, 0., 0., 0.4}); + auto x = NDArrayFactory::create( {2, 2, 2}, {5.5, 0., 0.3, 5.5, 8.6, 0., 0., 0.4}); sd::ops::zero_fraction op; auto res = op.evaluate({&x}, {}, {}); @@ -2421,7 +2421,7 @@ TEST_F(DeclarableOpsTests5, ZeroFraction_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, ZeroFraction_3) { - auto x = NDArrayFactory::create('f', {2, 2, 2}, {5.5, 0., 0.3, 5.5, 8.6, 0., 0., 0.4}); + auto x = NDArrayFactory::create( {2, 2, 2}, {5.5, 0., 0.3, 5.5, 8.6, 0., 0., 0.4}, sd::kArrayOrderFortran); sd::ops::zero_fraction op; auto res = op.evaluate({&x}, {}, {}); @@ -2436,11 +2436,11 @@ TEST_F(DeclarableOpsTests5, ZeroFraction_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, XWPlusB_1) { - auto x = NDArrayFactory::create('c', { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto y = NDArrayFactory::create('c', { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); - auto b = NDArrayFactory::create({ 100.f, 200.f }); + auto x = NDArrayFactory::create( { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); + auto y = NDArrayFactory::create( { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); + auto b = NDArrayFactory::vector({ 100.f, 200.f }); - auto exp = NDArrayFactory::create('c', { 2,2 }, { 173.f, 264.f, 310.f, 279.f }); + auto exp = NDArrayFactory::create( { 2,2 }, { 173.f, 264.f, 310.f, 279.f }); sd::ops::xw_plus_b op; auto result = op.evaluate({ &x, &y, &b }); @@ -2456,11 +2456,11 @@ TEST_F(DeclarableOpsTests5, XWPlusB_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, XWPlusB_2) { - auto x = NDArrayFactory::create('c', { 1, 2 }, { 1.f, 11.f }); - auto y = NDArrayFactory::create('c', { 2, 3 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); - auto b = NDArrayFactory::create({ 100.f, 200.f, 300.f }); + auto x = NDArrayFactory::create( { 1, 2 }, { 1.f, 11.f }); + auto y = NDArrayFactory::create( { 2, 3 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); + auto b = NDArrayFactory::vector({ 100.f, 200.f, 300.f }); - auto exp = NDArrayFactory::create('c', { 1, 3 }, { 166.f, 269.f, 326.f }); + auto exp = NDArrayFactory::create( { 1, 3 }, { 166.f, 269.f, 326.f }); sd::ops::xw_plus_b op; auto result = op.evaluate({ &x, &y, &b }, {}, {}); @@ -2476,11 +2476,11 @@ TEST_F(DeclarableOpsTests5, XWPlusB_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, XWPlusB_3) { - auto x = NDArrayFactory::create('c', { 1, 2 }, { 1.f, 11.f }); - auto y = NDArrayFactory::create('c', { 2, 1 }, { 11.f, 3.f }); - auto b = NDArrayFactory::create('c', { 1 }, { 200.f }); + auto x = NDArrayFactory::create( { 1, 2 }, { 1.f, 11.f }); + auto y = NDArrayFactory::create( { 2, 1 }, { 11.f, 3.f }); + auto b = NDArrayFactory::create( { 1 }, { 200.f }); - auto exp = NDArrayFactory::create('c', { 1,1 }, { 244.f }); + auto exp = NDArrayFactory::create( { 1,1 }, { 244.f }); sd::ops::xw_plus_b op; auto result = op.evaluate({ &x, &y, &b }); @@ -2494,11 +2494,11 @@ TEST_F(DeclarableOpsTests5, XWPlusB_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, XWPlusB_4) { - auto x = NDArrayFactory::create('f', { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto y = NDArrayFactory::create('f', { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); - auto b = NDArrayFactory::create({ 100.f, 200.f }); + auto x = NDArrayFactory::create( { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create( { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }, sd::kArrayOrderFortran); + auto b = NDArrayFactory::vector({ 100.f, 200.f }); - auto exp = NDArrayFactory::create('f', { 2,2 }, { 140.f, 287.f, 233.f, 351.f }); + auto exp = NDArrayFactory::create( { 2,2 }, { 140.f, 287.f, 233.f, 351.f }, sd::kArrayOrderFortran); sd::ops::xw_plus_b op; auto result = op.evaluate({ &x, &y, &b }); @@ -2513,14 +2513,14 @@ TEST_F(DeclarableOpsTests5, XWPlusB_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, XWPlusB_5) { - auto x = NDArrayFactory::create('c', { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto y = NDArrayFactory::create('c', { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); + auto x = NDArrayFactory::create( { 2,3 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); + auto y = NDArrayFactory::create( { 3,2 }, { 11.f, 3.f, 4.f, 5.f, 6.f, 2.f }); y = y.transpose(); - auto b = NDArrayFactory::create({ 100.f, 200.f }); + auto b = NDArrayFactory::vector({ 100.f, 200.f }); - auto exp = NDArrayFactory::create('c', { 2,2 }, { 173.f, 264.f, 310.f, 279.f }); + auto exp = NDArrayFactory::create( { 2,2 }, { 173.f, 264.f, 310.f, 279.f }); sd::ops::xw_plus_b op; @@ -2536,12 +2536,12 @@ TEST_F(DeclarableOpsTests5, XWPlusB_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, XWPlusB_6) { - auto x = NDArrayFactory::create('c', { 3, 2 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto y = NDArrayFactory::create('c', { 2, 1 }, { 11.f, 3.f }); + auto x = NDArrayFactory::create( { 3, 2 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); + auto y = NDArrayFactory::create( { 2, 1 }, { 11.f, 3.f }); - auto b = NDArrayFactory::create('c', { 1 }, { 100.f }); + auto b = NDArrayFactory::create( { 1 }, { 100.f }); - auto exp = NDArrayFactory::create('c', { 3, 1 }, { 144.f, 175.f, 173.f }); + auto exp = NDArrayFactory::create( { 3, 1 }, { 144.f, 175.f, 173.f }); sd::ops::xw_plus_b op; auto result = op.evaluate({ &x, &y, &b }); @@ -2556,12 +2556,12 @@ TEST_F(DeclarableOpsTests5, XWPlusB_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, XWPlusB_7) { - auto x = NDArrayFactory::create('c', { 3, 4 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f, 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); - auto y = NDArrayFactory::create('c', { 4, 5 }, { 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 3.f, 11.f, 3.f, 11.f }); + auto x = NDArrayFactory::create( { 3, 4 }, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f, 1.f, 11.f, 3.f, 14.f, 5.f, 6.f }); + auto y = NDArrayFactory::create( { 4, 5 }, { 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 11.f, 3.f, 3.f, 11.f, 3.f, 11.f }); - auto b = NDArrayFactory::create('c', { 5 }, { 100.f, 200.f, 300.f, 400.f, 500.f }); + auto b = NDArrayFactory::create( { 5 }, { 100.f, 200.f, 300.f, 400.f, 500.f }); - auto exp = NDArrayFactory::create('c', { 3, 5 }, { 219.f, 375.f, 531.f, 575.f, 731.f, 217.f, 317.f, 505.f, 517.f, 705.f, 248.f, 396.f, 496.f, 596.f, 696.f }); + auto exp = NDArrayFactory::create( { 3, 5 }, { 219.f, 375.f, 531.f, 575.f, 731.f, 217.f, 317.f, 505.f, 517.f, 705.f, 248.f, 396.f, 496.f, 596.f, 696.f }); sd::ops::xw_plus_b op; auto result = op.evaluate({ &x, &y, &b }); @@ -2576,7 +2576,7 @@ TEST_F(DeclarableOpsTests5, XWPlusB_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, StopGradient_1) { - auto x = NDArrayFactory::create('c', {2,3}, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f}); + auto x = NDArrayFactory::create( {2,3}, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f}); sd::ops::stop_gradient op; auto result = op.evaluate({&x}); @@ -2599,7 +2599,7 @@ TEST_F(DeclarableOpsTests5, StopGradient_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, StopGradient_2) { - auto x = NDArrayFactory::create('f', {2,3}, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f}); + auto x = NDArrayFactory::create( {2,3}, { 1.f, 11.f, 3.f, 14.f, 5.f, 6.f}, sd::kArrayOrderFortran); sd::ops::stop_gradient op; auto result = op.evaluate({&x}); @@ -2622,8 +2622,8 @@ TEST_F(DeclarableOpsTests5, StopGradient_2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test1) { - auto input = NDArrayFactory::create('c', {3, 3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, -5,5 ,-6,6, -7,7, -8,8, -9,9, -10,10, -11,11, -12,12, -13,13, 14}); - auto expOutput = NDArrayFactory::create('c', {3, 3, 3}, {-2.16985e+00,-1.69846e-01,-3.16985e+00, -1.31507e+00,-6.31507e+00,-3.15072e-01, -8.00046e+00,-4.58767e-04,-9.00046e+00, -1.31327e+00,-1.23133e+01,-3.13266e-01, -1.40000e+01,-1.13743e-06,-1.50000e+01, -1.31326e+00,-1.83133e+01,-3.13262e-01, -2.00000e+01,-2.81941e-09,-2.10000e+01, -1.31326e+00,-2.43133e+01,-3.13262e-01, -2.73133e+01,-1.31326e+00,-3.13262e-01}); + auto input = NDArrayFactory::create( {3, 3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, -5,5 ,-6,6, -7,7, -8,8, -9,9, -10,10, -11,11, -12,12, -13,13, 14}); + auto expOutput = NDArrayFactory::create( {3, 3, 3}, {-2.16985e+00,-1.69846e-01,-3.16985e+00, -1.31507e+00,-6.31507e+00,-3.15072e-01, -8.00046e+00,-4.58767e-04,-9.00046e+00, -1.31327e+00,-1.23133e+01,-3.13266e-01, -1.40000e+01,-1.13743e-06,-1.50000e+01, -1.31326e+00,-1.83133e+01,-3.13262e-01, -2.00000e+01,-2.81941e-09,-2.10000e+01, -1.31326e+00,-2.43133e+01,-3.13262e-01, -2.73133e+01,-1.31326e+00,-3.13262e-01}); sd::ops::log_softmax op; auto results = op.evaluate({&input}); @@ -2639,8 +2639,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test2) { - auto input = NDArrayFactory::create('c', {3, 3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, -5,5 ,-6,6, -7,7, -8,8, -9,9, -10,10, -11,11, -12,12, -13,13, 14}); - auto expOutput = NDArrayFactory::create('c', {3, 3, 3}, {-3.05095e+00,-3.04946e+00,-5.00705e+00, -5.09458e-02,-7.04946e+00,-7.04851e-03, -6.05095e+00,-4.94556e-02,-8.00705e+00, -3.04859e+00,-1.30000e+01,-3.04859e+00, -1.50486e+01,-2.37286e-06,-1.70486e+01, -4.85876e-02,-1.60000e+01,-4.85874e-02, -2.10000e+01,-3.04859e+00,-2.51269e+01, -7.96007e-10,-2.50486e+01,-2.12693e+00, -2.40000e+01,-4.85874e-02,-1.26928e-01}); + auto input = NDArrayFactory::create( {3, 3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, -5,5 ,-6,6, -7,7, -8,8, -9,9, -10,10, -11,11, -12,12, -13,13, 14}); + auto expOutput = NDArrayFactory::create( {3, 3, 3}, {-3.05095e+00,-3.04946e+00,-5.00705e+00, -5.09458e-02,-7.04946e+00,-7.04851e-03, -6.05095e+00,-4.94556e-02,-8.00705e+00, -3.04859e+00,-1.30000e+01,-3.04859e+00, -1.50486e+01,-2.37286e-06,-1.70486e+01, -4.85876e-02,-1.60000e+01,-4.85874e-02, -2.10000e+01,-3.04859e+00,-2.51269e+01, -7.96007e-10,-2.50486e+01,-2.12693e+00, -2.40000e+01,-4.85874e-02,-1.26928e-01}); sd::ops::log_softmax op; auto results = op.evaluate({&input}, {}, {1}); @@ -2656,8 +2656,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test3) { - auto input = NDArrayFactory::create('c', {3, 3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, -5,5 ,-6,6, -7,7, -8,8, -9,9, -10,10, -11,11, -12,12, -13,13, 14}); - auto expOutput = NDArrayFactory::create('c', {3, 3, 3}, {-2.16985e+00,-1.69846e-01,-3.16985e+00, -1.31507e+00,-6.31507e+00,-3.15072e-01, -8.00046e+00,-4.58767e-04,-9.00046e+00, -1.31327e+00,-1.23133e+01,-3.13266e-01, -1.40000e+01,-1.13743e-06,-1.50000e+01, -1.31326e+00,-1.83133e+01,-3.13262e-01, -2.00000e+01,-2.81941e-09,-2.10000e+01, -1.31326e+00,-2.43133e+01,-3.13262e-01, -2.73133e+01,-1.31326e+00,-3.13262e-01}); + auto input = NDArrayFactory::create( {3, 3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, -5,5 ,-6,6, -7,7, -8,8, -9,9, -10,10, -11,11, -12,12, -13,13, 14}); + auto expOutput = NDArrayFactory::create( {3, 3, 3}, {-2.16985e+00,-1.69846e-01,-3.16985e+00, -1.31507e+00,-6.31507e+00,-3.15072e-01, -8.00046e+00,-4.58767e-04,-9.00046e+00, -1.31327e+00,-1.23133e+01,-3.13266e-01, -1.40000e+01,-1.13743e-06,-1.50000e+01, -1.31326e+00,-1.83133e+01,-3.13262e-01, -2.00000e+01,-2.81941e-09,-2.10000e+01, -1.31326e+00,-2.43133e+01,-3.13262e-01, -2.73133e+01,-1.31326e+00,-3.13262e-01}); sd::ops::log_softmax op; auto results = op.evaluate({&input}, {}, {2}); @@ -2674,8 +2674,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test5) { - auto input = NDArrayFactory::create('c', {3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, 5}); - auto expOutput = NDArrayFactory::create('c', {3, 3}, {-2.16985, -0.16985, -3.16985, -1.31507, -6.31507, -0.31507, -9.31335, -1.31335, -0.31335}); + auto input = NDArrayFactory::create( {3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, 5}); + auto expOutput = NDArrayFactory::create( {3, 3}, {-2.16985, -0.16985, -3.16985, -1.31507, -6.31507, -0.31507, -9.31335, -1.31335, -0.31335}); sd::ops::log_softmax op; auto results = op.evaluate({&input}); @@ -2691,8 +2691,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test6) { - auto input = NDArrayFactory::create('c', {3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, 5}); - auto expOutput = NDArrayFactory::create('c', {3, 3}, {-3.05095,-3.04946,-7.12773, -0.05095,-7.04946,-2.12773, -6.05095,-0.04946,-0.12773}); + auto input = NDArrayFactory::create( {3, 3}, {-1, 1, -2, 2, -3, 3, -4, 4, 5}); + auto expOutput = NDArrayFactory::create( {3, 3}, {-3.05095,-3.04946,-7.12773, -0.05095,-7.04946,-2.12773, -6.05095,-0.04946,-0.12773}); sd::ops::log_softmax op; auto results = op.evaluate({&input}, {}, {0}); @@ -2708,8 +2708,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test7) { - auto input = NDArrayFactory::create('c', {1, 5}, {-1, 1, -2, 2, 3}); - auto expOutput = NDArrayFactory::create('c', {1, 5}, {-4.42414, -2.42414, -5.42414, -1.42414, -0.42414}); + auto input = NDArrayFactory::create( {1, 5}, {-1, 1, -2, 2, 3}); + auto expOutput = NDArrayFactory::create( {1, 5}, {-4.42414, -2.42414, -5.42414, -1.42414, -0.42414}); sd::ops::log_softmax op; auto results = op.evaluate({&input}); @@ -2725,8 +2725,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test8) { - auto input = NDArrayFactory::create('c', {1, 5}, {-1, 1, -2, 2, 3}); - auto expOutput = NDArrayFactory::create('c', {1, 5}, {0, 0, 0, 0, 0}); + auto input = NDArrayFactory::create( {1, 5}, {-1, 1, -2, 2, 3}); + auto expOutput = NDArrayFactory::create( {1, 5}, {0, 0, 0, 0, 0}); sd::ops::log_softmax op; auto results = op.evaluate({&input}, {}, {0}); @@ -2742,8 +2742,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test8) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test9) { - auto input = NDArrayFactory::create('c', {5, 1}, {-1, 1, -2, 2, 3}); - auto expOutput = NDArrayFactory::create('c', {5, 1}, {0, 0, 0, 0, 0}); + auto input = NDArrayFactory::create( {5, 1}, {-1, 1, -2, 2, 3}); + auto expOutput = NDArrayFactory::create( {5, 1}, {0, 0, 0, 0, 0}); sd::ops::log_softmax op; auto results = op.evaluate({&input}); @@ -2759,8 +2759,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test9) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test10) { - auto input = NDArrayFactory::create('c', {5, 1}, {-1, 1, -2, 2, 3}); - auto expOutput = NDArrayFactory::create('c', {5, 1}, {-4.42414, -2.42414, -5.42414, -1.42414, -0.42414}); + auto input = NDArrayFactory::create( {5, 1}, {-1, 1, -2, 2, 3}); + auto expOutput = NDArrayFactory::create( {5, 1}, {-4.42414, -2.42414, -5.42414, -1.42414, -0.42414}); sd::ops::log_softmax op; auto results = op.evaluate({&input}, {}, {0}); @@ -2776,8 +2776,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test10) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test11) { - auto input = NDArrayFactory::create('c', {5}, {-1, 1, -2, 2, 3}); - auto expOutput = NDArrayFactory::create('c', {5}, {-4.42414, -2.42414, -5.42414, -1.42414, -0.42414}); + auto input = NDArrayFactory::create( {5}, {-1, 1, -2, 2, 3}); + auto expOutput = NDArrayFactory::create( {5}, {-4.42414, -2.42414, -5.42414, -1.42414, -0.42414}); sd::ops::log_softmax op; auto results = op.evaluate({&input}); @@ -2793,8 +2793,8 @@ TEST_F(DeclarableOpsTests5, log_softmax_test11) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_test12) { - auto input = NDArrayFactory::create('c', {1, 4}, {0.1869, -1.4918, -0.6497, -0.8864}); - auto expOutput = NDArrayFactory::create('c', {1, 4}, {-0.6738, -2.3525, -1.5104, -1.7472}); + auto input = NDArrayFactory::create( {1, 4}, {0.1869, -1.4918, -0.6497, -0.8864}); + auto expOutput = NDArrayFactory::create( {1, 4}, {-0.6738, -2.3525, -1.5104, -1.7472}); for (int i = 0; i < 10; ++i) { @@ -2813,9 +2813,9 @@ TEST_F(DeclarableOpsTests5, log_softmax_test12) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_bp_test1) { - auto input = NDArrayFactory::create('c', {2, 2}, {1,2,3,4}); - auto epsilon = NDArrayFactory::create('c', {2, 2}, {0.1, 0.2, 0.3, 0.4}); - auto exp = NDArrayFactory::create('c', {2, 2}, {-0.07311,0.02689, -0.07311,0.02689}); + auto input = NDArrayFactory::create( {2, 2}, {1,2,3,4}); + auto epsilon = NDArrayFactory::create( {2, 2}, {0.1, 0.2, 0.3, 0.4}); + auto exp = NDArrayFactory::create( {2, 2}, {-0.07311,0.02689, -0.07311,0.02689}); sd::ops::log_softmax_bp op; auto results = op.evaluate({&input, &epsilon}); @@ -2831,9 +2831,9 @@ TEST_F(DeclarableOpsTests5, log_softmax_bp_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, log_softmax_bp_test2) { - auto input = NDArrayFactory::create('c', {2, 2}, {1,2,3,4}); - auto epsilon = NDArrayFactory::create('c', {2, 2}, {0.1, 0.2, 0.3, 0.4}); - auto exp = NDArrayFactory::create('c', {2, 2}, {-0.17616, -0.17616, 0.02384, 0.02384}); + auto input = NDArrayFactory::create( {2, 2}, {1,2,3,4}); + auto epsilon = NDArrayFactory::create( {2, 2}, {0.1, 0.2, 0.3, 0.4}); + auto exp = NDArrayFactory::create( {2, 2}, {-0.17616, -0.17616, 0.02384, 0.02384}); sd::ops::log_softmax_bp op; auto results = op.evaluate({&input, &epsilon}, {}, {0}); @@ -2849,9 +2849,9 @@ TEST_F(DeclarableOpsTests5, log_softmax_bp_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, ELU_1) { - auto input = NDArrayFactory::create('c', {2, 2, 2}, { -1., 2. , 1.5, -1.4, 1., 2., 2., 1.}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, { -0.63212055, 2. , 1.5, -0.753403, 1., 2., 2., 1.}); - auto res = NDArrayFactory::create('c', {2, 2, 2}); + auto input = NDArrayFactory::create( {2, 2, 2}, { -1., 2. , 1.5, -1.4, 1., 2., 2., 1.}); + auto exp = NDArrayFactory::create( {2, 2, 2}, { -0.63212055, 2. , 1.5, -0.753403, 1., 2., 2., 1.}); + auto res = NDArrayFactory::create( {2, 2, 2}); input.applyScalar(sd::scalar::ELU, 1.f, res); @@ -2861,7 +2861,7 @@ TEST_F(DeclarableOpsTests5, ELU_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, L2_Loss_1) { - auto input = NDArrayFactory::create('c', {2, 2, 2}, { -1., 2. , 1.5, -1.4, 1., 2., 2., 1.}); + auto input = NDArrayFactory::create( {2, 2, 2}, { -1., 2. , 1.5, -1.4, 1., 2., 2., 1.}); double exp(9.605); sd::ops::l2_loss op; @@ -2905,12 +2905,12 @@ TEST_F(DeclarableOpsTests5, L2_Loss_3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, LogPoissonLoss_1) { - auto weights = NDArrayFactory::create('c', {1, 1}, {1}); + auto weights = NDArrayFactory::create( {1, 1}, {1}); - auto input = NDArrayFactory::create('c', {2, 2, 2}, { -1., 2. , 1.5, -1.4, 1., 2., 2., 1.}); - auto targets = NDArrayFactory::create('c', {2, 2, 2}, {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}); + auto input = NDArrayFactory::create( {2, 2, 2}, { -1., 2. , 1.5, -1.4, 1., 2., 2., 1.}); + auto targets = NDArrayFactory::create( {2, 2, 2}, {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1.3678794, 5.389056, 2.981689, 1.6465969, 1.7182817, 5.389056, 5.389056, 1.7182817}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1.3678794, 5.389056, 2.981689, 1.6465969, 1.7182817, 5.389056, 5.389056, 1.7182817}); sd::ops::log_poisson_loss op; auto results = op.evaluate({&input, &weights, &targets}, {}, {0}); @@ -2926,12 +2926,12 @@ TEST_F(DeclarableOpsTests5, LogPoissonLoss_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, LogPoissonLoss_2) { - auto weights = NDArrayFactory::create('c', {1, 1}, {1}); + auto weights = NDArrayFactory::create( {1, 1}, {1}); - auto input = NDArrayFactory::create('c', {2, 2, 2}, { -1., 2. , 1.5, -1.4, 1., 2., 2., 1.}); - auto targets = NDArrayFactory::create('c', {2, 2, 2}, {2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0}); + auto input = NDArrayFactory::create( {2, 2, 2}, { -1., 2. , 1.5, -1.4, 1., 2., 2., 1.}); + auto targets = NDArrayFactory::create( {2, 2, 2}, {2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {3.0196857, 4.0408626, 2.1334953, 3.6984034, 1.3700882, 4.0408626, 4.0408626, 1.3700882}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {3.0196857, 4.0408626, 2.1334953, 3.6984034, 1.3700882, 4.0408626, 4.0408626, 1.3700882}); sd::ops::log_poisson_loss op; auto results = op.evaluate({&input, &weights, &targets}, {}, {0, 1}); @@ -2947,14 +2947,14 @@ TEST_F(DeclarableOpsTests5, LogPoissonLoss_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, NormalizeMoments_1) { - auto means = NDArrayFactory::create('c', {2, 3, 4}, { 11., 3., 14., 5., + auto means = NDArrayFactory::create( {2, 3, 4}, { 11., 3., 14., 5., 6., 9., 3.5, 7., 21., 3., 14., 15., 6., 9., 3.5, 7., 11., 13., 14., 5., 16., 9., 13.5, 7.}); - auto deviance = NDArrayFactory::create('c', {2, 3, 4}, { 21., 13., 24., 15., + auto deviance = NDArrayFactory::create( {2, 3, 4}, { 21., 13., 24., 15., 16., 19., 13.5, 17., 31., 13., 24., 25., 16., 19., 13.5, 17., @@ -2963,7 +2963,7 @@ TEST_F(DeclarableOpsTests5, NormalizeMoments_1) { auto counts = NDArrayFactory::create(2.0); - auto expMeans = NDArrayFactory::create('c', {2, 3, 4}, { + auto expMeans = NDArrayFactory::create( {2, 3, 4}, { 5.5, 1.5, 7., 2.5, 3., 4.5, 1.75, 3.5, 10.5, 1.5, 7., 7.5, @@ -2971,7 +2971,7 @@ TEST_F(DeclarableOpsTests5, NormalizeMoments_1) { 5.5, 6.5, 7., 2.5, 8., 4.5, 6.75, 3.5}); - auto expDeviance = NDArrayFactory::create('c', {2, 3, 4}, { + auto expDeviance = NDArrayFactory::create( {2, 3, 4}, { -19.75, 4.25, -37., 1.25, -1., -10.75, 3.6875, -3.75, -94.75, 4.25, -37., -43.75, @@ -2999,14 +2999,14 @@ TEST_F(DeclarableOpsTests5, NormalizeMoments_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, NormalizeMoments_2) { - auto means = NDArrayFactory::create('c', {3, 2, 4}, { 11., 3., 14., 5., + auto means = NDArrayFactory::create( {3, 2, 4}, { 11., 3., 14., 5., 6., 9., 3.5, 7., 21., 3., 14., 15., 6., 9., 3.5, 7., 11., 13., 14., 5., 16., 9., 13.5, 7.}); - auto deviance = NDArrayFactory::create('c', {3, 2, 4}, { 21., 13., 24., 15., + auto deviance = NDArrayFactory::create( {3, 2, 4}, { 21., 13., 24., 15., 16., 19., 13.5, 17., 31., 13., 24., 25., 16., 19., 13.5, 17., @@ -3015,14 +3015,14 @@ TEST_F(DeclarableOpsTests5, NormalizeMoments_2) { auto counts = NDArrayFactory::create(12.0); - auto expMeans = NDArrayFactory::create('c', {3, 2, 4}, { 0.9166667, 0.25, 1.1666667, 0.4166667, + auto expMeans = NDArrayFactory::create( {3, 2, 4}, { 0.9166667, 0.25, 1.1666667, 0.4166667, 0.5, 0.75, 0.2916667, 0.5833334, 1.75, 0.25, 1.1666667, 1.25, 0.5, 0.75, 0.2916667, 0.5833334, 0.9166667, 1.0833334, 1.1666667, 0.4166667, 1.3333334, 0.75, 1.125, 0.5833334}); - auto expDeviance = NDArrayFactory::create('c', {3, 2, 4}, { + auto expDeviance = NDArrayFactory::create( {3, 2, 4}, { 0.9097222, 1.0208334, 0.6388887, 1.0763888, 1.0833334, 1.0208334, 1.0399306, 1.076389, -0.4791665, 1.0208334, 0.6388887, 0.5208335, @@ -3050,14 +3050,14 @@ TEST_F(DeclarableOpsTests5, NormalizeMoments_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, NormalizeMoments_3) { - auto means = NDArrayFactory::create('c', {3, 2, 4}, { 11., 3., 14., 5., + auto means = NDArrayFactory::create( {3, 2, 4}, { 11., 3., 14., 5., 6., 9., 3.5, 7., 21., 3., 14., 15., 6., 9., 3.5, 7., 11., 13., 14., 5., 16., 9., 13.5, 7.}); - auto deviance = NDArrayFactory::create('c', {3, 2, 4}, { 21., 13., 24., 15., + auto deviance = NDArrayFactory::create( {3, 2, 4}, { 21., 13., 24., 15., 16., 19., 13.5, 17., 31., 13., 24., 25., 16., 19., 13.5, 17., @@ -3066,14 +3066,14 @@ TEST_F(DeclarableOpsTests5, NormalizeMoments_3) { auto counts = NDArrayFactory::create(12.0); double shift = 10.0; - auto expMeans = NDArrayFactory::create('c', {3, 2, 4}, { 10.9166667, 10.25, 11.1666667, 10.4166667, + auto expMeans = NDArrayFactory::create( {3, 2, 4}, { 10.9166667, 10.25, 11.1666667, 10.4166667, 10.5, 10.75, 10.2916667, 10.5833334, 11.75, 10.25, 11.1666667, 11.25, 10.5, 10.75, 10.2916667, 10.5833334, 10.9166667, 11.0833334, 11.1666667, 10.4166667, 11.3333334, 10.75, 11.125, 10.5833334}); - auto expDeviance = NDArrayFactory::create('c', {3, 2, 4}, { + auto expDeviance = NDArrayFactory::create( {3, 2, 4}, { 0.9097222, 1.0208334, 0.6388887, 1.0763888, 1.0833334, 1.0208334, 1.0399306, 1.076389, -0.4791665, 1.0208334, 0.6388887, 0.5208335, From a15c0c564d0f8f1eadf3ba722076cb48d5d16dbd Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 19 Jun 2020 12:22:36 +0300 Subject: [PATCH 59/99] Finished with the fifth test file and fixed the sixth test file. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests5.cpp | 26 +- .../layers_tests/DeclarableOpsTests6.cpp | 725 +++++++++--------- 2 files changed, 375 insertions(+), 376 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp index f5f93c3a1766..84147759faa5 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp @@ -772,7 +772,7 @@ TEST_F(DeclarableOpsTests5, gatherNd_test6) { auto input = NDArrayFactory::create( {4}, {1,2,3,4}); std::vector shape = {1}; - auto indices = NDArrayFactory::create('c', shape, {2}); + auto indices = NDArrayFactory::create(shape, {2}); auto expected = NDArrayFactory::create(3.); sd::ops::gather_nd op; @@ -2244,10 +2244,10 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test4) { auto x = NDArrayFactory::create( {2, 2, 3, 4}); x.linspace(1); std::vector shape = {4}; - auto scale = NDArrayFactory::create('c', shape); - auto offset = NDArrayFactory::create('c', shape); - auto mean = NDArrayFactory::create('c', shape); - auto variance = NDArrayFactory::create('c', shape); + auto scale = NDArrayFactory::create(shape); + auto offset = NDArrayFactory::create(shape); + auto mean = NDArrayFactory::create(shape); + auto variance = NDArrayFactory::create(shape); scale = 0.5; offset = 2.; @@ -2255,8 +2255,8 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test4) { variance = 5.; auto expY = NDArrayFactory::create( {2, 2, 3, 4}, {-3.36602688, -3.14244223, -2.91885757, -2.6952734 , -2.47168875, -2.24810457, -2.02451992, -1.80093551, -1.57735109, -1.35376668, -1.13018227, -0.90659785, -0.68301344, -0.45942879, -0.23584437, -0.01225996, 0.21132445, 0.43490887, 0.65849328, 0.88207781, 1.10566223, 1.32924664, 1.55283117, 1.77641559, 2. , 2.22358441, 2.44716883, 2.67075348, 2.89433765, 3.11792231, 3.34150672, 3.56509113, 3.78867555, 4.01225996, 4.23584461, 4.45942879, 4.68301344, 4.90659809, 5.13018227, 5.35376644, 5.57735109, 5.80093575, 6.02451992, 6.24810457, 6.47168875, 6.6952734 , 6.91885757, 7.14244223}); - auto expBatchMean = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); - auto expBatchVar = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); + auto expBatchMean = NDArrayFactory::create(shape, {0., 0., 0., 0.}); + auto expBatchVar = NDArrayFactory::create(shape, {0., 0., 0., 0.}); sd::ops::fused_batch_norm op; @@ -2279,10 +2279,10 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test5) { auto x = NDArrayFactory::create( {2, 2, 3, 4}); x.linspace(1); std::vector shape = {4}; - auto scale = NDArrayFactory::create('c', shape); - auto offset = NDArrayFactory::create('c', shape); - auto mean = NDArrayFactory::create('c', shape); - auto variance = NDArrayFactory::create('c', shape); + auto scale = NDArrayFactory::create(shape); + auto offset = NDArrayFactory::create(shape); + auto mean = NDArrayFactory::create(shape); + auto variance = NDArrayFactory::create(shape); scale = 0.5; offset = 2.; @@ -2290,8 +2290,8 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test5) { variance = 5.; auto expY = NDArrayFactory::create( {2, 2, 3, 4}, {-3.33992958e+00, -3.11743259e+00, -2.89493513e+00, -2.67243814e+00, -2.44994116e+00, -2.22744417e+00, -2.00494719e+00, -1.78244996e+00, -1.55995297e+00, -1.33745599e+00, -1.11495876e+00, -8.92461777e-01, -6.69964790e-01, -4.47467566e-01, -2.24970579e-01, -2.47359276e-03, 2.20023513e-01, 4.42520618e-01, 6.65017605e-01, 8.87514710e-01, 1.11001182e+00, 1.33250880e+00, 1.55500591e+00, 1.77750289e+00, 2.00000000e+00, 2.22249699e+00, 2.44499421e+00, 2.66749120e+00, 2.88998818e+00, 3.11248541e+00, 3.33498240e+00, 3.55747938e+00, 3.77997637e+00, 4.00247383e+00, 4.22497082e+00, 4.44746780e+00, 4.66996479e+00, 4.89246178e+00, 5.11495876e+00, 5.33745575e+00, 5.55995274e+00, 5.78244972e+00, 6.00494719e+00, 6.22744417e+00, 6.44994116e+00, 6.67243814e+00, 6.89493513e+00, 7.11743259e+00}); - auto expBatchMean = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); - auto expBatchVar = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); + auto expBatchMean = NDArrayFactory::create(shape, {0., 0., 0., 0.}); + auto expBatchVar = NDArrayFactory::create(shape, {0., 0., 0., 0.}); sd::ops::fused_batch_norm op; diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp index e59c8be98cf7..e1bd4671d618 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp @@ -40,12 +40,12 @@ class DeclarableOpsTests6 : public testing::Test { TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_1) { - auto matrix = NDArrayFactory::create('c', {5, 2}); - auto b = NDArrayFactory::create('c', {1}, {0.}); - auto e = NDArrayFactory::create('c', {1}, {1}); - auto s = NDArrayFactory::create('c', {1}, {1}); + auto matrix = NDArrayFactory::create( {5, 2}); + auto b = NDArrayFactory::create( {1}, {0.}); + auto e = NDArrayFactory::create( {1}, {1}); + auto s = NDArrayFactory::create( {1}, {1}); - auto exp = NDArrayFactory::create('c', {2}, {1.0f, 2.0f}); + auto exp = NDArrayFactory::create( {2}, {1.0f, 2.0f}); matrix.linspace(1); @@ -61,12 +61,12 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_1) { } TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_2) { - auto matrix = NDArrayFactory::create('c', {5, 2}); - auto b = NDArrayFactory::create('c', {1}, {0.0f}); - auto e = NDArrayFactory::create('c', {1}, {1.0f}); - auto s = NDArrayFactory::create('c', {1}, {1.0f}); + auto matrix = NDArrayFactory::create( {5, 2}); + auto b = NDArrayFactory::create( {1}, {0.0f}); + auto e = NDArrayFactory::create( {1}, {1.0f}); + auto s = NDArrayFactory::create( {1}, {1.0f}); - auto exp = NDArrayFactory::create('c', {2}, {1.0f, 2.0f}); + auto exp = NDArrayFactory::create( {2}, {1.0f, 2.0f}); matrix.linspace(1); @@ -87,7 +87,7 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_3) { auto e = NDArrayFactory::create(0); auto s = NDArrayFactory::create(1.0); - //auto exp = NDArrayFactory::create('c', {2}, {1.0f, 2.0f}); + //auto exp = NDArrayFactory::create( {2}, {1.0f, 2.0f}); //matrix.linspace(1); @@ -104,10 +104,10 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_3) { } TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_4) { - auto matrix = NDArrayFactory::create('c', {1}, {10}); - auto b = NDArrayFactory::create('c', {1}, {0.}); - auto e = NDArrayFactory::create('c', {1}, {0.}); - auto s = NDArrayFactory::create('c', {1}, {1.0}); + auto matrix = NDArrayFactory::create( {1}, {10}); + auto b = NDArrayFactory::create( {1}, {0.}); + auto e = NDArrayFactory::create( {1}, {0.}); + auto s = NDArrayFactory::create( {1}, {1.0}); auto exp = NDArrayFactory::create(10); @@ -127,12 +127,12 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_4) { TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_04) { int z = 0; - auto matrix = NDArrayFactory::create('c', {1}, {10}); - auto b = NDArrayFactory::create('c', {1}, {1}); - auto e = NDArrayFactory::create('c', {1}, {z}); - auto s = NDArrayFactory::create('c', {1}, {1}); + auto matrix = NDArrayFactory::create( {1}, {10}); + auto b = NDArrayFactory::create( {1}, {1}); + auto e = NDArrayFactory::create( {1}, {z}); + auto s = NDArrayFactory::create( {1}, {1}); sd::ops::ones_as opOnes; - //auto exp = NDArrayFactory::create('c', {2}, {1.0f, 2.0f}); + //auto exp = NDArrayFactory::create( {2}, {1.0f, 2.0f}); auto onesRes = opOnes.evaluate({&matrix}); //matrix.linspace(1); ASSERT_EQ(onesRes.status(), Status::OK()); @@ -169,12 +169,12 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_04) { } TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_5) { - auto matrix = NDArrayFactory::create('c', {3, 2, 2}); - auto b = NDArrayFactory::create('c', {1}, {2}); - auto e = NDArrayFactory::create('c', {1}, {3}); - auto s = NDArrayFactory::create('c', {1}, {1}); + auto matrix = NDArrayFactory::create( {3, 2, 2}); + auto b = NDArrayFactory::create( {1}, {2}); + auto e = NDArrayFactory::create( {1}, {3}); + auto s = NDArrayFactory::create( {1}, {1}); - auto exp = NDArrayFactory::create('c', {2,2}, {0.0f, 0.0f, 0., 0.}); + auto exp = NDArrayFactory::create( {2,2}, {0.0f, 0.0f, 0., 0.}); //matrix.linspace(1); @@ -189,12 +189,12 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_5) { } TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_6) { - auto matrix = NDArrayFactory::create('c', {3, 2, 2}); - auto b = NDArrayFactory::create('c', {1}, {2}); - auto e = NDArrayFactory::create('c', {1}, {3}); - auto s = NDArrayFactory::create('c', {1}, {1}); + auto matrix = NDArrayFactory::create( {3, 2, 2}); + auto b = NDArrayFactory::create( {1}, {2}); + auto e = NDArrayFactory::create( {1}, {3}); + auto s = NDArrayFactory::create( {1}, {1}); - auto exp = NDArrayFactory::create('c', {1,2,2}, {0.0f, 0.0f, 0., 0.}); + auto exp = NDArrayFactory::create( {1,2,2}, {0.0f, 0.0f, 0., 0.}); //matrix.linspace(1); @@ -210,12 +210,12 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_6) { TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_7) { int zero = 0; - auto matrix = NDArrayFactory::create('c', {5, 4}); - auto b = NDArrayFactory::create('c', {1}, {zero}); - auto e = NDArrayFactory::create('c', {1}, {zero}); - auto s = NDArrayFactory::create('c', {1}, {1}); + auto matrix = NDArrayFactory::create( {5, 4}); + auto b = NDArrayFactory::create( {1}, {zero}); + auto e = NDArrayFactory::create( {1}, {zero}); + auto s = NDArrayFactory::create( {1}, {1}); - //auto exp = NDArrayFactory::create('c', {1,2,2}, {0.0f, 0.0f, 0., 0.}); + //auto exp = NDArrayFactory::create( {1,2,2}, {0.0f, 0.0f, 0., 0.}); //matrix.linspace(1); @@ -231,12 +231,12 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_7) { TEST_F(DeclarableOpsTests6, Test_StridedSlice_BP_1) { int zero = 0; - auto matrix = NDArrayFactory::create('c', {5, 4}); -// auto b = NDArrayFactory::create('c', {1}, {zero}); -// auto e = NDArrayFactory::create('c', {1}, {zero}); -// auto s = NDArrayFactory::create('c', {1}, {1}); + auto matrix = NDArrayFactory::create( {5, 4}); +// auto b = NDArrayFactory::create( {1}, {zero}); +// auto e = NDArrayFactory::create( {1}, {zero}); +// auto s = NDArrayFactory::create( {1}, {1}); - auto grad = NDArrayFactory::create('c', {5}); + auto grad = NDArrayFactory::create( {5}); matrix.linspace(1); grad.linspace(1); @@ -253,12 +253,12 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_BP_1) { TEST_F(DeclarableOpsTests6, Test_StridedSlice_BP_2) { int zero = 0; - auto matrix = NDArrayFactory::create('c', {1, 2}); -// auto b = NDArrayFactory::create('c', {1}, {zero}); -// auto e = NDArrayFactory::create('c', {1}, {zero}); -// auto s = NDArrayFactory::create('c', {1}, {1}); + auto matrix = NDArrayFactory::create( {1, 2}); +// auto b = NDArrayFactory::create( {1}, {zero}); +// auto e = NDArrayFactory::create( {1}, {zero}); +// auto s = NDArrayFactory::create( {1}, {1}); - auto grad = NDArrayFactory::create('c', {1}, {1.}); + auto grad = NDArrayFactory::create( {1}, {1.}); matrix.linspace(1); //grad.linspace(1); @@ -275,12 +275,12 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_BP_2) { TEST_F(DeclarableOpsTests6, Test_StridedSlice_BP_3) { int zero = 0; - auto matrix = NDArrayFactory::create('c', {4, 8192}); -// auto b = NDArrayFactory::create('c', {1}, {zero}); -// auto e = NDArrayFactory::create('c', {1}, {zero}); -// auto s = NDArrayFactory::create('c', {1}, {1}); + auto matrix = NDArrayFactory::create( {4, 8192}); +// auto b = NDArrayFactory::create( {1}, {zero}); +// auto e = NDArrayFactory::create( {1}, {zero}); +// auto s = NDArrayFactory::create( {1}, {1}); - auto grad = NDArrayFactory::create('c', {4, 256}); + auto grad = NDArrayFactory::create( {4, 256}); matrix.linspace(1); grad.linspace(1); @@ -296,8 +296,8 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_BP_3) { } TEST_F(DeclarableOpsTests6, Test_Simple_Scalar_1) { - auto x = NDArrayFactory::create('c', {1, 1}, {2.0f}); - auto exp = NDArrayFactory::create('c', {1, 1}, {4.0f}); + auto x = NDArrayFactory::create( {1, 1}, {2.0f}); + auto exp = NDArrayFactory::create( {1, 1}, {4.0f}); sd::ops::test_scalar op; auto result = op.evaluate({&x}, {}, {}); @@ -313,8 +313,8 @@ TEST_F(DeclarableOpsTests6, Test_Simple_Scalar_1) { } TEST_F(DeclarableOpsTests6, Test_Order_1) { - auto x = NDArrayFactory::create('f', {2, 3}); - auto exp = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 3}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create( {2, 3}); x.linspace(1); exp.linspace(1); @@ -330,8 +330,8 @@ TEST_F(DeclarableOpsTests6, Test_Order_1) { } TEST_F(DeclarableOpsTests6, cumSum_1) { - auto x = NDArrayFactory::create('c', {1, 4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {1, 4}, {1.f, 3.f, 6.f, 10.f}); + auto x = NDArrayFactory::create( {1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {1, 4}, {1.f, 3.f, 6.f, 10.f}); sd::ops::cumsum op; auto result = op.evaluate({&x}, {}, {0, 0}); @@ -346,8 +346,8 @@ TEST_F(DeclarableOpsTests6, cumSum_1) { } TEST_F(DeclarableOpsTests6, cumSum_2) { - auto x= NDArrayFactory::create('c', {2, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); - auto exp= NDArrayFactory::create('c', {2, 4}, {1.f, 3.f, 6.f, 10.f, 1.f, 3.f, 6.f, 10.f}); + auto x= NDArrayFactory::create( {2, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); + auto exp= NDArrayFactory::create( {2, 4}, {1.f, 3.f, 6.f, 10.f, 1.f, 3.f, 6.f, 10.f}); sd::ops::cumsum op; auto result = op.evaluate({&x}, {}, {0, 0, 1}); @@ -363,8 +363,8 @@ TEST_F(DeclarableOpsTests6, cumSum_2) { } TEST_F(DeclarableOpsTests6, cumSum_3) { - auto x= NDArrayFactory::create('c', {2, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); - auto exp= NDArrayFactory::create('c', {2, 4}, {1.f, 2.f, 3.f, 4.f, 2.f, 4.f, 6.f, 8.f}); + auto x= NDArrayFactory::create( {2, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); + auto exp= NDArrayFactory::create( {2, 4}, {1.f, 2.f, 3.f, 4.f, 2.f, 4.f, 6.f, 8.f}); sd::ops::cumsum op; auto result = op.evaluate({&x}, {}, {0, 0, 0}); @@ -379,8 +379,8 @@ TEST_F(DeclarableOpsTests6, cumSum_3) { } TEST_F(DeclarableOpsTests6, cumSum_4) { - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto exp = NDArrayFactory::create('c', {3, 3}, {12., 15., 18., 11., 13., 15., 7., 8., 9.}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto exp = NDArrayFactory::create( {3, 3}, {12., 15., 18., 11., 13., 15., 7., 8., 9.}); sd::ops::cumsum op; auto result = op.evaluate({&x}, {}, {0, 1, 0}, {}, {}); @@ -395,8 +395,8 @@ TEST_F(DeclarableOpsTests6, cumSum_4) { } TEST_F(DeclarableOpsTests6, cumSum_5) { - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto exp = NDArrayFactory::create('c', {3, 3}, {6.f, 5.f, 3.f, 15.f, 11.f, 6.f, 24.f, 17.f, 9.f,}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto exp = NDArrayFactory::create( {3, 3}, {6.f, 5.f, 3.f, 15.f, 11.f, 6.f, 24.f, 17.f, 9.f,}); sd::ops::cumsum op; auto result = op.evaluate({&x}, {}, {0, 1, 1}, {}); @@ -410,8 +410,8 @@ TEST_F(DeclarableOpsTests6, cumSum_5) { } TEST_F(DeclarableOpsTests6, cumSum_6) { - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto exp = NDArrayFactory::create('c', {3, 3}, {11.f, 13.f, 15.f, 7.f, 8.f, 9.f, 0.f, 0.f, 0.f}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto exp = NDArrayFactory::create( {3, 3}, {11.f, 13.f, 15.f, 7.f, 8.f, 9.f, 0.f, 0.f, 0.f}); sd::ops::cumsum op; auto result = op.evaluate({&x}, {}, {1, 1, 0}, {}); @@ -425,8 +425,8 @@ TEST_F(DeclarableOpsTests6, cumSum_6) { } TEST_F(DeclarableOpsTests6, cumSum_7) { - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto exp = NDArrayFactory::create('c', {3, 3}, {5.f, 3.f, 0.f, 11.f, 6.f, 0.f, 17.f, 9.f, 0.f}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto exp = NDArrayFactory::create( {3, 3}, {5.f, 3.f, 0.f, 11.f, 6.f, 0.f, 17.f, 9.f, 0.f}); sd::ops::cumsum op; auto result = op.evaluate({&x}, {}, {1, 1, 1}, {}); @@ -440,9 +440,9 @@ TEST_F(DeclarableOpsTests6, cumSum_7) { } TEST_F(DeclarableOpsTests6, cumSum_8) { - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto axis = NDArrayFactory::create('c', {1}, {1}); - auto exp = NDArrayFactory::create('c', {3, 3}, {5.f, 3.f, 0.f, 11.f, 6.f, 0.f, 17.f, 9.f, 0.f}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto axis = NDArrayFactory::create( {1}, {1}); + auto exp = NDArrayFactory::create( {3, 3}, {5.f, 3.f, 0.f, 11.f, 6.f, 0.f, 17.f, 9.f, 0.f}); sd::ops::cumsum op; auto result = op.evaluate({&x, &axis}, {}, {1, 1}, {}); @@ -458,14 +458,14 @@ TEST_F(DeclarableOpsTests6, cumSum_8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, cumSum_9) { - auto inputC = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto inputC = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); auto axis = NDArrayFactory::create(1); - auto expFF = NDArrayFactory::create('c', {3, 5}, {1., 3., 6., 10., 15., 6., 13., 21., 30., 40., 11., 23., 36., 50., 65.}); - auto expTF = NDArrayFactory::create('c', {3, 5}, {0., 1., 3., 6., 10., 0., 6., 13., 21., 30., 0., 11., 23., 36., 50.}); + auto expFF = NDArrayFactory::create( {3, 5}, {1., 3., 6., 10., 15., 6., 13., 21., 30., 40., 11., 23., 36., 50., 65.}); + auto expTF = NDArrayFactory::create( {3, 5}, {0., 1., 3., 6., 10., 0., 6., 13., 21., 30., 0., 11., 23., 36., 50.}); - auto expFT = NDArrayFactory::create('c', {3, 5}, {15, 14, 12, 9, 5,40, 34, 27, 19, 10,65, 54, 42, 29, 15}); //+++ - auto expTT = NDArrayFactory::create('c', {3, 5}, {14, 12, 9, 5, 0,34, 27, 19, 10, 0,54, 42, 29, 15, 0}); + auto expFT = NDArrayFactory::create( {3, 5}, {15, 14, 12, 9, 5,40, 34, 27, 19, 10,65, 54, 42, 29, 15}); //+++ + auto expTT = NDArrayFactory::create( {3, 5}, {14, 12, 9, 5, 0,34, 27, 19, 10, 0,54, 42, 29, 15, 0}); int exclusive, reverse; @@ -510,7 +510,7 @@ TEST_F(DeclarableOpsTests6, cumSum_9) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, cumSum_10) { - auto x = NDArrayFactory::create('c', {4, 16, 16, 1}); + auto x = NDArrayFactory::create( {4, 16, 16, 1}); auto y = NDArrayFactory::create(-3); sd::ops::cumsum op; @@ -524,7 +524,7 @@ TEST_F(DeclarableOpsTests6, cumSum_10) { TEST_F(DeclarableOpsTests6, cumSum_11) { NDArray x('c', {3, 3, 3}, sd::DataType::DOUBLE); - auto exp = NDArrayFactory::create('c', {3,3,3}, {12., 15., 18.,11., 13., 15.,7., 8., 9., 39., 42., 45.,29., 31., 33.,16., 17., 18., 66., 69., 72.,47., 49., 51.,25., 26., 27.}); + auto exp = NDArrayFactory::create( {3,3,3}, {12., 15., 18.,11., 13., 15.,7., 8., 9., 39., 42., 45.,29., 31., 33.,16., 17., 18., 66., 69., 72.,47., 49., 51.,25., 26., 27.}); x.linspace(1); @@ -543,7 +543,7 @@ TEST_F(DeclarableOpsTests6, cumSum_11) { TEST_F(DeclarableOpsTests6, cumSum_12) { NDArray x('c', {3, 3, 3}, sd::DataType::DOUBLE); - auto exp = NDArrayFactory::create('c', {3,3,3}, {1., 2., 3.,5., 7., 9.,12., 15., 18., 10., 11., 12.,23., 25., 27.,39., 42., 45., 19., 20., 21.,41., 43., 45., 66., 69., 72.}); + auto exp = NDArrayFactory::create( {3,3,3}, {1., 2., 3.,5., 7., 9.,12., 15., 18., 10., 11., 12.,23., 25., 27.,39., 42., 45., 19., 20., 21.,41., 43., 45., 66., 69., 72.}); x.linspace(1); @@ -562,7 +562,7 @@ TEST_F(DeclarableOpsTests6, cumSum_12) { TEST_F(DeclarableOpsTests6, cumSum_13) { NDArray x('c', {3, 3, 3}, sd::DataType::DOUBLE); - auto exp = NDArrayFactory::create('c', {3,3,3}, {11., 13., 15.,7., 8., 9.,0., 0., 0., 29., 31., 33.,16., 17., 18.,0., 0., 0., 47., 49., 51.,25., 26., 27.,0., 0., 0.}); + auto exp = NDArrayFactory::create( {3,3,3}, {11., 13., 15.,7., 8., 9.,0., 0., 0., 29., 31., 33.,16., 17., 18.,0., 0., 0., 47., 49., 51.,25., 26., 27.,0., 0., 0.}); x.linspace(1); @@ -581,7 +581,7 @@ TEST_F(DeclarableOpsTests6, cumSum_13) { TEST_F(DeclarableOpsTests6, cumSum_14) { NDArray x('c', {3, 3, 3}, sd::DataType::DOUBLE); - auto exp = NDArrayFactory::create('c', {3,3,3}, {29., 31., 33.,35., 37., 39.,41., 43., 45., 19., 20., 21.,22., 23., 24.,25., 26., 27., 0., 0., 0.,0., 0., 0.,0., 0., 0.}); + auto exp = NDArrayFactory::create( {3,3,3}, {29., 31., 33.,35., 37., 39.,41., 43., 45., 19., 20., 21.,22., 23., 24.,25., 26., 27., 0., 0., 0.,0., 0., 0.,0., 0., 0.}); x.linspace(1); @@ -600,7 +600,7 @@ TEST_F(DeclarableOpsTests6, cumSum_14) { TEST_F(DeclarableOpsTests6, cumSum_15) { NDArray x('c', {3, 3, 3}, sd::DataType::DOUBLE); - auto exp = NDArrayFactory::create('c', {3,3,3}, {6., 5., 3.,15., 11., 6.,24., 17., 9., 33., 23., 12.,42., 29., 15.,51., 35., 18., 60., 41., 21.,69., 47., 24.,78., 53., 27.}); + auto exp = NDArrayFactory::create( {3,3,3}, {6., 5., 3.,15., 11., 6.,24., 17., 9., 33., 23., 12.,42., 29., 15.,51., 35., 18., 60., 41., 21.,69., 47., 24.,78., 53., 27.}); x.linspace(1); @@ -770,10 +770,10 @@ TEST_F(DeclarableOpsTests6, cumSum_20) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, TestMergeMaxIndex_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); - auto y = NDArrayFactory::create('c', {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); - auto z = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 20.f, 3.f, 40.f, 5.f, 60.f, 7.f, 80.f}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 1, 2, 1, 2, 1, 2}); + auto x = NDArrayFactory::create( {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto y = NDArrayFactory::create( {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); + auto z = NDArrayFactory::create( {2, 2, 2}, {1.f, 20.f, 3.f, 40.f, 5.f, 60.f, 7.f, 80.f}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1, 2, 1, 2, 1, 2, 1, 2}); sd::ops::mergemaxindex op; auto res = op.evaluate({&x, &y, &z}, {}, {}, {}); @@ -786,10 +786,10 @@ TEST_F(DeclarableOpsTests6, TestMergeMaxIndex_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, TestMergeMaxIndex_2) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 60.f, 7.f, 8.f}); - auto y = NDArrayFactory::create('c', {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); - auto z = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 20.f, 3.f, 40.f, 5.f, 6.f, 7.f, 80.f}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 1, 2, 1, 0, 1, 2}); + auto x = NDArrayFactory::create( {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 60.f, 7.f, 8.f}); + auto y = NDArrayFactory::create( {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); + auto z = NDArrayFactory::create( {2, 2, 2}, {1.f, 20.f, 3.f, 40.f, 5.f, 6.f, 7.f, 80.f}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1, 2, 1, 2, 1, 0, 1, 2}); sd::ops::mergemaxindex op; auto ress = op.evaluate({&x, &y, &z}, {}, {sd::DataType::INT64}); @@ -802,9 +802,9 @@ TEST_F(DeclarableOpsTests6, TestMergeMaxIndex_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, TestMergeMaxIndex_3) { - auto x1 = NDArrayFactory::create('c', {3}, {1.f, 0.f, 0.f}); - auto x2 = NDArrayFactory::create('c', {3}, {0.f, 1.f, 0.f}); - auto x3 = NDArrayFactory::create('c', {3}, {0.f, 0.f, 1.f}); + auto x1 = NDArrayFactory::create( {3}, {1.f, 0.f, 0.f}); + auto x2 = NDArrayFactory::create( {3}, {0.f, 1.f, 0.f}); + auto x3 = NDArrayFactory::create( {3}, {0.f, 0.f, 1.f}); NDArray z('c', {3}, sd::DataType::INT32); NDArray expZ('c', {3}, {0, 1, 2}, sd::DataType::INT32); @@ -818,8 +818,8 @@ TEST_F(DeclarableOpsTests6, TestMergeMaxIndex_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, TestDropout_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); - auto shape = NDArrayFactory::create({2, 2}); + auto x = NDArrayFactory::create( {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto shape = NDArrayFactory::vector({2, 2}); sd::ops::dropout op; auto res = op.evaluate({&x, &shape}, {0.2f}, {113}); @@ -833,9 +833,9 @@ TEST_F(DeclarableOpsTests6, TestDropout_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, TestMod_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); - auto y = NDArrayFactory::create('c', {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1, 0, 3, 0, 5, 0, 7, 0}); + auto x = NDArrayFactory::create( {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto y = NDArrayFactory::create( {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1, 0, 3, 0, 5, 0, 7, 0}); sd::ops::mod op; auto res = op.evaluate({&x, &y}); @@ -850,10 +850,10 @@ TEST_F(DeclarableOpsTests6, TestMod_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, TestMod_BP_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); - auto y = NDArrayFactory::create('c', {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); - auto eps = NDArrayFactory::create('c', {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}); + auto x = NDArrayFactory::create( {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto y = NDArrayFactory::create( {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); + auto eps = NDArrayFactory::create( {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); + auto exp = NDArrayFactory::create( {2, 2, 2}); sd::ops::mod_bp op; auto res = op.evaluate({&x, &y, &eps}); @@ -869,9 +869,9 @@ TEST_F(DeclarableOpsTests6, TestMod_BP_1) { /////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, TestRank_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); - auto y = NDArrayFactory::create('c', {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); - auto eps = NDArrayFactory::create('c', {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); + auto x = NDArrayFactory::create( {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto y = NDArrayFactory::create( {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); + auto eps = NDArrayFactory::create( {2, 2, 2}, {10.f, 2.f, 30.f, 4.f, 50.f, 6.f, 70.f, 8.f}); auto exp = NDArrayFactory::create(3); sd::ops::rank op; @@ -883,9 +883,9 @@ TEST_F(DeclarableOpsTests6, TestRank_1) { } TEST_F(DeclarableOpsTests6, TestDropout_2) { -// auto x0 = NDArrayFactory::create('c', {10, 10}); -// auto x1 = NDArrayFactory::create('c', {10, 10}); - auto x = NDArrayFactory::create('c', {3, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f}); +// auto x0 = NDArrayFactory::create( {10, 10}); +// auto x1 = NDArrayFactory::create( {10, 10}); + auto x = NDArrayFactory::create( {3, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f}); sd::ops::dropout op; @@ -897,10 +897,10 @@ TEST_F(DeclarableOpsTests6, TestDropout_2) { } TEST_F(DeclarableOpsTests6, TestDropout_3) { -// auto x0 = NDArrayFactory::create('c', {10, 10}); -// auto x1 = NDArrayFactory::create('c', {10, 10}); - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); - auto shape = NDArrayFactory::create({1, 2}); +// auto x0 = NDArrayFactory::create( {10, 10}); +// auto x1 = NDArrayFactory::create( {10, 10}); + auto x = NDArrayFactory::create( {2, 2, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto shape = NDArrayFactory::vector({1, 2}); sd::ops::dropout op; @@ -914,9 +914,9 @@ TEST_F(DeclarableOpsTests6, TestDropout_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MaxPoolWithArgmax_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 4}, {5.5, 0., 0.3, 5.5,1.5, 0., 1.3, 6.5,8.6, 0., 0., 0.4,2.5, 1., 0.3, 4.5, + auto x = NDArrayFactory::create( {2, 2, 2, 4}, {5.5, 0., 0.3, 5.5,1.5, 0., 1.3, 6.5,8.6, 0., 0., 0.4,2.5, 1., 0.3, 4.5, 1.5, 1., 1.3, 1.5, 3.5, 0., 1.3, 2.5, 2.6, 2., 3., 1.4, 4.5, 1., 0.3, 0.5}); - auto expI = NDArrayFactory::create('c', {2, 2, 2, 4}, {0, 1, 2, 3,4, 5, 6, 7,8, 9, 10, 11,12, 13, 14, 15, + auto expI = NDArrayFactory::create( {2, 2, 2, 4}, {0, 1, 2, 3,4, 5, 6, 7,8, 9, 10, 11,12, 13, 14, 15, 0, 1, 2, 3,4, 5, 6, 7,8, 9, 10, 11,12, 13, 14, 15}); sd::ops::max_pool_with_argmax op; @@ -937,16 +937,16 @@ TEST_F(DeclarableOpsTests6, MaxPoolWithArgmax_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, SufficientStatistics_1) { -// auto x0 = NDArrayFactory::create('c', {10, 10}); -// auto x1 = NDArrayFactory::create('c', {10, 10}); - auto x = NDArrayFactory::create('c', {2, 2, 2, 4}, {5.5, 0., 0.3, 5.5,1.5, 0., 1.3, 6.5,8.6, 0., 0., 0.4,2.5, 1., 0.3, 4.5,1.5, 1., +// auto x0 = NDArrayFactory::create( {10, 10}); +// auto x1 = NDArrayFactory::create( {10, 10}); + auto x = NDArrayFactory::create( {2, 2, 2, 4}, {5.5, 0., 0.3, 5.5,1.5, 0., 1.3, 6.5,8.6, 0., 0., 0.4,2.5, 1., 0.3, 4.5,1.5, 1., 1.3, 1.5,3.5, 0., 1.3, 2.5,2.6, 2., 3., 1.4,4.5, 1., 0.3, 0.5}); // ------------------------------------ double count = 8.0; - auto sumExp = NDArrayFactory::create({30.2, 5., 7.8, 22.8}); - auto sqrExp = NDArrayFactory::create({154.22, 7., 14.34, 103.62}); + auto sumExp = NDArrayFactory::vector({30.2, 5., 7.8, 22.8}); + auto sqrExp = NDArrayFactory::vector({154.22, 7., 14.34, 103.62}); - auto axis = NDArrayFactory::create({0, 1, 2}); + auto axis = NDArrayFactory::vector({0, 1, 2}); sd::ops::sufficient_statistics op; @@ -962,23 +962,23 @@ TEST_F(DeclarableOpsTests6, SufficientStatistics_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, SufficientStatistics_2) { -// auto x0 = NDArrayFactory::create('c', {10, 10}); -// auto x1 = NDArrayFactory::create('c', {10, 10}); - auto x = NDArrayFactory::create('c', {2, 2, 2, 4}, {5.5, 0., 0.3, 5.5,1.5, 0., 1.3, 6.5,8.6, 0., 0., 0.4,2.5, 1., 0.3, 4.5, +// auto x0 = NDArrayFactory::create( {10, 10}); +// auto x1 = NDArrayFactory::create( {10, 10}); + auto x = NDArrayFactory::create( {2, 2, 2, 4}, {5.5, 0., 0.3, 5.5,1.5, 0., 1.3, 6.5,8.6, 0., 0., 0.4,2.5, 1., 0.3, 4.5, 1.5, 1., 1.3, 1.5,3.5, 0., 1.3, 2.5,2.6, 2., 3., 1.4,4.5, 1., 0.3, 0.5}); // ------------------------------------ double count = 4.0; - auto sumExp = NDArrayFactory::create('c', {2, 4}, { + auto sumExp = NDArrayFactory::create( {2, 4}, { 18.2, 3., 4.6, 8.8, 12., 2., 3.2, 14.} ); - auto sqrExp = NDArrayFactory::create('c', {2, 4}, { + auto sqrExp = NDArrayFactory::create( {2, 4}, { 113.22, 5., 10.78, 34.62, 41., 2., 3.56, 69.} ); - auto axis = NDArrayFactory::create({0, 1}); + auto axis = NDArrayFactory::vector({0, 1}); sd::ops::sufficient_statistics op; @@ -995,7 +995,7 @@ TEST_F(DeclarableOpsTests6, SufficientStatistics_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BinCount_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, { + auto x = NDArrayFactory::create( {2, 2, 2}, { 1, 2, 0, 1, 2, 2, 1, 2} ); // ------------------------------------ @@ -1014,17 +1014,17 @@ TEST_F(DeclarableOpsTests6, BinCount_1) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BinCount_2) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, { + auto x = NDArrayFactory::create( {2, 2, 2}, { 1, 2, 0, 1, 2, 2, 1, 2} ); - auto weights = NDArrayFactory::create('c', {2, 2, 2}, { + auto weights = NDArrayFactory::create( {2, 2, 2}, { 2, 1, 3, 1, 5, 1, 1, 6} ); // ------------------------------------ - auto exp = NDArrayFactory::create({3., 4., 13.}); + auto exp = NDArrayFactory::vector({3., 4., 13.}); sd::ops::bincount op; @@ -1037,17 +1037,17 @@ TEST_F(DeclarableOpsTests6, BinCount_2) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BinCount_3) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, { + auto x = NDArrayFactory::create( {2, 2, 2}, { 1, 2, 0, 1, 2, 2, 1, 2} ); - auto weights = NDArrayFactory::create('c', {2, 2, 2}, { + auto weights = NDArrayFactory::create( {2, 2, 2}, { 2, 1, 3, 1, 5, 1, 1, 6} ); // ------------------------------------ - auto exp = NDArrayFactory::create({3., 4.}); + auto exp = NDArrayFactory::vector({3., 4.}); sd::ops::bincount op; @@ -1061,17 +1061,17 @@ TEST_F(DeclarableOpsTests6, BinCount_3) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BinCount_4) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, { + auto x = NDArrayFactory::create( {2, 2, 2}, { 1, 2, 0, 1, 2, 2, 1, 2} ); - auto weights = NDArrayFactory::create('c', {2, 2, 2}, { + auto weights = NDArrayFactory::create( {2, 2, 2}, { 2, 1, 3, 1, 5, 1, 1, 6} ); // ------------------------------------ - auto exp = NDArrayFactory::create({3., 4., 13., 0.0}); + auto exp = NDArrayFactory::vector({3., 4., 13., 0.0}); sd::ops::bincount op; @@ -1084,18 +1084,18 @@ TEST_F(DeclarableOpsTests6, BinCount_4) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BinCount_5) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, { + auto x = NDArrayFactory::create( {2, 2, 2}, { 1, 2, 0, 1, 2, 2, 1, 2} ); - auto weights = NDArrayFactory::create('c', {2, 2, 2}, { + auto weights = NDArrayFactory::create( {2, 2, 2}, { 2, 1, 3, 1, 5, 1, 1, 6} ); auto minV = NDArrayFactory::create(4); auto maxV = NDArrayFactory::create(4); // ------------------------------------ - auto exp = NDArrayFactory::create({3., 4., 13., 0.0}); + auto exp = NDArrayFactory::vector({3., 4., 13., 0.0}); sd::ops::bincount op; @@ -1111,9 +1111,9 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_1) { auto x = NDArrayFactory::create( {2, 2, 2} ); - auto y = NDArrayFactory::create({ 2, 1, 2}); + auto y = NDArrayFactory::vector({ 2, 1, 2}); - auto exp = NDArrayFactory::create({2, 2, 2}); + auto exp = NDArrayFactory::vector({2, 2, 2}); sd::ops::broadcast_dynamic_shape op; @@ -1129,9 +1129,9 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_2) { auto x = NDArrayFactory::create( {2, 2} ); - auto y = NDArrayFactory::create({2, 1, 2}); + auto y = NDArrayFactory::vector({2, 1, 2}); - auto exp = NDArrayFactory::create({2, 2, 2}); + auto exp = NDArrayFactory::vector({2, 2, 2}); sd::ops::broadcast_dynamic_shape op; @@ -1146,9 +1146,9 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_3) { auto x = NDArrayFactory::create( {2, 2, 2} ); - auto y = NDArrayFactory::create({2, 1}); + auto y = NDArrayFactory::vector({2, 1}); - auto exp = NDArrayFactory::create({2, 2, 2}); + auto exp = NDArrayFactory::vector({2, 2, 2}); sd::ops::broadcast_dynamic_shape op; @@ -1163,9 +1163,9 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_4) { auto x = NDArrayFactory::create( {2, 1} ); - auto y = NDArrayFactory::create('c', {1}, {4}); + auto y = NDArrayFactory::create( {1}, {4}); - auto exp = NDArrayFactory::create({2, 4}); + auto exp = NDArrayFactory::vector({2, 4}); sd::ops::broadcast_dynamic_shape op; @@ -1179,28 +1179,27 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_4) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_6) { - auto x = NDArrayFactory::create({2, 1, 4}); + auto x = NDArrayFactory::vector({2, 1, 4}); - auto y = NDArrayFactory::create({2, 2, 4}); + auto y = NDArrayFactory::vector({2, 2, 4}); - auto exp = NDArrayFactory::create({2, 2, 4}); + auto exp = NDArrayFactory::vector({2, 2, 4}); sd::ops::broadcast_dynamic_shape op; auto res = op.evaluate({&x, &y}); ASSERT_EQ(ND4J_STATUS_OK, res.status()); ASSERT_TRUE(exp.equalsTo(res.at(0))); - } ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_7) { - auto x = NDArrayFactory::create({1, 1, 3}); + auto x = NDArrayFactory::vector({1, 1, 3}); - auto y = NDArrayFactory::create({2, 4, 1}); + auto y = NDArrayFactory::vector({2, 4, 1}); - auto exp = NDArrayFactory::create({2, 4, 3}); + auto exp = NDArrayFactory::vector({2, 4, 3}); sd::ops::broadcast_dynamic_shape op; auto res = op.evaluate({&x, &y}); @@ -1212,13 +1211,13 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_7) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_8) { - auto x = NDArrayFactory::create('c', {1}, {1}); + auto x = NDArrayFactory::create( {1}, {1}); - auto y = NDArrayFactory::create('c', {1}, {4}); + auto y = NDArrayFactory::create( {1}, {4}); - auto z = NDArrayFactory::create('c', {1}); + auto z = NDArrayFactory::create( {1}); - auto exp = NDArrayFactory::create('c', {1}, {4}); + auto exp = NDArrayFactory::create( {1}, {4}); sd::ops::broadcast_dynamic_shape op; auto status = op.execute({&x, &y}, {&z}, {}, {}, {}); @@ -1230,13 +1229,13 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_8) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_9) { - auto x = NDArrayFactory::create('c', {2}, {2,2}); + auto x = NDArrayFactory::create( {2}, {2,2}); - auto y = NDArrayFactory::create('c', {1}, {1}); + auto y = NDArrayFactory::create( {1}, {1}); - auto z = NDArrayFactory::create('c', {2}); + auto z = NDArrayFactory::create( {2}); - auto exp = NDArrayFactory::create('c', {2}, {2,2}); + auto exp = NDArrayFactory::create( {2}, {2,2}); sd::ops::broadcast_dynamic_shape op; auto status = op.execute({&x, &y}, {&z}, {}, {}, {}); @@ -1249,12 +1248,12 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_9) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, ClipByGlobalNorm_1) { - auto x = NDArrayFactory::create('c', {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, + auto x = NDArrayFactory::create( {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0} ); - auto exp = NDArrayFactory::create('c', {2, 3, 3}, { + auto exp = NDArrayFactory::create( {2, 3, 3}, { -0.2771281, 0., 0., 0.36950415, 0., 0., -0.2771281, 0., 0., @@ -1286,17 +1285,17 @@ TEST_F(DeclarableOpsTests6, ClipByGlobalNorm_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, ClipByGlobalNorm_2) { - auto x = NDArrayFactory::create('c', {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, + auto x = NDArrayFactory::create( {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0} ); - auto a = NDArrayFactory::create('c', {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, + auto a = NDArrayFactory::create( {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0} ); - auto exp = NDArrayFactory::create('c', {2, 3, 3}, { + auto exp = NDArrayFactory::create( {2, 3, 3}, { -0.44090813, 0., 0., 0.5878775, 0., 0., -0.44090813, 0., 0., @@ -1326,9 +1325,9 @@ TEST_F(DeclarableOpsTests6, ClipByGlobalNorm_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, ClipByGlobalNorm_3) { - auto x = NDArrayFactory::create('c', {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0}); - auto a = NDArrayFactory::create('c', {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0}); - auto exp = NDArrayFactory::create('c', {2, 3, 3}, { + auto x = NDArrayFactory::create( {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0}); + auto a = NDArrayFactory::create( {2, 3, 3}, {-3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0, -3.0, 0.0, 0.0, 4.0, 0.0, 0.0}); + auto exp = NDArrayFactory::create( {2, 3, 3}, { -0.19595918, 0., 0., 0.2612789, 0., 0., -0.19595918, 0., 0., @@ -1360,8 +1359,8 @@ TEST_F(DeclarableOpsTests6, ClipByGlobalNorm_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixDeterminant_1) { - auto x = NDArrayFactory::create('c', {2, 3, 3}, {-3.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, -3.0, 4.0, 0.0, 0.0, 0.0, -3.0, 0.0, 0.0, 0.0, 4.0}); - auto exp = NDArrayFactory::create({36.0, -48.0}); + auto x = NDArrayFactory::create( {2, 3, 3}, {-3.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, -3.0, 4.0, 0.0, 0.0, 0.0, -3.0, 0.0, 0.0, 0.0, 4.0}); + auto exp = NDArrayFactory::vector({36.0, -48.0}); sd::ops::matrix_determinant op; auto result = op.evaluate({&x}, {}, {}); @@ -1381,8 +1380,8 @@ TEST_F(DeclarableOpsTests6, MatrixDeterminant_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixDeterminant_2) { - auto x = NDArrayFactory::create('c', {2, 2, 2}, {1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0}); - auto exp = NDArrayFactory::create({-2.0, -2.0}); + auto x = NDArrayFactory::create( {2, 2, 2}, {1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0}); + auto exp = NDArrayFactory::vector({-2.0, -2.0}); sd::ops::matrix_determinant op; auto result = op.evaluate({&x}, {}, {}); @@ -1402,7 +1401,7 @@ TEST_F(DeclarableOpsTests6, MatrixDeterminant_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixDeterminant_3) { - auto x = NDArrayFactory::create('c', {1, 3, 3}, {3.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 3.0}); + auto x = NDArrayFactory::create( {1, 3, 3}, {3.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 3.0}); NDArray exp('c', {1}, std::vector{-54.0}); sd::ops::matrix_determinant op; @@ -1423,8 +1422,8 @@ TEST_F(DeclarableOpsTests6, MatrixDeterminant_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixDeterminant_4) { - auto x = NDArrayFactory::create('c', {1, 3, 3}, {12.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 13.0}); - auto exp = NDArrayFactory::create('c', {1}, {189.0}); + auto x = NDArrayFactory::create( {1, 3, 3}, {12.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 13.0}); + auto exp = NDArrayFactory::create( {1}, {189.0}); sd::ops::matrix_determinant op; auto result = op.evaluate({&x}, {}, {}); @@ -1444,7 +1443,7 @@ TEST_F(DeclarableOpsTests6, MatrixDeterminant_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixDeterminant_5) { - auto x = NDArrayFactory::create('c', {1, 4, 4}); + auto x = NDArrayFactory::create( {1, 4, 4}); NDArray exp('c', {1}, std::vector{-16.0}); x.linspace(1); x.p(5, 4.0); @@ -1468,7 +1467,7 @@ TEST_F(DeclarableOpsTests6, MatrixDeterminant_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixDeterminant_6) { - auto x = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); auto exp = NDArrayFactory::create(-16.0); x.linspace(1); x.p(5, 4.0); @@ -1493,8 +1492,8 @@ TEST_F(DeclarableOpsTests6, MatrixDeterminant_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, LogMatrixDeterminant_1) { - auto x = NDArrayFactory::create('c', {2, 3, 3}, {-3.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, -3.0, 4.0, 0.0, 0.0, 0.0, -3.0, 0.0, 0.0, 0.0, 4.0}); - auto exp = NDArrayFactory::create({3.58351893845611, 3.871201010907891}); + auto x = NDArrayFactory::create( {2, 3, 3}, {-3.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, -3.0, 4.0, 0.0, 0.0, 0.0, -3.0, 0.0, 0.0, 0.0, 4.0}); + auto exp = NDArrayFactory::vector({3.58351893845611, 3.871201010907891}); sd::ops::log_matrix_determinant op; auto result = op.evaluate({&x}, {}, {}); @@ -1512,8 +1511,8 @@ TEST_F(DeclarableOpsTests6, LogMatrixDeterminant_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, LogDet_1) { - auto x = NDArrayFactory::create('c', {2, 3, 3}, {4,12,-16,12,37,-43,-16,-43,98, 4,1.2,-1.6,1.2,3.7,-4.3,-1.6,-4.3,9.8}); - auto exp = NDArrayFactory::create({ 3.5835189, 4.159008}); + auto x = NDArrayFactory::create( {2, 3, 3}, {4,12,-16,12,37,-43,-16,-43,98, 4,1.2,-1.6,1.2,3.7,-4.3,-1.6,-4.3,9.8}); + auto exp = NDArrayFactory::vector({ 3.5835189, 4.159008}); sd::ops::logdet op; auto result = op.evaluate({&x}, {}, {}); @@ -1530,8 +1529,8 @@ TEST_F(DeclarableOpsTests6, LogDet_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, LogDet_2) { - auto x = NDArrayFactory::create('c', {1, 3, 3}, {4,12,-16,12,37,-43,-16,-43,98}); - auto exp = NDArrayFactory::create('c', {1}, { 3.5835189}); + auto x = NDArrayFactory::create( {1, 3, 3}, {4,12,-16,12,37,-43,-16,-43,98}); + auto exp = NDArrayFactory::create( {1}, { 3.5835189}); sd::ops::logdet op; auto result = op.evaluate({&x}, {}, {}); @@ -1549,7 +1548,7 @@ TEST_F(DeclarableOpsTests6, LogDet_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, LogDet_3) { - auto x = NDArrayFactory::create('c', {3, 3}, {4,12,-16,12,37,-43,-16,-43,98}); + auto x = NDArrayFactory::create( {3, 3}, {4,12,-16,12,37,-43,-16,-43,98}); auto exp = NDArrayFactory::create( 3.5835189); sd::ops::logdet op; @@ -1568,7 +1567,7 @@ TEST_F(DeclarableOpsTests6, LogDet_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixInverse_1) { - auto x = NDArrayFactory::create('c', {2, 5, 5}, { + auto x = NDArrayFactory::create( {2, 5, 5}, { 2.f, 4.f, 60.f, 8.f, 10.f, 0.f, 1.f, 2.f, 3.f, 4.f, 0.f, 0.f, 2.f, 4.f, 6.f, @@ -1582,7 +1581,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_1) { 5.f, 4.f, 3.f, 2.f, 1.f }); - auto exp = NDArrayFactory::create('c', {2, 5, 5}, { + auto exp = NDArrayFactory::create( {2, 5, 5}, { 0.5f, -2.0f, -13.0f, 54.0f, -6.75f, 0.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.f, 0.f, 0.5f, -2.0f, 0.25f, @@ -1612,8 +1611,8 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixInverse_010) { - auto x = NDArrayFactory::create('c', {1, 5, 5}, {1.f, 0.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 0.f, 30.f, 2.f, 1.f, 0.f, 0.f, 4.f, 3.f, 2.f, 1.f, 0.f, 5.f, 4.f, 3.f, 2.f, 1.f, }); - auto exp = NDArrayFactory::create('c', {1, 5, 5}, {1.0f, 0.0f, 0.0f, 0.0f, 0.f, -2.0f, 1.0f, 0.f, 0.f, 0.f, -26.0f, -2.0f, 1.f, 0.f, 0.f, 54.0f, 1.0f, -2.0f, 1.f, 0.f, -27.0f, 0.0f, 1.0f, -2.0f, 1.f}); + auto x = NDArrayFactory::create( {1, 5, 5}, {1.f, 0.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 0.f, 30.f, 2.f, 1.f, 0.f, 0.f, 4.f, 3.f, 2.f, 1.f, 0.f, 5.f, 4.f, 3.f, 2.f, 1.f, }); + auto exp = NDArrayFactory::create( {1, 5, 5}, {1.0f, 0.0f, 0.0f, 0.0f, 0.f, -2.0f, 1.0f, 0.f, 0.f, 0.f, -26.0f, -2.0f, 1.f, 0.f, 0.f, 54.0f, 1.0f, -2.0f, 1.f, 0.f, -27.0f, 0.0f, 1.0f, -2.0f, 1.f}); sd::ops::matrix_inverse op; auto result = op.evaluate({&x}); @@ -1631,9 +1630,9 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_010) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixInverse_01) { - auto x = NDArrayFactory::create('c', {1, 5, 5}, {2.f, 4.f, 60.f, 8.f, 10.f, 0.f, 1.f, 2.f, 3.f, 4.f, 0.f, 0.f, 2.f, 4.f, 6.f, 0.f, 0.f, 0.f, 1.f, 2.f, 0.f, 0.f, 0.f, 0.f, 4.f }); + auto x = NDArrayFactory::create( {1, 5, 5}, {2.f, 4.f, 60.f, 8.f, 10.f, 0.f, 1.f, 2.f, 3.f, 4.f, 0.f, 0.f, 2.f, 4.f, 6.f, 0.f, 0.f, 0.f, 1.f, 2.f, 0.f, 0.f, 0.f, 0.f, 4.f }); - auto exp = NDArrayFactory::create('c', {1, 5, 5}, {0.5f, -2.0f, -13.0f, 54.0f, -6.75f, 0.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.f, 0.f, 0.5f, -2.0f, 0.25f, 0.f, 0.f, 0.f, 1.0f, -0.5f, 0.f, 0.f, 0.f, 0.f, 0.25f }); + auto exp = NDArrayFactory::create( {1, 5, 5}, {0.5f, -2.0f, -13.0f, 54.0f, -6.75f, 0.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.f, 0.f, 0.5f, -2.0f, 0.25f, 0.f, 0.f, 0.f, 1.0f, -0.5f, 0.f, 0.f, 0.f, 0.f, 0.25f }); sd::ops::matrix_inverse op; auto result = op.evaluate({&x}); @@ -1650,8 +1649,8 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_01) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixInverse_02) { - auto x = NDArrayFactory::create('c', {1, 5, 5}, {1.f, 0.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 0.f, 30.f, 2.f, 1.f, 0.f, 0.f, 4.f, 3.f, 2.f, 1.f, 0.f, 5.f, 4.f, 3.f, 2.f, 1.f }); - auto exp = NDArrayFactory::create('c', {1, 5, 5}, {1.0f, 0.0f, 0.0f, 0.0f, 0.f, -2.0f, 1.0f, 0.f, 0.f, 0.f, -26.0f, -2.0f, 1.f, 0.f, 0.f, 54.0f, 1.0f, -2.0f, 1.f, 0.f, -27.0f, 0.0f, 1.0f, -2.0f, 1.f }); + auto x = NDArrayFactory::create( {1, 5, 5}, {1.f, 0.f, 0.f, 0.f, 0.f, 2.f, 1.f, 0.f, 0.f, 0.f, 30.f, 2.f, 1.f, 0.f, 0.f, 4.f, 3.f, 2.f, 1.f, 0.f, 5.f, 4.f, 3.f, 2.f, 1.f }); + auto exp = NDArrayFactory::create( {1, 5, 5}, {1.0f, 0.0f, 0.0f, 0.0f, 0.f, -2.0f, 1.0f, 0.f, 0.f, 0.f, -26.0f, -2.0f, 1.f, 0.f, 0.f, 54.0f, 1.0f, -2.0f, 1.f, 0.f, -27.0f, 0.0f, 1.0f, -2.0f, 1.f }); sd::ops::matrix_inverse op; auto result = op.evaluate({&x}); @@ -1670,7 +1669,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_02) { /* TEST_F(DeclarableOpsTests6, MatrixInverse_2) { - auto x = NDArrayFactory::create('c', {2, 5, 5}, { + auto x = NDArrayFactory::create( {2, 5, 5}, { 1., 2., 30., 4., 5., 0., 1., 2., 3., 4., 0., 0., 1., 2., 3., @@ -1684,7 +1683,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_2) { 15., 12., 9., 6., 3., }); - auto exp = NDArrayFactory::create('c', {2, 5, 5}, { + auto exp = NDArrayFactory::create( {2, 5, 5}, { 1.0, -2.0, -26.0, 54.0, -27.0, 0.0, 1.0, -2.0, 1.0, 0.0, 0.0, 0.0, 1.0, -2.0, 1.0, @@ -1715,7 +1714,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_2) { */ TEST_F(DeclarableOpsTests6, MatrixInverse_03) { - auto x = NDArrayFactory::create('c', {5, 5}, { + auto x = NDArrayFactory::create( {5, 5}, { 4.f, 0.f, 0.f, 0.f, 0.f, 4.f, 2.f, 0.f, 0.f, 0.f, 30.f, 2.f, 1.f, 0.f, 0.f, @@ -1723,7 +1722,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_03) { 15.f, 12.f, 9.f, 6.f, 3.f, }); - auto exp = NDArrayFactory::create('c', {5, 5}, { + auto exp = NDArrayFactory::create( {5, 5}, { 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, -0.50f, 0.5f, 0.0f, 0.0f, 0.0f, -6.50f, -1.0f, 1.0f, 0.0f, 0.0f, @@ -1749,7 +1748,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_03) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixInverse_3) { - auto x = NDArrayFactory::create('c', {5, 5}, { + auto x = NDArrayFactory::create( {5, 5}, { 4.f, 0.f, 0.f, 0.f, 0.f, 4.f, 2.f, 0.f, 0.f, 0.f, 30.f, 2.f, 1.f, 0.f, 0.f, @@ -1757,7 +1756,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_3) { 15.f, 12.f, 9.f, 6.f, 3.f, }); - auto exp = NDArrayFactory::create('c', {5, 5}, { + auto exp = NDArrayFactory::create( {5, 5}, { 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, -0.50f, 0.5f, 0.0f, 0.0f, 0.0f, -6.50f, -1.0f, 1.0f, 0.0f, 0.0f, @@ -1783,7 +1782,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixInverse_4) { - auto x = NDArrayFactory::create('c', {5, 5}, { + auto x = NDArrayFactory::create( {5, 5}, { 1.f, 2.f, 30.f, 4.f, 5.f, 0.f, 1.f, 2.f, 3.f, 4.f, 0.f, 0.f, 1.f, 2.f, 3.f, @@ -1791,7 +1790,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_4) { 0.f, 0.f, 0.f, 0.f, 1.f }); - auto exp = NDArrayFactory::create('c', {5, 5}, { + auto exp = NDArrayFactory::create( {5, 5}, { 1.0f, -2.0f, -26.0f, 54.0f, -27.0f, 0.0f, 1.0f, -2.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, -2.0f, 1.0f, @@ -1817,7 +1816,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, MatrixInverse_04) { - auto x = NDArrayFactory::create('c', {5, 5}, { + auto x = NDArrayFactory::create( {5, 5}, { 1.f, 2.f, 30.f, 4.f, 5.f, 0.f, 1.f, 2.f, 3.f, 4.f, 0.f, 0.f, 1.f, 2.f, 3.f, @@ -1825,7 +1824,7 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_04) { 0.f, 0.f, 0.f, 0.f, 1.f }); - auto exp = NDArrayFactory::create('c', {5, 5}, { + auto exp = NDArrayFactory::create( {5, 5}, { 1.0f, -2.0f, -26.0f, 54.0f, -27.0f, 0.0f, 1.0f, -2.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, -2.0f, 1.0f, @@ -1850,13 +1849,13 @@ TEST_F(DeclarableOpsTests6, MatrixInverse_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, ReluLayer_1) { - auto x = NDArrayFactory::create('c', {3, 4}, {1.0, -2.0, 3.0, 4.0, 5.0, -6.0, 7.0, 8.0, 9.0, -10.0, 11.0, 12}); - auto w = NDArrayFactory::create('c', {4, 3}, {0.5, 0.1, 0.8, 0.5, 0.2, 0.5, 0.5, 0.25, 0.5, 0.1, 0.0, 0.25}); - auto b = NDArrayFactory::create({20.0, 30.0, 50.0}); + auto x = NDArrayFactory::create( {3, 4}, {1.0, -2.0, 3.0, 4.0, 5.0, -6.0, 7.0, 8.0, 9.0, -10.0, 11.0, 12}); + auto w = NDArrayFactory::create( {4, 3}, {0.5, 0.1, 0.8, 0.5, 0.2, 0.5, 0.5, 0.25, 0.5, 0.1, 0.0, 0.25}); + auto b = NDArrayFactory::vector({20.0, 30.0, 50.0}); - auto exp = NDArrayFactory::create('c', {3, 3}, { + auto exp = NDArrayFactory::create( {3, 3}, { 21.4, 30.45, 52.3, 23.8, 31.05, 56.5, 26.2, 31.65, 60.7}); @@ -1878,8 +1877,8 @@ TEST_F(DeclarableOpsTests6, ReluLayer_1) { } TEST_F(DeclarableOpsTests6, Test_Reduce3_Edge) { - auto x = NDArrayFactory::create('c', {3, 4, 5}); - auto y = NDArrayFactory::create('c', {3, 4, 5}); + auto x = NDArrayFactory::create( {3, 4, 5}); + auto y = NDArrayFactory::create( {3, 4, 5}); std::vector dims = {0, 1}; @@ -1895,12 +1894,12 @@ TEST_F(DeclarableOpsTests6, static_rnn_test1) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto h0 = NDArrayFactory::create('c', {bS, numUnits}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-3}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto h0 = NDArrayFactory::create( {bS, numUnits}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3}); x.linspace(0.01, 0.01); h0 = 0.2; @@ -1908,11 +1907,11 @@ TEST_F(DeclarableOpsTests6, static_rnn_test1) { Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {time, bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.69882484, 0.69882484, 0.69882484, 0.69882484, 0.9312333 , 0.9312333 , 0.9312333 , 0.9312333 , + auto expH = NDArrayFactory::create( {time, bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.69882484, 0.69882484, 0.69882484, 0.69882484, 0.9312333 , 0.9312333 , 0.9312333 , 0.9312333 , 0.93751527, 0.93751527, 0.93751527, 0.93751527,0.97136768, 0.97136768, 0.97136768, 0.97136768,0., 0., 0., 0. , 0.97732812, 0.97732812, 0.97732812, 0.97732812,0., 0., 0., 0. ,0., 0., 0., 0.,0., 0., 0., 0.}); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.97732812, 0.97732812, 0.97732812, 0.97732812, 0.93751527, 0.93751527, 0.93751527, 0.93751527}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.97732812, 0.97732812, 0.97732812, 0.97732812, 0.93751527, 0.93751527, 0.93751527, 0.93751527}); sd::ops::static_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b, &h0, &maxTimeStep}, {}, {}); @@ -1938,11 +1937,11 @@ TEST_F(DeclarableOpsTests6, static_rnn_test2) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto h0 = NDArrayFactory::create('c', {bS, numUnits}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto h0 = NDArrayFactory::create( {bS, numUnits}); x.linspace(0.01, 0.01); h0 = 0.2; @@ -1950,12 +1949,12 @@ TEST_F(DeclarableOpsTests6, static_rnn_test2) { Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {time, bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.69882484, 0.69882484, 0.69882484, 0.69882484,0.9312333 , 0.9312333 , 0.9312333 , 0.9312333, + auto expH = NDArrayFactory::create( {time, bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.69882484, 0.69882484, 0.69882484, 0.69882484,0.9312333 , 0.9312333 , 0.9312333 , 0.9312333, 0.93751527, 0.93751527, 0.93751527, 0.93751527,0.97136768, 0.97136768, 0.97136768, 0.97136768,0.97338548, 0.97338548, 0.97338548, 0.97338548, 0.97732812, 0.97732812, 0.97732812, 0.97732812,0.97864398, 0.97864398, 0.97864398, 0.97864398,0.98000654, 0.98000654, 0.98000654, 0.98000654, 0.98112648, 0.98112648, 0.98112648, 0.98112648}); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.98000654, 0.98000654, 0.98000654, 0.98000654,0.98112648, 0.98112648, 0.98112648, 0.98112648}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.98000654, 0.98000654, 0.98000654, 0.98000654,0.98112648, 0.98112648, 0.98112648, 0.98112648}); sd::ops::static_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b, &h0}, {}, {}); @@ -1981,12 +1980,12 @@ TEST_F(DeclarableOpsTests6, static_rnn_test3) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto h0 = NDArrayFactory::create('c', {bS, numUnits}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, 0}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto h0 = NDArrayFactory::create( {bS, numUnits}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, 0}); x.linspace(0.01, 0.01); h0 = 0.2; @@ -1994,11 +1993,11 @@ TEST_F(DeclarableOpsTests6, static_rnn_test3) { Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {time, bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0., 0., 0., 0., 0.9312333, 0.9312333, 0.9312333, 0.9312333, + auto expH = NDArrayFactory::create( {time, bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0., 0., 0., 0., 0.9312333, 0.9312333, 0.9312333, 0.9312333, 0., 0., 0., 0. , 0.97136768, 0.97136768, 0.97136768, 0.97136768,0., 0., 0., 0. , 0.97732812, 0.97732812, 0.97732812, 0.97732812,0., 0., 0., 0., 0., 0., 0., 0.,0., 0., 0., 0.}); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.97732812, 0.97732812, 0.97732812, 0.97732812, 0.2 , 0.2 , 0.2 , 0.2}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.97732812, 0.97732812, 0.97732812, 0.97732812, 0.2 , 0.2 , 0.2 , 0.2}); sd::ops::static_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b, &h0, &maxTimeStep}, {}, {}); @@ -2024,23 +2023,23 @@ TEST_F(DeclarableOpsTests6, static_rnn_test4) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto h0 = NDArrayFactory::create('c', {bS, numUnits}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-3}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto h0 = NDArrayFactory::create( {bS, numUnits}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3}); x.linspace(0.01, 0.01); Wx = 0.3; Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {time, bS, numUnits}, {0.47615493, 0.47615493, 0.47615493, 0.47615493,0.49676344, 0.49676344, 0.49676344, 0.49676344, 0.87018664, 0.87018664, 0.87018664, 0.87018664, + auto expH = NDArrayFactory::create( {time, bS, numUnits}, {0.47615493, 0.47615493, 0.47615493, 0.47615493,0.49676344, 0.49676344, 0.49676344, 0.49676344, 0.87018664, 0.87018664, 0.87018664, 0.87018664, 0.88400882, 0.88400882, 0.88400882, 0.88400882, 0.96529784, 0.96529784, 0.96529784, 0.96529784,0., 0., 0., 0. , 0.97688859, 0.97688859, 0.97688859, 0.97688859,0., 0., 0., 0., 0., 0., 0., 0.,0., 0., 0., 0.}); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.97688859, 0.97688859, 0.97688859, 0.97688859, 0.88400882, 0.88400882, 0.88400882, 0.88400882}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.97688859, 0.97688859, 0.97688859, 0.97688859, 0.88400882, 0.88400882, 0.88400882, 0.88400882}); sd::ops::static_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b, &maxTimeStep}, {}, {}); @@ -2066,23 +2065,23 @@ TEST_F(DeclarableOpsTests6, static_rnn_test5) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto h0 = NDArrayFactory::create('c', {bS, numUnits}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto h0 = NDArrayFactory::create( {bS, numUnits}); x.linspace(0.01, 0.01); Wx = 0.3; Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {time, bS, numUnits}, {0.47615493, 0.47615493, 0.47615493, 0.47615493,0.49676344, 0.49676344, 0.49676344, 0.49676344, 0.87018664, 0.87018664, 0.87018664, 0.87018664, + auto expH = NDArrayFactory::create( {time, bS, numUnits}, {0.47615493, 0.47615493, 0.47615493, 0.47615493,0.49676344, 0.49676344, 0.49676344, 0.49676344, 0.87018664, 0.87018664, 0.87018664, 0.87018664, 0.88400882, 0.88400882, 0.88400882, 0.88400882, 0.96529784, 0.96529784, 0.96529784, 0.96529784,0.96849345, 0.96849345, 0.96849345, 0.96849345, 0.97688859, 0.97688859, 0.97688859, 0.97688859,0.97831069, 0.97831069, 0.97831069, 0.97831069, 0.97997868, 0.97997868, 0.97997868, 0.97997868, 0.98110653, 0.98110653, 0.98110653, 0.98110653}); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.97997868, 0.97997868, 0.97997868, 0.97997868, 0.98110653, 0.98110653, 0.98110653, 0.98110653}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.97997868, 0.97997868, 0.97997868, 0.97997868, 0.98110653, 0.98110653, 0.98110653, 0.98110653}); sd::ops::static_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b}, {}, {}); @@ -2109,14 +2108,14 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test1) { const int numUnitsBW = 3; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto WxFW = NDArrayFactory::create('c', {inSize, numUnitsFW}); - auto WhFW = NDArrayFactory::create('c', {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create('c', {2*numUnitsFW}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); + auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); + auto bFW = NDArrayFactory::create( {2*numUnitsFW}); - auto h0FW = NDArrayFactory::create('c', {bS, numUnitsFW}); - auto h0BW = NDArrayFactory::create('c', {bS, numUnitsBW}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-3, time-4, 0}); + auto h0FW = NDArrayFactory::create( {bS, numUnitsFW}); + auto h0BW = NDArrayFactory::create( {bS, numUnitsBW}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3, time-4, 0}); x.linspace(0.01, 0.01); h0FW = 0.2; @@ -2125,15 +2124,15 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test1) { WhFW = 0.4; bFW = 0.1; - auto expH = NDArrayFactory::create('c', {time, bS, numUnitsFW+numUnitsBW}, {0.43819931, 0.43819931, 0.43819931, 0.86708881, 0.86708881,0.86708881,0.47615493, 0.47615493, 0.47615493, 0.78347842, 0.78347842,0.78347842, + auto expH = NDArrayFactory::create( {time, bS, numUnitsFW+numUnitsBW}, {0.43819931, 0.43819931, 0.43819931, 0.86708881, 0.86708881,0.86708881,0.47615493, 0.47615493, 0.47615493, 0.78347842, 0.78347842,0.78347842, 0.51241561, 0.51241561, 0.51241561, 0.55529176, 0.55529176,0.55529176,0., 0., 0., 0., 0.,0.,0.73880324, 0.73880324, 0.73880324, 0.90935605, 0.90935605, 0.90935605, 0.77843476, 0.77843476, 0.77843476, 0.64692945, 0.64692945,0.64692945,0., 0., 0., 0., 0.,0.,0., 0., 0., 0., 0.,0., 0.9052501, 0.9052501, 0.9052501, 0.9181592, 0.9181592, 0.9181592,0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0., 0.9555734, 0.9555734, 0.9555734, 0.8026439, 0.8026439, 0.8026439,0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.}); - auto expHFWfinal = NDArrayFactory::create('c', {bS, numUnitsFW}, {0.9555734 , 0.9555734 , 0.9555734 , 0.77843476, 0.77843476, 0.77843476, 0.51241561, 0.51241561, 0.51241561, 0.2, 0.2, 0.2}); - auto expHBWfinal = NDArrayFactory::create('c', {bS, numUnitsBW}, {0.86708881, 0.86708881, 0.86708881, 0.78347842, 0.78347842, 0.78347842, 0.55529176, 0.55529176, 0.55529176, 0.25, 0.25, 0.25}); + auto expHFWfinal = NDArrayFactory::create( {bS, numUnitsFW}, {0.9555734 , 0.9555734 , 0.9555734 , 0.77843476, 0.77843476, 0.77843476, 0.51241561, 0.51241561, 0.51241561, 0.2, 0.2, 0.2}); + auto expHBWfinal = NDArrayFactory::create( {bS, numUnitsBW}, {0.86708881, 0.86708881, 0.86708881, 0.78347842, 0.78347842, 0.78347842, 0.55529176, 0.55529176, 0.55529176, 0.25, 0.25, 0.25}); sd::ops::static_bidirectional_rnn op; auto results = op.evaluate({&x, &WxFW,&WhFW,&bFW, &WxFW,&WhFW,&bFW, &h0FW, &h0BW, &maxTimeStep}, {}, {}); @@ -2163,19 +2162,19 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test2) { const int numUnitsBW = 3; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto WxFW = NDArrayFactory::create('c', {inSize, numUnitsFW}); - auto WhFW = NDArrayFactory::create('c', {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create('c', {2*numUnitsFW}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); + auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); + auto bFW = NDArrayFactory::create( {2*numUnitsFW}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-3, time-4, 0}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3, time-4, 0}); x.linspace(0.01, 0.01); WxFW = 0.3; WhFW = 0.4; bFW = 0.1; - auto expH = NDArrayFactory::create('c', {time, bS, numUnitsFW+numUnitsBW}, {0.22602835, 0.22602835, 0.22602835, 0.86518273, 0.86518273,0.86518273,0.27105303, 0.27105303, 0.27105303, 0.66617761, 0.66617761,0.66617761, + auto expH = NDArrayFactory::create( {time, bS, numUnitsFW+numUnitsBW}, {0.22602835, 0.22602835, 0.22602835, 0.86518273, 0.86518273,0.86518273,0.27105303, 0.27105303, 0.27105303, 0.66617761, 0.66617761,0.66617761, 0.31492203, 0.31492203, 0.31492203, 0.31492203, 0.31492203,0.31492203,0. , 0. , 0. , 0. , 0. ,0. , 0.60005558, 0.60005558, 0.60005558, 0.9029975 , 0.9029975 ,0.9029975 ,0.66138054, 0.66138054, 0.66138054, 0.43819931, 0.43819931,0.43819931, 0. , 0. , 0. , 0. , 0. ,0. ,0. , 0. , 0. , 0. , 0. ,0. , @@ -2185,8 +2184,8 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test2) { 0. , 0. , 0. , 0. , 0. ,0. ,0. , 0. , 0. , 0. , 0. ,0. , 0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0.}); - auto expHFWfinal = NDArrayFactory::create('c', {bS, numUnitsFW}, {0.95177305, 0.95177305, 0.95177305, 0.66138054, 0.66138054, 0.66138054, 0.31492203, 0.31492203, 0.31492203, 0. , 0. , 0.}); - auto expHBWfinal = NDArrayFactory::create('c', {bS, numUnitsBW}, {0.86518273, 0.86518273, 0.86518273, 0.66617761, 0.66617761, 0.66617761, 0.31492203, 0.31492203, 0.31492203, 0. , 0. , 0.}); + auto expHFWfinal = NDArrayFactory::create( {bS, numUnitsFW}, {0.95177305, 0.95177305, 0.95177305, 0.66138054, 0.66138054, 0.66138054, 0.31492203, 0.31492203, 0.31492203, 0. , 0. , 0.}); + auto expHBWfinal = NDArrayFactory::create( {bS, numUnitsBW}, {0.86518273, 0.86518273, 0.86518273, 0.66617761, 0.66617761, 0.66617761, 0.31492203, 0.31492203, 0.31492203, 0. , 0. , 0.}); sd::ops::static_bidirectional_rnn op; auto results = op.evaluate({&x, &WxFW,&WhFW,&bFW, &WxFW,&WhFW,&bFW, &maxTimeStep}, {}, {}); @@ -2217,17 +2216,17 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test3) { const int numUnitsBW = 3; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto WxFW = NDArrayFactory::create('c', {inSize, numUnitsFW}); - auto WhFW = NDArrayFactory::create('c', {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create('c', {2*numUnitsFW}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); + auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); + auto bFW = NDArrayFactory::create( {2*numUnitsFW}); x.linspace(0.01, 0.01); WxFW = 0.3; WhFW = 0.4; bFW = 0.1; - auto expH = NDArrayFactory::create('c', {time, bS, numUnitsFW+numUnitsBW}, {0.22602835, 0.22602835, 0.22602835, 0.86841012, 0.86841012,0.86841012,0.27105303, 0.27105303, 0.27105303, 0.88207531, 0.88207531,0.88207531, + auto expH = NDArrayFactory::create( {time, bS, numUnitsFW+numUnitsBW}, {0.22602835, 0.22602835, 0.22602835, 0.86841012, 0.86841012,0.86841012,0.27105303, 0.27105303, 0.27105303, 0.88207531, 0.88207531,0.88207531, 0.31492203, 0.31492203, 0.31492203, 0.8941667 , 0.8941667 ,0.8941667 ,0.35748551, 0.35748551, 0.35748551, 0.90489713, 0.90489713, 0.90489713, 0.60005558, 0.60005558, 0.60005558, 0.91381375, 0.91381375,0.91381375,0.66138054, 0.66138054, 0.66138054, 0.92253504, 0.92253504, 0.92253504,0.71429879, 0.71429879, 0.71429879, 0.93027876, 0.93027876,0.93027876,0.75947891, 0.75947891, 0.75947891, 0.9371767 , 0.9371767 , @@ -2238,8 +2237,8 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test3) { 0.95857985, 0.97269956, 0.97269956, 0.97269956, 0.76075293, 0.76075293,0.76075293,0.97557464, 0.97557464, 0.97557464, 0.78024637, 0.78024637, 0.78024637,0.97806922, 0.97806922, 0.97806922, 0.79833344, 0.79833344,0.79833344,0.98026195, 0.98026195, 0.98026195, 0.81508646, 0.81508646,0.81508646}); - auto expHFWfinal = NDArrayFactory::create('c', {bS, numUnitsFW}, {0.97269956, 0.97269956, 0.97269956, 0.97557464, 0.97557464, 0.97557464, 0.97806922, 0.97806922, 0.97806922, 0.98026195, 0.98026195, 0.98026195}); - auto expHBWfinal = NDArrayFactory::create('c', {bS, numUnitsBW}, {0.86841012, 0.86841012, 0.86841012, 0.88207531, 0.88207531, 0.88207531, 0.8941667 , 0.8941667 , 0.8941667 , 0.90489713, 0.90489713, 0.90489713}); + auto expHFWfinal = NDArrayFactory::create( {bS, numUnitsFW}, {0.97269956, 0.97269956, 0.97269956, 0.97557464, 0.97557464, 0.97557464, 0.97806922, 0.97806922, 0.97806922, 0.98026195, 0.98026195, 0.98026195}); + auto expHBWfinal = NDArrayFactory::create( {bS, numUnitsBW}, {0.86841012, 0.86841012, 0.86841012, 0.88207531, 0.88207531, 0.88207531, 0.8941667 , 0.8941667 , 0.8941667 , 0.90489713, 0.90489713, 0.90489713}); sd::ops::static_bidirectional_rnn op; auto results = op.evaluate({&x, &WxFW,&WhFW,&bFW, &WxFW,&WhFW,&bFW}, {}, {}); @@ -2268,12 +2267,12 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test1) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto h0 = NDArrayFactory::create('c', {bS, numUnits}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-3}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto h0 = NDArrayFactory::create( {bS, numUnits}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3}); x.linspace(0.01, 0.01); h0 = 0.2; @@ -2281,11 +2280,11 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test1) { Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {time, bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.69882484, 0.69882484, 0.69882484, 0.69882484,0.9312333 , 0.9312333 , 0.9312333 , 0.9312333 , + auto expH = NDArrayFactory::create( {time, bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.69882484, 0.69882484, 0.69882484, 0.69882484,0.9312333 , 0.9312333 , 0.9312333 , 0.9312333 , 0.93751527, 0.93751527, 0.93751527, 0.93751527,0.97136768, 0.97136768, 0.97136768, 0.97136768,0. , 0. , 0. , 0. , 0.97732812, 0.97732812, 0.97732812, 0.97732812,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. }); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.97732812, 0.97732812, 0.97732812, 0.97732812, 0.93751527, 0.93751527, 0.93751527, 0.93751527}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.97732812, 0.97732812, 0.97732812, 0.97732812, 0.93751527, 0.93751527, 0.93751527, 0.93751527}); sd::ops::dynamic_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b, &h0, &maxTimeStep}, {}, {1}); @@ -2312,12 +2311,12 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test2) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {bS, time, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto h0 = NDArrayFactory::create('c', {bS, numUnits}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time}); + auto x = NDArrayFactory::create( {bS, time, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto h0 = NDArrayFactory::create( {bS, numUnits}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time}); x.linspace(0.01, 0.01); h0 = 0.2; @@ -2325,12 +2324,12 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test2) { Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {bS, time, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.92755601, 0.92755601, 0.92755601, 0.92755601,0.96778334, 0.96778334, 0.96778334, + auto expH = NDArrayFactory::create( {bS, time, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.92755601, 0.92755601, 0.92755601, 0.92755601,0.96778334, 0.96778334, 0.96778334, 0.96778334,0.97309129, 0.97309129, 0.97309129, 0.97309129,0. , 0. , 0. , 0. , 0.75001965, 0.75001965, 0.75001965, 0.75001965,0.95449491, 0.95449491, 0.95449491, 0.95449491,0.97732828, 0.97732828, 0.97732828, 0.97732828,0.98000655, 0.98000655, 0.98000655, 0.98000655,0.98120782, 0.98120782, 0.98120782, 0.98120782}); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.97309129, 0.97309129, 0.97309129, 0.97309129, 0.98120782, 0.98120782, 0.98120782, 0.98120782}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.97309129, 0.97309129, 0.97309129, 0.97309129, 0.98120782, 0.98120782, 0.98120782, 0.98120782}); sd::ops::dynamic_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b, &h0, &maxTimeStep}, {}, {}); @@ -2356,11 +2355,11 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test3) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {bS, time, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto h0 = NDArrayFactory::create('c', {bS, numUnits}); + auto x = NDArrayFactory::create( {bS, time, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto h0 = NDArrayFactory::create( {bS, numUnits}); x.linspace(0.01, 0.01); h0 = 0.2; @@ -2368,11 +2367,11 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test3) { Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {bS, time, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.92755601, 0.92755601, 0.92755601, 0.92755601,0.96778334, 0.96778334, 0.96778334, 0.96778334,0.97309129, + auto expH = NDArrayFactory::create( {bS, time, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.92755601, 0.92755601, 0.92755601, 0.92755601,0.96778334, 0.96778334, 0.96778334, 0.96778334,0.97309129, 0.97309129, 0.97309129, 0.97309129,0.97491207, 0.97491207, 0.97491207, 0.97491207,0.75001965, 0.75001965, 0.75001965, 0.75001965,0.95449491, 0.95449491, 0.95449491, 0.95449491,0.97732828, 0.97732828, 0.97732828, 0.97732828,0.98000655, 0.98000655, 0.98000655, 0.98000655,0.98120782, 0.98120782, 0.98120782, 0.98120782}); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.97491207, 0.97491207, 0.97491207, 0.97491207, 0.98120782, 0.98120782, 0.98120782, 0.98120782}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.97491207, 0.97491207, 0.97491207, 0.97491207, 0.98120782, 0.98120782, 0.98120782, 0.98120782}); sd::ops::dynamic_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b, &h0}, {}, {}); @@ -2398,22 +2397,22 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test4) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {bS, time, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-4}); + auto x = NDArrayFactory::create( {bS, time, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-4}); x.linspace(0.01, 0.01); Wx = 0.3; Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {bS, time, numUnits}, {0.47615493, 0.47615493, 0.47615493, 0.47615493,0.86347567, 0.86347567, 0.86347567, 0.86347567,0.96059545, 0.96059545, + auto expH = NDArrayFactory::create( {bS, time, numUnits}, {0.47615493, 0.47615493, 0.47615493, 0.47615493,0.86347567, 0.86347567, 0.86347567, 0.86347567,0.96059545, 0.96059545, 0.96059545, 0.96059545,0.9724738 , 0.9724738 , 0.9724738 , 0.9724738 ,0. , 0. , 0. , 0. , 0.57368608, 0.57368608, 0.57368608, 0.57368608,0. , 0. , 0 , 0. ,0., 0. , 0, 0.,0., 0., 0. , 0. ,0. , 0. , 0., 0. }); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.9724738 , 0.9724738 , 0.9724738 , 0.9724738 ,0.57368608, 0.57368608, 0.57368608, 0.57368608}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.9724738 , 0.9724738 , 0.9724738 , 0.9724738 ,0.57368608, 0.57368608, 0.57368608, 0.57368608}); sd::ops::dynamic_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b, &maxTimeStep}, {}, {}); @@ -2439,22 +2438,22 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test5) { const int numUnits = 4; const int time = 5; - auto x = NDArrayFactory::create('c', {bS, time, inSize}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); + auto x = NDArrayFactory::create( {bS, time, inSize}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); x.linspace(0.01, 0.01); Wx = 0.3; Wh = 0.4; b = 0.25; - auto expH = NDArrayFactory::create('c', {bS, time, numUnits}, {0.47615493, 0.47615493, 0.47615493, 0.47615493,0.86347567, 0.86347567, 0.86347567, 0.86347567,0.96059545, 0.96059545, 0.96059545, 0.96059545, + auto expH = NDArrayFactory::create( {bS, time, numUnits}, {0.47615493, 0.47615493, 0.47615493, 0.47615493,0.86347567, 0.86347567, 0.86347567, 0.86347567,0.96059545, 0.96059545, 0.96059545, 0.96059545, 0.9724738 , 0.9724738 , 0.9724738 , 0.9724738 ,0.97486307, 0.97486307, 0.97486307, 0.97486307,0.57368608, 0.57368608, 0.57368608, 0.57368608, 0.92135149, 0.92135149, 0.92135149, 0.92135149,0.97482354, 0.97482354, 0.97482354, 0.97482354,0.97984727, 0.97984727, 0.97984727, 0.97984727, 0.98119833, 0.98119833, 0.98119833, 0.98119833}); - auto expHFinal = NDArrayFactory::create('c', {bS, numUnits}, {0.97486307, 0.97486307, 0.97486307, 0.97486307,0.98119833, 0.98119833, 0.98119833, 0.98119833}); + auto expHFinal = NDArrayFactory::create( {bS, numUnits}, {0.97486307, 0.97486307, 0.97486307, 0.97486307,0.98119833, 0.98119833, 0.98119833, 0.98119833}); sd::ops::dynamic_rnn op; auto results = op.evaluate({&x, &Wx, &Wh, &b}, {}, {}); @@ -2481,14 +2480,14 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test1) { const int numUnitsBW = 3; const int time = 5; - auto x = NDArrayFactory::create('c', {time, bS, inSize}); - auto WxFW = NDArrayFactory::create('c', {inSize, numUnitsFW}); - auto WhFW = NDArrayFactory::create('c', {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create('c', {2*numUnitsFW}); + auto x = NDArrayFactory::create( {time, bS, inSize}); + auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); + auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); + auto bFW = NDArrayFactory::create( {2*numUnitsFW}); - auto h0FW = NDArrayFactory::create('c', {bS, numUnitsFW}); - auto h0BW = NDArrayFactory::create('c', {bS, numUnitsBW}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-3, time-4, 0}); + auto h0FW = NDArrayFactory::create( {bS, numUnitsFW}); + auto h0BW = NDArrayFactory::create( {bS, numUnitsBW}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3, time-4, 0}); x.linspace(0.01, 0.01); h0FW = 0.2; @@ -2497,20 +2496,20 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test1) { WhFW = 0.4; bFW = 0.1; - auto expHFW = NDArrayFactory::create('c', {time, bS, numUnitsFW}, {0.43819931, 0.43819931, 0.43819931,0.47615493, 0.47615493, 0.47615493,0.51241561, 0.51241561, 0.51241561,0. , 0. , 0. , + auto expHFW = NDArrayFactory::create( {time, bS, numUnitsFW}, {0.43819931, 0.43819931, 0.43819931,0.47615493, 0.47615493, 0.47615493,0.51241561, 0.51241561, 0.51241561,0. , 0. , 0. , 0.73880324, 0.73880324, 0.73880324,0.77843476, 0.77843476, 0.77843476,0. , 0. , 0. ,0. , 0. , 0. , 0.9052501 , 0.9052501 , 0.9052501 ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0.9555734 , 0.9555734 , 0.9555734 ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. }); - auto expHBW = NDArrayFactory::create('c', {time, bS, numUnitsBW}, {0.86708881, 0.86708881, 0.86708881,0.78347842, 0.78347842, 0.78347842,0.55529176, 0.55529176, 0.55529176,0. , 0. , 0. , + auto expHBW = NDArrayFactory::create( {time, bS, numUnitsBW}, {0.86708881, 0.86708881, 0.86708881,0.78347842, 0.78347842, 0.78347842,0.55529176, 0.55529176, 0.55529176,0. , 0. , 0. , 0.90935605, 0.90935605, 0.90935605,0.64692945, 0.64692945, 0.64692945,0. , 0. , 0. ,0. , 0. , 0. , 0.9181592 , 0.9181592 , 0.9181592 ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0.8026439 , 0.8026439 , 0.8026439 ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. }); - auto expHFWfinal = NDArrayFactory::create('c', {bS, numUnitsFW}, {0.9555734 , 0.9555734 , 0.9555734 , 0.77843476, 0.77843476, 0.77843476, 0.51241561, 0.51241561, 0.51241561, 0.2 , 0.2 , 0.2}); - auto expHBWfinal = NDArrayFactory::create('c', {bS, numUnitsBW}, {0.86708881, 0.86708881, 0.86708881, 0.78347842, 0.78347842, 0.78347842, 0.55529176, 0.55529176, 0.55529176, 0.25 , 0.25 , 0.25}); + auto expHFWfinal = NDArrayFactory::create( {bS, numUnitsFW}, {0.9555734 , 0.9555734 , 0.9555734 , 0.77843476, 0.77843476, 0.77843476, 0.51241561, 0.51241561, 0.51241561, 0.2 , 0.2 , 0.2}); + auto expHBWfinal = NDArrayFactory::create( {bS, numUnitsBW}, {0.86708881, 0.86708881, 0.86708881, 0.78347842, 0.78347842, 0.78347842, 0.55529176, 0.55529176, 0.55529176, 0.25 , 0.25 , 0.25}); sd::ops::dynamic_bidirectional_rnn op; auto results = op.evaluate({&x, &WxFW,&WhFW,&bFW, &WxFW,&WhFW,&bFW, &h0FW, &h0BW, &maxTimeStep}, {}, {1}); @@ -2543,14 +2542,14 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test2) { const int numUnitsBW = 3; const int time = 5; - auto x = NDArrayFactory::create('c', {bS, time, inSize}); - auto WxFW = NDArrayFactory::create('c', {inSize, numUnitsFW}); - auto WhFW = NDArrayFactory::create('c', {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create('c', {2*numUnitsFW}); + auto x = NDArrayFactory::create( {bS, time, inSize}); + auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); + auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); + auto bFW = NDArrayFactory::create( {2*numUnitsFW}); - auto h0FW = NDArrayFactory::create('c', {bS, numUnitsFW}); - auto h0BW = NDArrayFactory::create('c', {bS, numUnitsBW}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-3, time-4, 0}); + auto h0FW = NDArrayFactory::create( {bS, numUnitsFW}); + auto h0BW = NDArrayFactory::create( {bS, numUnitsBW}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3, time-4, 0}); x.linspace(0.01, 0.01); h0FW = 0.2; @@ -2559,18 +2558,18 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test2) { WhFW = 0.4; bFW = 0.1; - auto expHFW = NDArrayFactory::create('c', {bS, time, numUnitsFW}, {0.43819931, 0.43819931, 0.43819931,0.66617761, 0.66617761, 0.66617761,0.80944357, 0.80944357, 0.80944357,0.87294706, 0.87294706, 0.87294706,0. , 0. , 0. , + auto expHFW = NDArrayFactory::create( {bS, time, numUnitsFW}, {0.43819931, 0.43819931, 0.43819931,0.66617761, 0.66617761, 0.66617761,0.80944357, 0.80944357, 0.80944357,0.87294706, 0.87294706, 0.87294706,0. , 0. , 0. , 0.61067683, 0.61067683, 0.61067683,0.84851124, 0.84851124, 0.84851124,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0.73978305, 0.73978305, 0.73978305,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. }); - auto expHBW = NDArrayFactory::create('c', {bS, time, numUnitsBW}, {0.84345207, 0.84345207, 0.84345207,0.83584708, 0.83584708, 0.83584708,0.77435951, 0.77435951, 0.77435951,0.58760492, 0.58760492, 0.58760492,0. , 0. , 0. , + auto expHBW = NDArrayFactory::create( {bS, time, numUnitsBW}, {0.84345207, 0.84345207, 0.84345207,0.83584708, 0.83584708, 0.83584708,0.77435951, 0.77435951, 0.77435951,0.58760492, 0.58760492, 0.58760492,0. , 0. , 0. , 0.85615841, 0.85615841, 0.85615841,0.67397984, 0.67397984, 0.67397984,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0.76576202, 0.76576202, 0.76576202,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. }); - auto expHFWfinal = NDArrayFactory::create('c', {bS, numUnitsFW}, {0.87294706, 0.87294706, 0.87294706,0.84851124, 0.84851124, 0.84851124,0.73978305, 0.73978305, 0.73978305,0.2 , 0.2 , 0.2}); - auto expHBWfinal = NDArrayFactory::create('c', {bS, numUnitsBW}, {0.84345207, 0.84345207, 0.84345207, 0.85615841, 0.85615841, 0.85615841, 0.76576202, 0.76576202, 0.76576202, 0.25 , 0.25 , 0.25}); + auto expHFWfinal = NDArrayFactory::create( {bS, numUnitsFW}, {0.87294706, 0.87294706, 0.87294706,0.84851124, 0.84851124, 0.84851124,0.73978305, 0.73978305, 0.73978305,0.2 , 0.2 , 0.2}); + auto expHBWfinal = NDArrayFactory::create( {bS, numUnitsBW}, {0.84345207, 0.84345207, 0.84345207, 0.85615841, 0.85615841, 0.85615841, 0.76576202, 0.76576202, 0.76576202, 0.25 , 0.25 , 0.25}); sd::ops::dynamic_bidirectional_rnn op; auto results = op.evaluate({&x, &WxFW,&WhFW,&bFW, &WxFW,&WhFW,&bFW, &h0FW, &h0BW, &maxTimeStep}, {}, {}); @@ -2603,30 +2602,30 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test3) { const int numUnitsBW = 3; const int time = 5; - auto x = NDArrayFactory::create('c', {bS, time, inSize}); - auto WxFW = NDArrayFactory::create('c', {inSize, numUnitsFW}); - auto WhFW = NDArrayFactory::create('c', {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create('c', {2*numUnitsFW}); + auto x = NDArrayFactory::create( {bS, time, inSize}); + auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); + auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); + auto bFW = NDArrayFactory::create( {2*numUnitsFW}); - auto maxTimeStep = NDArrayFactory::create('c', {bS}, {time-1, time-3, time-4, 0}); + auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3, time-4, 0}); x.linspace(0.01, 0.01); WxFW = 0.3; WhFW = 0.4; bFW = 0.1; - auto expHFW = NDArrayFactory::create('c', {bS, time, numUnitsFW}, {0.22602835, 0.22602835, 0.22602835,0.49994591, 0.49994591, 0.49994591,0.72869307, 0.72869307, 0.72869307,0.84784327, 0.84784327, 0.84784327,0. , 0. , 0. , + auto expHFW = NDArrayFactory::create( {bS, time, numUnitsFW}, {0.22602835, 0.22602835, 0.22602835,0.49994591, 0.49994591, 0.49994591,0.72869307, 0.72869307, 0.72869307,0.84784327, 0.84784327, 0.84784327,0. , 0. , 0. , 0.43819931, 0.43819931, 0.43819931,0.7793996 , 0.7793996 , 0.7793996 ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0.61067683, 0.61067683, 0.61067683,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. }); - auto expHBW = NDArrayFactory::create('c', {bS, time, numUnitsBW}, {0.82273707, 0.82273707, 0.82273707,0.77935851, 0.77935851, 0.77935851,0.6381121 , 0.6381121 , 0.6381121 ,0.35748551, 0.35748551, 0.35748551,0. , 0. , 0. , + auto expHBW = NDArrayFactory::create( {bS, time, numUnitsBW}, {0.82273707, 0.82273707, 0.82273707,0.77935851, 0.77935851, 0.77935851,0.6381121 , 0.6381121 , 0.6381121 ,0.35748551, 0.35748551, 0.35748551,0. , 0. , 0. , 0.77843476, 0.77843476, 0.77843476,0.47615493, 0.47615493, 0.47615493,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0.61067683, 0.61067683, 0.61067683,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. ,0. , 0. , 0. }); - auto expHFWfinal = NDArrayFactory::create('c', {bS, numUnitsFW}, {0.84784327, 0.84784327, 0.84784327, 0.7793996 , 0.7793996 , 0.7793996 , 0.61067683, 0.61067683, 0.61067683, 0. , 0. , 0.}); - auto expHBWfinal = NDArrayFactory::create('c', {bS, numUnitsBW}, {0.82273707, 0.82273707, 0.82273707, 0.77843476, 0.77843476, 0.77843476, 0.61067683, 0.61067683, 0.61067683, 0. , 0. , 0.}); + auto expHFWfinal = NDArrayFactory::create( {bS, numUnitsFW}, {0.84784327, 0.84784327, 0.84784327, 0.7793996 , 0.7793996 , 0.7793996 , 0.61067683, 0.61067683, 0.61067683, 0. , 0. , 0.}); + auto expHBWfinal = NDArrayFactory::create( {bS, numUnitsBW}, {0.82273707, 0.82273707, 0.82273707, 0.77843476, 0.77843476, 0.77843476, 0.61067683, 0.61067683, 0.61067683, 0. , 0. , 0.}); sd::ops::dynamic_bidirectional_rnn op; auto results = op.evaluate({&x, &WxFW,&WhFW,&bFW, &WxFW,&WhFW,&bFW, &maxTimeStep}, {}, {}); @@ -2659,13 +2658,13 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test4) { const int numUnitsBW = 3; const int time = 5; - auto x = NDArrayFactory::create('c', {bS, time, inSize}); - auto WxFW = NDArrayFactory::create('c', {inSize, numUnitsFW}); - auto WhFW = NDArrayFactory::create('c', {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create('c', {2*numUnitsFW}); + auto x = NDArrayFactory::create( {bS, time, inSize}); + auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); + auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); + auto bFW = NDArrayFactory::create( {2*numUnitsFW}); - auto h0FW = NDArrayFactory::create('c', {bS, numUnitsFW}); - auto h0BW = NDArrayFactory::create('c', {bS, numUnitsBW}); + auto h0FW = NDArrayFactory::create( {bS, numUnitsFW}); + auto h0BW = NDArrayFactory::create( {bS, numUnitsBW}); x.linspace(0.01, 0.01); h0FW = 0.2; @@ -2674,18 +2673,18 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test4) { WhFW = 0.4; bFW = 0.1; - auto expHFW = NDArrayFactory::create('c', {bS, time, numUnitsFW}, {0.43819931, 0.43819931, 0.43819931,0.66617761, 0.66617761, 0.66617761,0.80944357, 0.80944357, 0.80944357,0.87294706, 0.87294706, 0.87294706,0.89948899, 0.89948899, 0.89948899, + auto expHFW = NDArrayFactory::create( {bS, time, numUnitsFW}, {0.43819931, 0.43819931, 0.43819931,0.66617761, 0.66617761, 0.66617761,0.80944357, 0.80944357, 0.80944357,0.87294706, 0.87294706, 0.87294706,0.89948899, 0.89948899, 0.89948899, 0.61067683, 0.61067683, 0.61067683,0.84851124, 0.84851124, 0.84851124,0.91925737, 0.91925737, 0.91925737,0.93751395, 0.93751395, 0.93751395,0.94544483, 0.94544483, 0.94544483, 0.73978305, 0.73978305, 0.73978305,0.92827068, 0.92827068, 0.92827068,0.95791111, 0.95791111, 0.95791111,0.96427356, 0.96427356, 0.96427356,0.96797541, 0.96797541, 0.96797541, 0.83057887, 0.83057887, 0.83057887,0.96365083, 0.96365083, 0.96365083,0.97585698, 0.97585698, 0.97585698,0.97866981, 0.97866981, 0.97866981,0.9807326 , 0.9807326 , 0.9807326 }); - auto expHBW = NDArrayFactory::create('c', {bS, time, numUnitsBW}, {0.85301722, 0.85301722, 0.85301722,0.86427295, 0.86427295, 0.86427295,0.8599919 , 0.8599919 , 0.8599919 ,0.80609463, 0.80609463, 0.80609463,0.61814662, 0.61814662, 0.61814662, + auto expHBW = NDArrayFactory::create( {bS, time, numUnitsBW}, {0.85301722, 0.85301722, 0.85301722,0.86427295, 0.86427295, 0.86427295,0.8599919 , 0.8599919 , 0.8599919 ,0.80609463, 0.80609463, 0.80609463,0.61814662, 0.61814662, 0.61814662, 0.91888753, 0.91888753, 0.91888753,0.92652672, 0.92652672, 0.92652672,0.92939674, 0.92939674, 0.92939674,0.90661931, 0.90661931, 0.90661931,0.74516764, 0.74516764, 0.74516764, 0.95254269, 0.95254269, 0.95254269,0.95710717, 0.95710717, 0.95710717,0.96021584, 0.96021584, 0.96021584,0.95222547, 0.95222547, 0.95222547,0.83426363, 0.83426363, 0.83426363, 0.97154357, 0.97154357, 0.97154357,0.97424915, 0.97424915, 0.97424915,0.97644817, 0.97644817, 0.97644817,0.97410547, 0.97410547, 0.97410547,0.89409962, 0.89409962, 0.89409962}); - auto expHFWfinal = NDArrayFactory::create('c', {bS, numUnitsFW}, {0.89948899, 0.89948899, 0.89948899, 0.94544483, 0.94544483, 0.94544483, 0.96797541, 0.96797541, 0.96797541, 0.9807326 , 0.9807326 , 0.9807326 }); - auto expHBWfinal = NDArrayFactory::create('c', {bS, numUnitsBW}, {0.85301722, 0.85301722, 0.85301722, 0.91888753, 0.91888753, 0.91888753, 0.95254269, 0.95254269, 0.95254269, 0.97154357, 0.97154357, 0.97154357}); + auto expHFWfinal = NDArrayFactory::create( {bS, numUnitsFW}, {0.89948899, 0.89948899, 0.89948899, 0.94544483, 0.94544483, 0.94544483, 0.96797541, 0.96797541, 0.96797541, 0.9807326 , 0.9807326 , 0.9807326 }); + auto expHBWfinal = NDArrayFactory::create( {bS, numUnitsBW}, {0.85301722, 0.85301722, 0.85301722, 0.91888753, 0.91888753, 0.91888753, 0.95254269, 0.95254269, 0.95254269, 0.97154357, 0.97154357, 0.97154357}); sd::ops::dynamic_bidirectional_rnn op; auto results = op.evaluate({&x, &WxFW,&WhFW,&bFW, &WxFW,&WhFW,&bFW, &h0FW, &h0BW}, {}, {}); @@ -2717,28 +2716,28 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test5) { const int numUnitsBW = 3; const int time = 5; - auto x = NDArrayFactory::create('c', {bS, time, inSize}); - auto WxFW = NDArrayFactory::create('c', {inSize, numUnitsFW}); - auto WhFW = NDArrayFactory::create('c', {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create('c', {2*numUnitsFW}); + auto x = NDArrayFactory::create( {bS, time, inSize}); + auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); + auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); + auto bFW = NDArrayFactory::create( {2*numUnitsFW}); x.linspace(0.01, 0.01); WxFW = 0.3; WhFW = 0.4; bFW = 0.1; - auto expHFW = NDArrayFactory::create('c', {bS, time, numUnitsFW}, {0.22602835, 0.22602835, 0.22602835,0.49994591, 0.49994591, 0.49994591,0.72869307, 0.72869307, 0.72869307,0.84784327, 0.84784327, 0.84784327,0.89357928, 0.89357928, 0.89357928, + auto expHFW = NDArrayFactory::create( {bS, time, numUnitsFW}, {0.22602835, 0.22602835, 0.22602835,0.49994591, 0.49994591, 0.49994591,0.72869307, 0.72869307, 0.72869307,0.84784327, 0.84784327, 0.84784327,0.89357928, 0.89357928, 0.89357928, 0.43819931, 0.43819931, 0.43819931,0.7793996 , 0.7793996 , 0.7793996 ,0.9053792 , 0.9053792 , 0.9053792 ,0.93546593, 0.93546593, 0.93546593,0.94518339, 0.94518339, 0.94518339, 0.61067683, 0.61067683, 0.61067683,0.90347408, 0.90347408, 0.90347408,0.95538786, 0.95538786, 0.95538786,0.96406045, 0.96406045, 0.96406045,0.96795929, 0.96795929, 0.96795929, 0.73978305, 0.73978305, 0.73978305,0.95499984, 0.95499984, 0.95499984,0.97535671, 0.97535671, 0.97535671,0.97864446, 0.97864446, 0.97864446,0.98073144, 0.98073144, 0.98073144}); - auto expHBW = NDArrayFactory::create('c', {bS, time, numUnitsBW}, {0.84882345, 0.84882345, 0.84882345,0.85160683, 0.85160683, 0.85160683,0.81997657, 0.81997657, 0.81997657,0.69228829, 0.69228829, 0.69228829,0.39861399, 0.39861399, 0.39861399, + auto expHBW = NDArrayFactory::create( {bS, time, numUnitsBW}, {0.84882345, 0.84882345, 0.84882345,0.85160683, 0.85160683, 0.85160683,0.81997657, 0.81997657, 0.81997657,0.69228829, 0.69228829, 0.69228829,0.39861399, 0.39861399, 0.39861399, 0.91865453, 0.91865453, 0.91865453,0.92528094, 0.92528094, 0.92528094,0.92212167, 0.92212167, 0.92212167,0.86418213, 0.86418213, 0.86418213,0.57969286, 0.57969286, 0.57969286, 0.95252666, 0.95252666, 0.95252666,0.95696305, 0.95696305, 0.95696305,0.95878749, 0.95878749, 0.95878749,0.93722463, 0.93722463, 0.93722463,0.71727031, 0.71727031, 0.71727031, 0.97154234, 0.97154234, 0.97154234,0.97423089, 0.97423089, 0.97423089,0.976149 , 0.976149 , 0.976149 ,0.96878298, 0.96878298, 0.96878298,0.81508646, 0.81508646, 0.81508646}); - auto expHFWfinal = NDArrayFactory::create('c', {bS, numUnitsFW}, {0.89357928, 0.89357928, 0.89357928, 0.94518339, 0.94518339, 0.94518339, 0.96795929, 0.96795929, 0.96795929, 0.98073144, 0.98073144, 0.98073144}); - auto expHBWfinal = NDArrayFactory::create('c', {bS, numUnitsBW}, {0.84882345, 0.84882345, 0.84882345, 0.91865453, 0.91865453, 0.91865453, 0.95252666, 0.95252666, 0.95252666, 0.97154234, 0.97154234, 0.97154234}); + auto expHFWfinal = NDArrayFactory::create( {bS, numUnitsFW}, {0.89357928, 0.89357928, 0.89357928, 0.94518339, 0.94518339, 0.94518339, 0.96795929, 0.96795929, 0.96795929, 0.98073144, 0.98073144, 0.98073144}); + auto expHBWfinal = NDArrayFactory::create( {bS, numUnitsBW}, {0.84882345, 0.84882345, 0.84882345, 0.91865453, 0.91865453, 0.91865453, 0.95252666, 0.95252666, 0.95252666, 0.97154234, 0.97154234, 0.97154234}); sd::ops::dynamic_bidirectional_rnn op; auto results = op.evaluate({&x, &WxFW,&WhFW,&bFW, &WxFW,&WhFW,&bFW}, {}, {}); @@ -2764,8 +2763,8 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test5) { TEST_F(DeclarableOpsTests6, Test_Diag_119_1) { - auto x = NDArrayFactory::create('c', {3}, {0.15f, 0.25f, 0.35f}); - auto e = NDArrayFactory::create('c', {3, 3}, {0.15f, 0.0f, 0.0f, 0.0f, 0.25f, 0.0f, 0.0f, 0.0f, 0.35f}); + auto x = NDArrayFactory::create( {3}, {0.15f, 0.25f, 0.35f}); + auto e = NDArrayFactory::create( {3, 3}, {0.15f, 0.0f, 0.0f, 0.0f, 0.25f, 0.0f, 0.0f, 0.0f, 0.35f}); sd::ops::diag op; auto result = op.evaluate({&x}, {}, {}); @@ -2777,8 +2776,8 @@ TEST_F(DeclarableOpsTests6, Test_Diag_119_1) { } TEST_F(DeclarableOpsTests6, Test_Diag_119_2) { - auto x = NDArrayFactory::create('c', {1}, {0.15f}); - auto e = NDArrayFactory::create('c', {1, 1}, {0.15f}); + auto x = NDArrayFactory::create( {1}, {0.15f}); + auto e = NDArrayFactory::create( {1, 1}, {0.15f}); sd::ops::diag op; auto result = op.evaluate({&x}, {}, {}); @@ -2791,7 +2790,7 @@ TEST_F(DeclarableOpsTests6, Test_Diag_119_2) { TEST_F(DeclarableOpsTests6, Test_Diag_119_3) { auto x = NDArrayFactory::create(0.15f); - auto e = NDArrayFactory::create('c', {1, 1}, {0.15f}); + auto e = NDArrayFactory::create( {1, 1}, {0.15f}); sd::ops::diag op; auto result = op.evaluate({&x}, {}, {}); From 5ba14e167ec7b5a153033e5cfa7aadc768f1fc37 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 19 Jun 2020 18:03:45 +0300 Subject: [PATCH 60/99] Finished with the sixth test file and fixed the seventh test file with new factory create method. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests6.cpp | 8 +- .../layers_tests/DeclarableOpsTests7.cpp | 1628 ++++++++--------- 2 files changed, 818 insertions(+), 818 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp index e1bd4671d618..9e77d6c84ecd 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp @@ -143,9 +143,9 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_04) { auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, onesD); - variableSpace->putVariable(-2, b); - variableSpace->putVariable(-3, e); - variableSpace->putVariable(-4, s); + variableSpace->putVariable(-2, new NDArray(b)); + variableSpace->putVariable(-3, new NDArray(e)); + variableSpace->putVariable(-4, new NDArray(s)); auto block = new Context(1, variableSpace, false); // not-in-place block->fillInputs({-1}); block->fillInputs({-2}); @@ -156,7 +156,7 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_Once_Again_04) { block->getIArguments()->push_back(1); block->getIArguments()->push_back(0); block->getIArguments()->push_back(0); - auto inputShapes = new ShapeList({ones->shapeInfo(), b->shapeInfo(), e->shapeInfo(), s->shapeInfo()}); + auto inputShapes = new ShapeList({ones->shapeInfo(), b.shapeInfo(), e.shapeInfo(), s.shapeInfo()}); sd::ops::strided_slice op; auto result = op.calculateOutputShape(inputShapes, *block); //execute({ones, &b, &e, &s}, {}, {0, 1, 0, 0, 0}); ASSERT_EQ(result->size(), 1); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp index d8478e471333..907a33b07c2b 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp @@ -58,7 +58,7 @@ TEST_F(DeclarableOpsTests7, Test_CHOOSE_SCALAR_LARGE) { 0, 0.51, 0.68, 0.69, 0.86, 0.91, 0.96, 0.97, 0.97, 1.03, 1.13, 1.16, 1.16, 1.17, 1.19, 1.25, 1.25, 1.26, 1.27, 1.28, 1.29, 1.29, 1.29, 1.30, 1.31, 1.32, 1.33, 1.33, 1.35, 1.35, 1.36, 1.37, 1.38, 1.40, 1.41, 1.42, 1.43, 1.44, 1.44, 1.45, 1.45, 1.47, 1.47, 1.51, 1.51, 1.51, 1.52, 1.53, 1.56, 1.57, 1.58, 1.59, 1.61, 1.62, 1.63, 1.63, 1.64, 1.64, 1.66, 1.66, 1.67, 1.67, 1.70, 1.70, 1.70, 1.72, 1.72, 1.72, 1.72, 1.73, 1.74, 1.74, 1.76, 1.76, 1.77, 1.77, 1.80, 1.80, 1.81, 1.82, 1.83, 1.83, 1.84, 1.84, 1.84, 1.85, 1.85, 1.85, 1.86, 1.86, 1.87, 1.88, 1.89, 1.89, 1.89, 1.89, 1.89, 1.91, 1.91, 1.91, 1.92, 1.94, 1.95, 1.97, 1.98, 1.98, 1.98, 1.98, 1.98, 1.99, 2, 2, 2.01, 2.01, 2.02, 2.03, 2.03, 2.03, 2.04, 2.04, 2.05, 2.06, 2.07, 2.08, 2.08, 2.08, 2.08, 2.09, 2.09, 2.10, 2.10, 2.11, 2.11, 2.11, 2.12, 2.12, 2.13, 2.13, 2.14, 2.14, 2.14, 2.14, 2.15, 2.15, 2.16, 2.16, 2.16, 2.16, 2.16, 2.17 }; - auto x = NDArrayFactory::create(inputData,'c',{1,149}); + auto x = NDArrayFactory::create(inputData, {1,149}); sd::ops::choose op; //greater than test auto result = op.evaluate({&x}, {0.0},{3}); @@ -81,7 +81,7 @@ TEST_F(DeclarableOpsTests7, Test_CHOOSE_SCALAR_ZERO) { - auto x = NDArrayFactory::create('c',{1,4},data); + auto x = NDArrayFactory::create( {1,4},data); sd::ops::choose op; //greater than test auto result = op.evaluate({&x}, {0.0},{3}); @@ -105,8 +105,8 @@ TEST_F(DeclarableOpsTests7, Test_CHOOSE_SCALAR) { - auto x = NDArrayFactory::create('c',{1,4},data); - auto scalar = NDArrayFactory::create('c',{1,1},{0.0}); + auto x = NDArrayFactory::create( {1,4},data); + auto scalar = NDArrayFactory::create( {1,1},{0.0}); sd::ops::choose op; //greater than test auto result = op.evaluate({&x,&scalar}, {1.0},{3}); @@ -129,8 +129,8 @@ TEST_F(DeclarableOpsTests7, Test_CHOOSE_SCALAR_LEFT) { - auto x = NDArrayFactory::create('c',{1,4},data); - auto scalar = NDArrayFactory::create('c',{1,1},{0.0}); + auto x = NDArrayFactory::create( {1,4},data); + auto scalar = NDArrayFactory::create( {1,1},{0.0}); sd::ops::choose op; //greater than test auto result = op.evaluate({&scalar,&x}, {1.0},{3}); @@ -153,7 +153,7 @@ TEST_F(DeclarableOpsTests7, Test_CHOOSE_ONLY_SCALAR) { - auto x = NDArrayFactory::create('c',{1,4},data); + auto x = NDArrayFactory::create( {1,4},data); sd::ops::choose op; //greater than test auto result = op.evaluate({&x}, {1.0},{3}); @@ -176,7 +176,7 @@ TEST_F(DeclarableOpsTests7, Test_CHOOSE_ONLY_SCALAR_GTE) { - auto x = NDArrayFactory::create('c',{1,4},data); + auto x = NDArrayFactory::create( {1,4},data); sd::ops::choose op; //greater than test auto result = op.evaluate({&x}, {1.0},{5}); @@ -215,10 +215,10 @@ TEST_F(DeclarableOpsTests7, TEST_WHERE) { - auto x = NDArrayFactory::create('c',{1,4},data); - auto maskArr = NDArrayFactory::create('c',{1,4},mask); - auto putArr = NDArrayFactory::create('c',{1,4},put); - auto resultArr = NDArrayFactory::create('c',{1,4},resultData); + auto x = NDArrayFactory::create( {1,4},data); + auto maskArr = NDArrayFactory::create( {1,4},mask); + auto putArr = NDArrayFactory::create( {1,4},put); + auto resultArr = NDArrayFactory::create( {1,4},resultData); sd::ops::where_np op; //greater than test // Nd4jStatus execute(std::initializer_list*> inputs, std::initializer_list*> outputs , std::initializer_list tArgs, std::initializer_list iArgs, bool isInplace = false); @@ -286,10 +286,10 @@ TEST_F(DeclarableOpsTests7, TEST_WHERE_SCALAR) { put.push_back(5.0); - auto x = NDArrayFactory::create('c',{1,4},data); - auto maskArr = NDArrayFactory::create('c',{1,4},mask); - auto putArr = NDArrayFactory::create('c',{1,1},put); - auto resultArr = NDArrayFactory::create('c',{1,4},resultData); + auto x = NDArrayFactory::create( {1,4},data); + auto maskArr = NDArrayFactory::create( {1,4},mask); + auto putArr = NDArrayFactory::create( {1,1},put); + auto resultArr = NDArrayFactory::create( {1,4},resultData); sd::ops::where_np op; //greater than test // Nd4jStatus execute(std::initializer_list*> inputs, std::initializer_list*> outputs , std::initializer_list tArgs, std::initializer_list iArgs, bool isInplace = false); @@ -308,9 +308,9 @@ TEST_F(DeclarableOpsTests7, TEST_WHERE_SCALAR) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestMatrixDiagPart_1) { - auto x = NDArrayFactory::create('c', {2, 4, 4}, {1., 0., 0., 0., 0., 2., 0., 0., 0., 0., 3., 0., 0., 0., 0., 4.,5., 0., 0., 0., 0., 6., 0., 0., 0., 0., 7., 0., 0., 0., 0., 8.}); + auto x = NDArrayFactory::create( {2, 4, 4}, {1., 0., 0., 0., 0., 2., 0., 0., 0., 0., 3., 0., 0., 0., 0., 4.,5., 0., 0., 0., 0., 6., 0., 0., 0., 0., 7., 0., 0., 0., 0., 8.}); - auto z = NDArrayFactory::create('c', {2, 4}, {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0}); + auto z = NDArrayFactory::create( {2, 4}, {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0}); sd::ops::matrix_diag_part op; @@ -324,9 +324,9 @@ TEST_F(DeclarableOpsTests7, TestMatrixDiagPart_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestMatrixDiagPart_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {1., 0., 0., 0., 0., 2., 0., 0., 0., 0., 3., 0.,5., 0., 0., 0., 0., 6., 0., 0., 0., 0., 7., 0.}); + auto x = NDArrayFactory::create( {2, 3, 4}, {1., 0., 0., 0., 0., 2., 0., 0., 0., 0., 3., 0.,5., 0., 0., 0., 0., 6., 0., 0., 0., 0., 7., 0.}); - auto z = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 5, 6, 7}); + auto z = NDArrayFactory::create( {2, 3}, {1, 2, 3, 5, 6, 7}); sd::ops::matrix_diag_part op; @@ -340,9 +340,9 @@ TEST_F(DeclarableOpsTests7, TestMatrixDiagPart_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestMatrixDiag_1) { - auto z = NDArrayFactory::create('c', {2, 4, 4}, {1., 0., 0., 0., 0., 2., 0., 0., 0., 0., 3., 0., 0., 0., 0., 4.,5., 0., 0., 0., 0., 6., 0., 0., 0., 0., 7., 0., 0., 0., 0., 8.}); + auto z = NDArrayFactory::create( {2, 4, 4}, {1., 0., 0., 0., 0., 2., 0., 0., 0., 0., 3., 0., 0., 0., 0., 4.,5., 0., 0., 0., 0., 6., 0., 0., 0., 0., 7., 0., 0., 0., 0., 8.}); - auto x = NDArrayFactory::create('c', {2, 4}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto x = NDArrayFactory::create( {2, 4}, {1, 2, 3, 4, 5, 6, 7, 8}); sd::ops::matrix_diag op; @@ -356,8 +356,8 @@ TEST_F(DeclarableOpsTests7, TestMatrixDiag_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestMatrixDiag_2) { - auto z = NDArrayFactory::create('c', {2, 3, 3}, {1., 0., 0., 0., 2., 0., 0., 0., 3.,5., 0., 0., 0., 6., 0.,0., 0., 7.}); - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 5, 6, 7}); + auto z = NDArrayFactory::create( {2, 3, 3}, {1., 0., 0., 0., 2., 0., 0., 0., 3.,5., 0., 0., 0., 6., 0.,0., 0., 7.}); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 5, 6, 7}); sd::ops::matrix_diag op; @@ -371,8 +371,8 @@ TEST_F(DeclarableOpsTests7, TestMatrixDiag_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRandomCrop_1) { - auto x = NDArrayFactory::create('c', {2, 2, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); - auto shape = NDArrayFactory::create({1, 2, 3}); + auto x = NDArrayFactory::create( {2, 2, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); + auto shape = NDArrayFactory::vector({1, 2, 3}); sd::ops::random_crop op; auto result = op.evaluate({&x, &shape}, {}, {}); @@ -385,8 +385,8 @@ TEST_F(DeclarableOpsTests7, TestRandomCrop_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRandomCrop_2) { - auto x = NDArrayFactory::create('c', {2, 2, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); - auto shape = NDArrayFactory::create({2, 2, 2}); + auto x = NDArrayFactory::create( {2, 2, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); + auto shape = NDArrayFactory::vector({2, 2, 2}); sd::ops::random_crop op; auto result = op.evaluate({&x, &shape}, {}, {}); @@ -399,23 +399,23 @@ TEST_F(DeclarableOpsTests7, TestRandomCrop_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Dynamic_Stitch_119) { - auto indices0 = NDArrayFactory::create('c', {2}, {1, 10}); - auto indices1 = NDArrayFactory::create('c', {2, 3}, {0, 7, 9, 5, 8, 3}); - auto indices2 = NDArrayFactory::create('c', {3, 1}, {6, 4, 2}); - auto data0 = NDArrayFactory::create('c', {2,5,4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, + auto indices0 = NDArrayFactory::create( {2}, {1, 10}); + auto indices1 = NDArrayFactory::create( {2, 3}, {0, 7, 9, 5, 8, 3}); + auto indices2 = NDArrayFactory::create( {3, 1}, {6, 4, 2}); + auto data0 = NDArrayFactory::create( {2,5,4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 28.f,29.f, 30.f, 31.f, 32.f,33.f, 34.f, 35.f, 36.f,37.f, 38.f, 39.f, 40.f}); - auto data1 = NDArrayFactory::create('c', {2,3,5,4},{1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f,25.f, 26.f, 27.f, 28.f, + auto data1 = NDArrayFactory::create( {2,3,5,4},{1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f,25.f, 26.f, 27.f, 28.f, 29.f, 30.f, 31.f, 32.f,33.f, 34.f, 35.f, 36.f,37.f, 38.f, 39.f, 40.f,41.f, 42.f, 43.f, 44.f,45.f, 46.f, 47.f, 48.f,49.f, 50.f, 51.f, 52.f,53.f, 54.f, 55.f, 56.f, 57.f, 58.f, 59.f, 60.f,61.f, 62.f, 63.f, 64.f,65.f, 66.f, 67.f, 68.f,69.f, 70.f, 71.f, 72.f,73.f, 74.f, 75.f, 76.f,77.f, 78.f, 79.f, 80.f,81.f, 82.f, 83.f, 84.f, 85.f, 86.f, 87.f, 88.f,89.f, 90.f, 91.f, 92.f,93.f, 94.f, 95.f, 96.f,97.f, 98.f, 99.f, 100.f,101.f, 102.f, 103.f, 104.f,105.f, 106.f, 107.f, 108.f,109.f, 110.f, 111.f, 112.f, 113.f, 114.f, 115.f, 116.f,117.f, 118.f, 119.f, 120.f}); - auto data2 = NDArrayFactory::create('c', {3,1,5,4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, + auto data2 = NDArrayFactory::create( {3,1,5,4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 28.f,29.f, 30.f, 31.f, 32.f,33.f, 34.f, 35.f, 36.f,37.f, 38.f, 39.f, 40.f,41.f, 42.f, 43.f, 44.f,45.f, 46.f, 47.f, 48.f, 49.f, 50.f, 51.f, 52.f,53.f, 54.f, 55.f, 56.f,57.f, 58.f, 59.f, 60.f}); - auto exp = NDArrayFactory::create('c', {11, 5, 4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,1.f, 2.f, 3.f, 4.f, + auto exp = NDArrayFactory::create( {11, 5, 4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,41.f, 42.f, 43.f, 44.f,45.f, 46.f, 47.f, 48.f, 49.f, 50.f, 51.f, 52.f,53.f, 54.f, 55.f, 56.f,57.f, 58.f, 59.f, 60.f,101.f, 102.f, 103.f, 104.f,105.f, 106.f, 107.f, 108.f,109.f, 110.f, 111.f, 112.f, 113.f, 114.f, 115.f, 116.f,117.f, 118.f, 119.f, 120.f,21.f, 22.f, 23.f, 24.f,25.f, 26.f, 27.f, 28.f,29.f, 30.f, 31.f, 32.f,33.f, 34.f, 35.f, 36.f, @@ -437,23 +437,23 @@ TEST_F(DeclarableOpsTests7, Test_Dynamic_Stitch_119) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Dynamic_Stitch_Prof_1) { - auto indices0 = NDArrayFactory::create('c', {2}, {1, 10}); - auto indices1 = NDArrayFactory::create('c', {2, 3}, {0, 7, 9, 5, 8, 3}); - auto indices2 = NDArrayFactory::create('c', {3, 1}, {6, 4, 2}); - auto data0 = NDArrayFactory::create('c', {2,5,4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, + auto indices0 = NDArrayFactory::create( {2}, {1, 10}); + auto indices1 = NDArrayFactory::create( {2, 3}, {0, 7, 9, 5, 8, 3}); + auto indices2 = NDArrayFactory::create( {3, 1}, {6, 4, 2}); + auto data0 = NDArrayFactory::create( {2,5,4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 28.f,29.f, 30.f, 31.f, 32.f,33.f, 34.f, 35.f, 36.f,37.f, 38.f, 39.f, 40.f}); - auto data1 = NDArrayFactory::create('c', {2,3,5,4},{1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f,25.f, 26.f, 27.f, 28.f, + auto data1 = NDArrayFactory::create( {2,3,5,4},{1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f,25.f, 26.f, 27.f, 28.f, 29.f, 30.f, 31.f, 32.f,33.f, 34.f, 35.f, 36.f,37.f, 38.f, 39.f, 40.f,41.f, 42.f, 43.f, 44.f,45.f, 46.f, 47.f, 48.f,49.f, 50.f, 51.f, 52.f,53.f, 54.f, 55.f, 56.f, 57.f, 58.f, 59.f, 60.f,61.f, 62.f, 63.f, 64.f,65.f, 66.f, 67.f, 68.f,69.f, 70.f, 71.f, 72.f,73.f, 74.f, 75.f, 76.f,77.f, 78.f, 79.f, 80.f,81.f, 82.f, 83.f, 84.f, 85.f, 86.f, 87.f, 88.f,89.f, 90.f, 91.f, 92.f,93.f, 94.f, 95.f, 96.f,97.f, 98.f, 99.f, 100.f,101.f, 102.f, 103.f, 104.f,105.f, 106.f, 107.f, 108.f,109.f, 110.f, 111.f, 112.f, 113.f, 114.f, 115.f, 116.f,117.f, 118.f, 119.f, 120.f}); - auto data2 = NDArrayFactory::create('c', {3,1,5,4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, + auto data2 = NDArrayFactory::create( {3,1,5,4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 28.f,29.f, 30.f, 31.f, 32.f,33.f, 34.f, 35.f, 36.f,37.f, 38.f, 39.f, 40.f,41.f, 42.f, 43.f, 44.f,45.f, 46.f, 47.f, 48.f, 49.f, 50.f, 51.f, 52.f,53.f, 54.f, 55.f, 56.f,57.f, 58.f, 59.f, 60.f}); - auto exp = NDArrayFactory::create('c', {11, 5, 4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,1.f, 2.f, 3.f, 4.f, + auto exp = NDArrayFactory::create( {11, 5, 4}, {1.f, 2.f, 3.f, 4.f,5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f,9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,41.f, 42.f, 43.f, 44.f,45.f, 46.f, 47.f, 48.f, 49.f, 50.f, 51.f, 52.f,53.f, 54.f, 55.f, 56.f,57.f, 58.f, 59.f, 60.f,101.f, 102.f, 103.f, 104.f,105.f, 106.f, 107.f, 108.f,109.f, 110.f, 111.f, 112.f, 113.f, 114.f, 115.f, 116.f,117.f, 118.f, 119.f, 120.f,21.f, 22.f, 23.f, 24.f,25.f, 26.f, 27.f, 28.f,29.f, 30.f, 31.f, 32.f,33.f, 34.f, 35.f, 36.f, @@ -488,15 +488,15 @@ TEST_F(DeclarableOpsTests7, Test_Dynamic_Stitch_Prof_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Dynamic_Stitch_119_1) { - auto indices0 = NDArrayFactory::create('c', {2}, {1, 10}); - auto indices1 = NDArrayFactory::create('c', {2, 3}, {0, 7, 9, 5, 8, 3}); - auto indices2 = NDArrayFactory::create('c', {3, 1}, {6, 4, 2}); + auto indices0 = NDArrayFactory::create( {2}, {1, 10}); + auto indices1 = NDArrayFactory::create( {2, 3}, {0, 7, 9, 5, 8, 3}); + auto indices2 = NDArrayFactory::create( {3, 1}, {6, 4, 2}); - auto data0 = NDArrayFactory::create('c', {2,5,4}); - auto data1 = NDArrayFactory::create('c', {2,3,5,4}); - auto data2 = NDArrayFactory::create('c', {3,1,5,4}); + auto data0 = NDArrayFactory::create( {2,5,4}); + auto data1 = NDArrayFactory::create( {2,3,5,4}); + auto data2 = NDArrayFactory::create( {3,1,5,4}); - auto exp = NDArrayFactory::create('c', {11, 5, 4}, { + auto exp = NDArrayFactory::create( {11, 5, 4}, { 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, @@ -579,15 +579,15 @@ TEST_F(DeclarableOpsTests7, Test_Dynamic_Stitch_119_1) { } TEST_F(DeclarableOpsTests7, Test_Dynamic_Stitch_119_2) { - auto indices0 = NDArrayFactory::create('c', {2}, {1, 10}); - auto indices1 = NDArrayFactory::create('c', {2, 3}, {0, 7, 9, 5, 8, 3}); - auto indices2 = NDArrayFactory::create('c', {3, 1}, {6, 4, 2}); + auto indices0 = NDArrayFactory::create( {2}, {1, 10}); + auto indices1 = NDArrayFactory::create( {2, 3}, {0, 7, 9, 5, 8, 3}); + auto indices2 = NDArrayFactory::create( {3, 1}, {6, 4, 2}); - auto data0 = NDArrayFactory::create('c', {2,5,4}); - auto data1 = NDArrayFactory::create('c', {2,3,5,4}); - auto data2 = NDArrayFactory::create('c', {3,1,5,4}); + auto data0 = NDArrayFactory::create( {2,5,4}); + auto data1 = NDArrayFactory::create( {2,3,5,4}); + auto data2 = NDArrayFactory::create( {3,1,5,4}); - auto exp = NDArrayFactory::create('c', {11, 5, 4}, { + auto exp = NDArrayFactory::create( {11, 5, 4}, { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, @@ -670,9 +670,9 @@ TEST_F(DeclarableOpsTests7, Test_Dynamic_Stitch_119_2) { } TEST_F(DeclarableOpsTests7, Test_Dynamic_Partition_119) { - auto x = NDArrayFactory::create('c', {5, 4, 11}); - auto y = NDArrayFactory::create('c', {5, 4}, {0,1,2,3, 1,0,2,3, 2,3,1,0, 2,1,0,3, 0,1,2,3}); - auto e = NDArrayFactory::create('c', {5, 11}); + auto x = NDArrayFactory::create( {5, 4, 11}); + auto y = NDArrayFactory::create( {5, 4}, {0,1,2,3, 1,0,2,3, 2,3,1,0, 2,1,0,3, 0,1,2,3}); + auto e = NDArrayFactory::create( {5, 11}); x.assign(1.f); e.assign(1.f); sd::ops::dynamic_partition op; @@ -687,10 +687,10 @@ TEST_F(DeclarableOpsTests7, Test_Dynamic_Partition_119) { } TEST_F(DeclarableOpsTests7, Test_Dynamic_Partition_119_1) { - auto x = NDArrayFactory::create('c', {3, 4, 2}, {10, 20,11, 21,12, 22,13, 23,14, 24,15, 25,16, 26,17, 27,18, 28,19, 29,20, 30,21, 31}); + auto x = NDArrayFactory::create( {3, 4, 2}, {10, 20,11, 21,12, 22,13, 23,14, 24,15, 25,16, 26,17, 27,18, 28,19, 29,20, 30,21, 31}); - auto y = NDArrayFactory::create('c', {3, 4}, {0,0,0,0, 2,2,2,2, 2,1,1,1}); - auto e = NDArrayFactory::create('c', {4, 2}, {10, 20, 11, 21, 12, 22, 13, 23}); + auto y = NDArrayFactory::create( {3, 4}, {0,0,0,0, 2,2,2,2, 2,1,1,1}); + auto e = NDArrayFactory::create( {4, 2}, {10, 20, 11, 21, 12, 22, 13, 23}); // x.assign(1.f); // e.assign(1.f); @@ -712,24 +712,24 @@ TEST_F(DeclarableOpsTests7, Test_Dynamic_Partition_119_1) { } TEST_F(DeclarableOpsTests7, Test_Dynamic_Partition_119_2) { - auto x = NDArrayFactory::create('c', {5, 4, 11}); - auto y = NDArrayFactory::create('c', {5, 4}, {0,1,2,3, 1,0,2,3, 2,3,1,0, 2,1,0,3, 0,1,2,3}); - auto e1 = NDArrayFactory::create('c', {5, 11}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + auto x = NDArrayFactory::create( {5, 4, 11}); + auto y = NDArrayFactory::create( {5, 4}, {0,1,2,3, 1,0,2,3, 2,3,1,0, 2,1,0,3, 0,1,2,3}); + auto e1 = NDArrayFactory::create( {5, 11}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187}); - auto e2 = NDArrayFactory::create('c', {5, 11}, { 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + auto e2 = NDArrayFactory::create( {5, 11}, { 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198}); - auto e3 = NDArrayFactory::create('c', {5, 11}, {23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + auto e3 = NDArrayFactory::create( {5, 11}, {23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209}); - auto e4 = NDArrayFactory::create('c', {5, 11}, { 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + auto e4 = NDArrayFactory::create( {5, 11}, { 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, @@ -757,8 +757,8 @@ TEST_F(DeclarableOpsTests7, Test_Dynamic_Partition_119_2) { TEST_F(DeclarableOpsTests7, Test_SequenceMask_1) { - auto input = NDArrayFactory::create('c', {4, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}); - auto exp = NDArrayFactory::create('c', {4, 4, 16}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + auto input = NDArrayFactory::create( {4, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}); + auto exp = NDArrayFactory::create( {4, 4, 16}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, @@ -782,8 +782,8 @@ TEST_F(DeclarableOpsTests7, Test_SequenceMask_1) { } TEST_F(DeclarableOpsTests7, Test_SequenceMask_2) { - auto input = NDArrayFactory::create('c', {2, 2, 2}, {10, 20, 30, 4, 0, 6, 7, 8}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 30}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + auto input = NDArrayFactory::create( {2, 2, 2}, {10, 20, 30, 4, 0, 6, 7, 8}); + auto exp = NDArrayFactory::create( {2, 2, 2, 30}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -803,8 +803,8 @@ TEST_F(DeclarableOpsTests7, Test_SequenceMask_2) { } TEST_F(DeclarableOpsTests7, Test_SequenceMask_3) { - auto input = NDArrayFactory::create('c', {2, 2, 2}, {10, 20, 30, 4, 0, 6, 7, 8}); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 30}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + auto input = NDArrayFactory::create( {2, 2, 2}, {10, 20, 30, 4, 0, 6, 7, 8}); + auto exp = NDArrayFactory::create( {2, 2, 2, 30}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -824,9 +824,9 @@ TEST_F(DeclarableOpsTests7, Test_SequenceMask_3) { } TEST_F(DeclarableOpsTests7, Test_SequenceMask_4) { - auto input = NDArrayFactory::create({1, 3, 2}); + auto input = NDArrayFactory::vector({1, 3, 2}); auto maxLen = NDArrayFactory::create(5); - auto exp = NDArrayFactory::create('c', {3,5}, { + auto exp = NDArrayFactory::create( {3,5}, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 1.f, 1.f, 0.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f }); @@ -844,8 +844,8 @@ TEST_F(DeclarableOpsTests7, Test_SequenceMask_4) { } TEST_F(DeclarableOpsTests7, Test_SequenceMask_5) { - auto input = NDArrayFactory::create({1, 3, 2}); - auto exp = NDArrayFactory::create('c', {3,5}, { + auto input = NDArrayFactory::vector({1, 3, 2}); + auto exp = NDArrayFactory::create( {3,5}, { 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 1.f, 1.f, 0.f, 0.f, 1.f, 1.f, 0.f, 0.f, 0.f }); @@ -864,9 +864,9 @@ TEST_F(DeclarableOpsTests7, Test_SequenceMask_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMax_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({2.5, 9, 3, 9, 4.2}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({2.5, 9, 3, 9, 4.2}); sd::ops::segment_max op; @@ -880,9 +880,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMax_1) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMax_01) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1., 10, 40, 30}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5,5, 5}); - auto exp = NDArrayFactory::create({2.5, 9, 3, 9, 4.2, 40}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1., 10, 40, 30}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5,5, 5}); + auto exp = NDArrayFactory::vector({2.5, 9, 3, 9, 4.2, 40}); sd::ops::segment_max op; @@ -896,10 +896,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentMax_01) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMaxBP_1) { - auto x = NDArrayFactory::create({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({0., 1., 0., 2., 0., 0., 3., 4., 0., 0.,0., 0., 0., 5., 0.,0.}); - auto eps = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({0., 1., 0., 2., 0., 0., 3., 4., 0., 0.,0., 0., 0., 5., 0.,0.}); + auto eps = NDArrayFactory::vector(5); sd::ops::segment_max_bp op; eps.linspace(1); auto result = op.evaluate({&x, &idx, &eps}, {}, {}); @@ -912,13 +912,13 @@ TEST_F(DeclarableOpsTests7, TestSegmentMaxBP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMax_2) { - auto x = NDArrayFactory::create('c', {5, 4}, { 0, 1.8, 2.5, 4., + auto x = NDArrayFactory::create( {5, 4}, { 0, 1.8, 2.5, 4., 1, 9., 2.1, 2.4, 0, 3., 9., 2.1, 2, 1, 2.1, 0.7, 3, 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, {1, 9, 9, 4, + auto idx = NDArrayFactory::vector({0, 0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, {1, 9, 9, 4, 2, 1, 2.1, 0.7, 3, 4.2, 2.2, 1.}); @@ -939,11 +939,11 @@ TEST_F(DeclarableOpsTests7, TestSegmentMax_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMaxBP_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto eps = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto eps = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); // NDArray exp('c', {3, 4}, {2.1, 2.5, 4, 9,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); - auto exp = NDArrayFactory::create('c', {4, 4}, {0., 2., 3., 4., 1., 0., 0., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto exp = NDArrayFactory::create( {4, 4}, {0., 2., 3., 4., 1., 0., 0., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -962,15 +962,15 @@ TEST_F(DeclarableOpsTests7, TestSegmentMaxBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMax_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, {91. , 82. , 37. , 64.,55.1, 46.4, 73. , 28.,119.1, 12.1,112.7, 13.1,14. ,114.2, 16.2,117.,51. , 42. , 87. , 44., + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, {91. , 82. , 37. , 64.,55.1, 46.4, 73. , 28.,119.1, 12.1,112.7, 13.1,14. ,114.2, 16.2,117.,51. , 42. , 87. , 44., 55.1, 56.4, 93. , 28.,119.1, 82.1,112.7,113.1,114. ,114.2,116.2,117.,91. , 82. , 37. , 64.,55.1, 46.4, 73. , 28., 119.1, 12.1,112.7, 13.1,14. ,114.2, 16.2,117. }); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -990,12 +990,12 @@ TEST_F(DeclarableOpsTests7, TestSegmentMax_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMax_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, {91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24., + auto x = NDArrayFactory::create( {4, 4, 4}, {91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24., 15.1, 56.4, 93. , 28.,109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); - auto idx = NDArrayFactory::create({0, 1, 3, 7}); - auto exp = NDArrayFactory::create('c', {8, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 3, 7}); + auto exp = NDArrayFactory::create( {8, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24. ,15.1, 56.4, 93. , 28. , 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 31. , 22. , 87. , 44. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , @@ -1019,9 +1019,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMax_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMax_1) { - auto x = NDArrayFactory::create({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({4, 4, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 0, 0}); - auto exp = NDArrayFactory::create({2.2, 9., 3., 9., 4.2}); + auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({4, 4, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 0, 0}); + auto exp = NDArrayFactory::vector({2.2, 9., 3., 9., 4.2}); sd::ops::unsorted_segment_max op; @@ -1034,10 +1034,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMax_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMaxBP_1) { - auto x = NDArrayFactory::create({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({0., 1., 0., 2., 0., 0., 3., 4., 0., 0.,0., 0., 0., 5., 0.,0.}); - auto eps = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({0., 1., 0., 2., 0., 0., 3., 4., 0., 0.,0., 0., 0., 5., 0.,0.}); + auto eps = NDArrayFactory::vector(5); sd::ops::segment_max_bp op; eps.linspace(1); auto result = op.evaluate({&x, &idx, &eps}, {}, {5}); @@ -1049,10 +1049,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMaxBP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMaxBP_2) { - auto x = NDArrayFactory::create({3., 1.8, 2.5, 4., 9., 2.1, 2.4, 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({3., 0., 1., 0., 2., 0., 0., 4., 0., 0.,0., 0., 0., 5., 0.,0.}); - auto eps = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::vector({3., 1.8, 2.5, 4., 9., 2.1, 2.4, 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({3., 0., 1., 0., 2., 0., 0., 4., 0., 0.,0., 0., 0., 5., 0.,0.}); + auto eps = NDArrayFactory::vector(5); sd::ops::segment_max_bp op; eps.linspace(1); auto result = op.evaluate({&x, &idx, &eps}, {}, {5}); @@ -1066,9 +1066,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMaxBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMax_2) { - auto x = NDArrayFactory::create({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({4, 4, 1, 1, 1, 1, 3, 3, 3, 3, 4, 4, 4, 4, 0, 0}); - auto exp = NDArrayFactory::create({2.2, 9., -DataTypeUtils::max(), 9., 4.2}); + auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({4, 4, 1, 1, 1, 1, 3, 3, 3, 3, 4, 4, 4, 4, 0, 0}); + auto exp = NDArrayFactory::vector({2.2, 9., -DataTypeUtils::max(), 9., 4.2}); sd::ops::unsorted_segment_max op; @@ -1082,9 +1082,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMax_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMax_3) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, {2.1, 2.5, 4, 9,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, {2.1, 2.5, 4, 9,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -1102,10 +1102,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMax_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMax_4) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 8., 2.1, 2.1, 11.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 0, 2}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 8., 2.1, 2.1, 11.7, 0.1, 3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 0, 2}); double principalMax = DataTypeUtils::max(); - auto exp = NDArrayFactory::create('c', {3, 4}, {2.1, 2.5, 11.7, 9, + auto exp = NDArrayFactory::create( {3, 4}, {2.1, 2.5, 11.7, 9, -principalMax, -principalMax, -principalMax, -principalMax, 3., 4.2, 2.2, 1.}); @@ -1124,9 +1124,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMax_4) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMin_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4, 3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({1.8, 2.1, 3., 2.1, 0.1}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4, 3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({1.8, 2.1, 3., 2.1, 0.1}); sd::ops::segment_min op; @@ -1141,9 +1141,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMin_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMin_01) { - auto x = NDArrayFactory::create({1.8, -2.5,4., -9., 2.1, 2.4,-3.,-9., 2.1, 2.1,0.7, 0.1, 3., -4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({-2.5, -9, -3., -9, -4.2}); + auto x = NDArrayFactory::vector({1.8, -2.5,4., -9., 2.1, 2.4,-3.,-9., 2.1, 2.1,0.7, 0.1, 3., -4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({-2.5, -9, -3., -9, -4.2}); sd::ops::segment_min op; @@ -1157,9 +1157,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMin_01) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMin_02) { - auto x = NDArrayFactory::create({1.8f, -2.5f, 4.f, -9.f, 2.1f, 2.4f, -3.f, -9.f, 2.1f, 2.1f,0.7f, 0.1f, 3.f, -4.2f, 2.2f, 1.f}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({-2.5f, -9.f, -3.f, -9.f, -4.2f}); + auto x = NDArrayFactory::vector({1.8f, -2.5f, 4.f, -9.f, 2.1f, 2.4f, -3.f, -9.f, 2.1f, 2.1f,0.7f, 0.1f, 3.f, -4.2f, 2.2f, 1.f}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({-2.5f, -9.f, -3.f, -9.f, -4.2f}); sd::ops::segment_min op; @@ -1174,10 +1174,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentMin_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMinBP_1) { - auto x = NDArrayFactory::create({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({ 1., 0., 0., 0., 2., 0., 3., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); - auto eps = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({ 1., 0., 0., 0., 2., 0., 3., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); + auto eps = NDArrayFactory::create( {5}); eps.linspace(1); sd::ops::segment_min_bp op; @@ -1191,10 +1191,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentMinBP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMinBP_1) { - auto x = NDArrayFactory::create({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({ 1., 0., 0., 0., 2., 0., 3., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); - auto eps = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({ 1., 0., 0., 0., 2., 0., 3., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); + auto eps = NDArrayFactory::create( {5}); eps.linspace(1); sd::ops::unsorted_segment_min_bp op; @@ -1210,10 +1210,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMinBP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMinBP_2) { - auto x = NDArrayFactory::create({3., 1.8, 2.5, 4., 9., 2.1, 2.4, 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({3., 1., 0., 0., 0., 2., 0., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); - auto eps = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::vector({3., 1.8, 2.5, 4., 9., 2.1, 2.4, 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({3., 1., 0., 0., 0., 2., 0., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); + auto eps = NDArrayFactory::create( {5}); eps.linspace(1); sd::ops::unsorted_segment_min_bp op; @@ -1229,9 +1229,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMinBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMin_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, {1.8, 2.4, 3. , 9.,2.1, 2.1, 0.7, 0.1,3. , 4.2, 2.2, 1.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, {1.8, 2.4, 3. , 9.,2.1, 2.1, 0.7, 0.1,3. , 4.2, 2.2, 1.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -1249,10 +1249,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentMin_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMinBP_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto eps = NDArrayFactory::create('c', {3, 4}, {1., 2., 3. , 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto exp = NDArrayFactory::create('c', {4, 4}, {1., 0., 0., 4., 0., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto eps = NDArrayFactory::create( {3, 4}, {1., 2., 3. , 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto exp = NDArrayFactory::create( {4, 4}, {1., 0., 0., 4., 0., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -1270,15 +1270,15 @@ TEST_F(DeclarableOpsTests7, TestSegmentMinBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMin_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28.,109.1, 82.1, 12.7, 113.1, 114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, {91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,31. , 22. , 67. , 24. , + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, {91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,31. , 22. , 67. , 24. , 15.1, 46.4, 73. , 28. ,109.1, 12.1, 12.7, 13.1,14. , 14.2, 16.2, 11. ,91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); sd::ops::segment_min op; @@ -1296,15 +1296,15 @@ TEST_F(DeclarableOpsTests7, TestSegmentMin_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMin_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 3, 7}); - auto exp = NDArrayFactory::create('c', {8, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 3, 7}); + auto exp = NDArrayFactory::create( {8, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24. ,15.1, 56.4, 93. , 28. , 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 31. , 22. , 87. , 44. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , @@ -1327,9 +1327,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMin_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({1.8, 2.1, 3., 2.1, 0.1}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({1.8, 2.1, 3., 2.1, 0.1}); sd::ops::unsorted_segment_min op; @@ -1341,9 +1341,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_1) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_01) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({1.8, 2.1, 3., 2.1, 0.1}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({1.8, 2.1, 3., 2.1, 0.1}); sd::ops::unsorted_segment_min op; @@ -1356,9 +1356,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_01) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, {1.8, 2.4, 3. , 9.,2.1, 2.1, 0.7, 0.1,3. , 4.2, 2.2, 1.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, {1.8, 2.4, 3. , 9.,2.1, 2.1, 0.7, 0.1,3. , 4.2, 2.2, 1.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -1376,14 +1376,14 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28.,109.1, 82.1, 12.7, 113.1, + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28.,109.1, 82.1, 12.7, 113.1, 114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, {91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,31. , 22. , 67. , 24. , + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, {91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,31. , 22. , 67. , 24. , 15.1, 46.4, 73. , 28. ,109.1, 12.1, 12.7, 13.1,14. , 14.2, 16.2, 11. ,91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); sd::ops::unsorted_segment_min op; @@ -1401,17 +1401,17 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, {91., 82., 37., 64., 55.1, 46.4, 73., 28., 119.1, 12.1, 112.7, 13.1, 14., 114.2, 16.2, 117., + auto x = NDArrayFactory::create( {4, 4, 4}, {91., 82., 37., 64., 55.1, 46.4, 73., 28., 119.1, 12.1, 112.7, 13.1, 14., 114.2, 16.2, 117., 51., 42., 67., 24., 15.1, 56.4, 93., 28., 109.1, 82.1, 12.7, 113.1, 114., 14.2, 116.2, 11., 31., 22., 87., 44., 55.1, 46.4, 73., 28., 119.1, 12.1, 112.7, 13.1, 14., 114.2, 16.2, 117., 91., 82., 37., 64., 55.1, 46.4, 73., 28., 119.1, 12.1, 112.7, 13.1, 14., 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 3, 7}); + auto idx = NDArrayFactory::vector({0, 1, 3, 7}); double principalMax = DataTypeUtils::max(); - auto exp = NDArrayFactory::create('c', {8, 4, 4}, { + auto exp = NDArrayFactory::create( {8, 4, 4}, { 91., 82., 37., 64., 55.1, 46.4, 73., 28., 119.1, 12.1, 112.7, 13.1, 14., 114.2, 16.2, 117., 51., 42., 67., 24., 15.1, 56.4, 93., 28., 109.1, 82.1, 12.7, 113.1, 114., 14.2, 116.2, 11., principalMax, principalMax, principalMax, principalMax, principalMax, principalMax, principalMax, @@ -1443,9 +1443,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMin_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMean_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({2.15, 4.375, 3., 4.4, 1.8666667}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({2.15, 4.375, 3., 4.4, 1.8666667}); sd::ops::segment_mean op; @@ -1457,9 +1457,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMean_1) { } TEST_F(DeclarableOpsTests7, TestSegmentMean_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, { 1.95, 2.45, 3.5, 9., 2.1, 2.1, 0.7, 0.1, 3. , 4.2, 2.2, 1.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, { 1.95, 2.45, 3.5, 9., 2.1, 2.1, 0.7, 0.1, 3. , 4.2, 2.2, 1.}); sd::ops::segment_mean op; @@ -1475,9 +1475,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMean_2) { } TEST_F(DeclarableOpsTests7, TestSegmentMean_02) { - auto x = NDArrayFactory::create('c', {6, 3}, {1, 2, 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 2,2}); - auto exp = NDArrayFactory::create('c', {3, 3}, { 2.5, 3.5, 4.5, 8.5, 9.5, 10.5, 14.5, 15.5, 16.5}); + auto x = NDArrayFactory::create( {6, 3}, {1, 2, 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 2,2}); + auto exp = NDArrayFactory::create( {3, 3}, { 2.5, 3.5, 4.5, 8.5, 9.5, 10.5, 14.5, 15.5, 16.5}); sd::ops::segment_mean op; @@ -1490,9 +1490,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMean_02) { } TEST_F(DeclarableOpsTests7, TestSegmentMean_021) { - auto x = NDArrayFactory::create('c', {6, 3});//, {1, 2, 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 2,2}); - auto exp = NDArrayFactory::create('c', {3, 3}, { 2.5f, 3.5f, 4.5f, 8.5f, 9.5f, 10.5f, 14.5f, 15.5f, 16.5f}); + auto x = NDArrayFactory::create( {6, 3});//, {1, 2, 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 2,2}); + auto exp = NDArrayFactory::create( {3, 3}, { 2.5f, 3.5f, 4.5f, 8.5f, 9.5f, 10.5f, 14.5f, 15.5f, 16.5f}); sd::ops::segment_mean op; x.linspace(1.); @@ -1505,10 +1505,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentMean_021) { } TEST_F(DeclarableOpsTests7, TestSegmentMean_022) { - auto x = NDArrayFactory::create('c', {6, 3});//, {1, 2, 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 2,2}); - auto z = NDArrayFactory::create('c', {3, 3}); //, { 2.5, 3.5, 4.5, 8.5, 9.5, 10.5, 14.5, 15.5, 16.5}); - auto exp = NDArrayFactory::create('c', {3, 3}, { 2.5f, 3.5f, 4.5f, 8.5f, 9.5f, 10.5f, 14.5f, 15.5f, 16.5f}); + auto x = NDArrayFactory::create( {6, 3});//, {1, 2, 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 2,2}); + auto z = NDArrayFactory::create( {3, 3}); //, { 2.5, 3.5, 4.5, 8.5, 9.5, 10.5, 14.5, 15.5, 16.5}); + auto exp = NDArrayFactory::create( {3, 3}, { 2.5f, 3.5f, 4.5f, 8.5f, 9.5f, 10.5f, 14.5f, 15.5f, 16.5f}); sd::ops::segment_mean op; x.linspace(1.); @@ -1522,10 +1522,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentMean_022) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMeanBP_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto eps = NDArrayFactory::create('c', {3, 4}); - auto exp = NDArrayFactory::create('c', {4, 4}, { 0.5, 1., 1.5, 2., 0.5, 1., 1.5, 2., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto eps = NDArrayFactory::create( {3, 4}); + auto exp = NDArrayFactory::create( {4, 4}, { 0.5, 1., 1.5, 2., 0.5, 1., 1.5, 2., 5., 6., 7., 8., 9., 10., 11., 12.}); eps.linspace(1); sd::ops::segment_mean_bp op; @@ -1540,15 +1540,15 @@ TEST_F(DeclarableOpsTests7, TestSegmentMeanBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMean_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, { 91. , 82. , 37. , 64. ,55.1 , 46.4 , 73. , 28. ,119.1 , 12.1 , 112.7 , 13.1,14. , 114.2 , 16.2 , 117. , 41. , 32. , 77. , 34. ,35.1 , 51.4 , 83. , 28. ,114.1 , 47.1 , 62.7, 63.1,64. , 64.2 , 66.2 , 64. , 91. , 82. , 37. , 64. ,55.1 , 46.4 , 73. , 28. ,119.1 , 12.1 , 112.7 , 13.1,14. , 114.2 , 16.2 , 117. }); @@ -1568,15 +1568,15 @@ TEST_F(DeclarableOpsTests7, TestSegmentMean_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMean_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 3, 7}); - auto exp = NDArrayFactory::create('c', {8, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 3, 7}); + auto exp = NDArrayFactory::create( {8, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24. ,15.1, 56.4, 93. , 28. , 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 31. , 22. , 87. , 44. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , @@ -1600,9 +1600,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentMean_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMean_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({2.15, 4.375, 3., 4.4, 1.8666667}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({2.15, 4.375, 3., 4.4, 1.8666667}); sd::ops::unsorted_segment_mean op; @@ -1615,10 +1615,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMean_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentMeanBP_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); - auto exp = NDArrayFactory::create({1./2., 1./2., 2./4., 2./4., 2./4., 2./4, 3., 4./3., 4./3., 4./3., + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); + auto exp = NDArrayFactory::vector({1./2., 1./2., 2./4., 2./4., 2./4., 2./4, 3., 4./3., 4./3., 4./3., 5./6., 5./6., 5./6., 5./6., 5./6., 5./6.}); sd::ops::segment_mean_bp op; @@ -1631,10 +1631,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentMeanBP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMeanBP_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); - auto exp = NDArrayFactory::create({1./2., 1./2., 2./4., 2./4., 2./4., 2./4, 3., 4./3., 4./3., 4./3., + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); + auto exp = NDArrayFactory::vector({1./2., 1./2., 2./4., 2./4., 2./4., 2./4, 3., 4./3., 4./3., 4./3., 5./6., 5./6., 5./6., 5./6., 5./6., 5./6.}); sd::ops::unsorted_segment_mean_bp op; @@ -1647,10 +1647,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMeanBP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMeanBP_2) { - auto x = NDArrayFactory::create({3.,1.8, 2.5,4., 9., 2.1, 2.4,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); - auto exp = NDArrayFactory::create({3., 1./2., 1./2., 2./4., 2./4., 2./4., 2./4, 4./3., 4./3., 4./3., + auto x = NDArrayFactory::vector({3.,1.8, 2.5,4., 9., 2.1, 2.4,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); + auto exp = NDArrayFactory::vector({3., 1./2., 1./2., 2./4., 2./4., 2./4., 2./4, 4./3., 4./3., 4./3., 5./6., 5./6., 5./6., 5./6., 5./6., 5./6.}); sd::ops::unsorted_segment_mean_bp op; @@ -1663,9 +1663,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMeanBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMean_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, { 1.95, 2.45, 3.5, 9., 2.1, 2.1, 0.7, 0.1, 3. , 4.2, 2.2, 1.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, { 1.95, 2.45, 3.5, 9., 2.1, 2.1, 0.7, 0.1, 3. , 4.2, 2.2, 1.}); sd::ops::unsorted_segment_mean op; @@ -1682,15 +1682,15 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMean_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMean_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, { 91. , 82. , 37. , 64. ,55.1 , 46.4 , 73. , 28. ,119.1 , 12.1 , 112.7 , 13.1,14. , 114.2 , 16.2 , 117. , 41. , 32. , 77. , 34. ,35.1 , 51.4 , 83. , 28. ,114.1 , 47.1 , 62.7, 63.1,64. , 64.2 , 66.2 , 64. , 91. , 82. , 37. , 64. ,55.1 , 46.4 , 73. , 28. ,119.1 , 12.1 , 112.7 , 13.1,14. , 114.2 , 16.2 , 117. }); @@ -1710,15 +1710,15 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMean_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMean_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 3, 7}); - auto exp = NDArrayFactory::create('c', {8, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 3, 7}); + auto exp = NDArrayFactory::create( {8, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24. ,15.1, 56.4, 93. , 28. , 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 31. , 22. , 87. , 44. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , @@ -1742,9 +1742,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMean_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({3.0405593, 8.75, 3., 7.621024, 4.5723805}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({3.0405593, 8.75, 3., 7.621024, 4.5723805}); sd::ops::unsorted_segment_sqrt_n op; @@ -1757,11 +1757,11 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_BP_1) { - auto x = NDArrayFactory::create({3.,1.8, 2.5,4., 9., 2.1, 2.4,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); + auto x = NDArrayFactory::vector({3.,1.8, 2.5,4., 9., 2.1, 2.4,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); // NDArray exp({3.0405593, 8.75, 3., 7.621024, 4.5723805}); - auto exp = NDArrayFactory::create({3., 0.707107, 0.707107, 1., 1., 1., 1., 2.309401, 2.309401, 2.309401, 2.041241, 2.041241, 2.041241, 2.041241, 2.041241, 2.041241}); + auto exp = NDArrayFactory::vector({3., 0.707107, 0.707107, 1., 1., 1., 1., 2.309401, 2.309401, 2.309401, 2.041241, 2.041241, 2.041241, 2.041241, 2.041241, 2.041241}); sd::ops::unsorted_segment_sqrt_n_bp op; auto result = op.evaluate({&x, &idx, &eps}, {}, {5}); @@ -1774,9 +1774,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, { 2.7577164, 3.4648232, 4.9497476, 12.727922, + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, { 2.7577164, 3.4648232, 4.9497476, 12.727922, 2.1, 2.1, 0.7, 0.1, 3. , 4.2, 2.2, 1. }); @@ -1796,15 +1796,15 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, { 91. , 82. , 37. , 64. ,55.1 , 46.4 , 73. , 28. ,119.1 , 12.1 , 112.7 , 13.1,14. , 114.2 , 16.2 , 117. , 57.982758, 45.254833, 108.89445, 48.083263, 49.638893, 72.69058, 117.37973, 39.59798, 161.36177, 66.60946, 88.67119, 89.23688, 90.50967, 90.79251, 93.62093, 90.50967, 91. , 82. , 37. , 64. ,55.1 , 46.4 , 73. , 28. ,119.1 , 12.1 , 112.7 , 13.1,14. , 114.2 , 16.2 , 117. }); @@ -1824,15 +1824,15 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 3, 7}); - auto exp = NDArrayFactory::create('c', {8, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 3, 7}); + auto exp = NDArrayFactory::create( {8, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24. ,15.1, 56.4, 93. , 28. , 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 31. , 22. , 87. , 44. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , @@ -1856,10 +1856,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_5) { - auto x = NDArrayFactory::create({1.,2.,5.,7.,3.,1.,3.,4.}); - auto idx = NDArrayFactory::create({3, 1, 0, 0, 2, 0, 3, 2}); + auto x = NDArrayFactory::vector({1.,2.,5.,7.,3.,1.,3.,4.}); + auto idx = NDArrayFactory::vector({3, 1, 0, 0, 2, 0, 3, 2}); //NDArray exp({1.7320508075688772, 1., 1.4142135623730951, 1.4142135623730951}); - auto exp = NDArrayFactory::create({7.5055537, 2., 4.9497476, 2.828427}); + auto exp = NDArrayFactory::vector({7.5055537, 2., 4.9497476, 2.828427}); sd::ops::unsorted_segment_sqrt_n op; auto result = op.evaluate({&x, &idx}, {}, {4}); @@ -1872,10 +1872,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSqrtN_6) { - auto x = NDArrayFactory::create({5,1,7,2,3,4,1,3}); - auto idx = NDArrayFactory::create({0,0,0,1,2,2,3,3}); + auto x = NDArrayFactory::vector({5,1,7,2,3,4,1,3}); + auto idx = NDArrayFactory::vector({0,0,0,1,2,2,3,3}); //NDArray exp({1.7320508075688772, 1., 1.4142135623730951, 1.4142135623730951}); -// auto exp = NDArrayFactory::create({7.5055537, 2., 4.9497476, 2.828427}); +// auto exp = NDArrayFactory::vector({7.5055537, 2., 4.9497476, 2.828427}); sd::ops::unsorted_segment_sqrt_n op; try { @@ -1892,9 +1892,9 @@ catch (std::exception& err) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentSum_1) { - auto x = NDArrayFactory::create({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({ 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({4.3, 17.5, 3., 13.2, 11.2}); + auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({ 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({4.3, 17.5, 3., 13.2, 11.2}); sd::ops::segment_sum op; @@ -1908,10 +1908,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentSum_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentSumBP_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); - auto exp = NDArrayFactory::create({ 1., 1., 2., 2., 2., 2., 3., 4., 4., 4., 5., 5., 5., 5., 5., 5.}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); + auto exp = NDArrayFactory::vector({ 1., 1., 2., 2., 2., 2., 3., 4., 4., 4., 5., 5., 5., 5., 5., 5.}); sd::ops::segment_sum_bp op; auto result = op.evaluate({&x, &idx, &eps}, {}, {}); @@ -1922,10 +1922,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentSumBP_1) { } TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSumBP_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1, 2, 3, 4, 5}); - auto exp = NDArrayFactory::create({ 1., 1., 2., 2., 2., 2., 3., 4., 4., 4., 5., 5., 5., 5., 5., 5.}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1, 2, 3, 4, 5}); + auto exp = NDArrayFactory::vector({ 1., 1., 2., 2., 2., 2., 3., 4., 4., 4., 5., 5., 5., 5., 5., 5.}); sd::ops::unsorted_segment_sum_bp op; auto result = op.evaluate({&x, &idx, &eps}, {}, {5}); @@ -1936,10 +1936,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSumBP_1) { } TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSumBP_2) { - auto x = NDArrayFactory::create({3.,1.8, 2.5,4., 9., 2.1, 2.4,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); - auto exp = NDArrayFactory::create({ 3., 1., 1., 2., 2., 2., 2., 4., 4., 4., 5., 5., 5., 5., 5., 5.}); + auto x = NDArrayFactory::vector({3.,1.8, 2.5,4., 9., 2.1, 2.4,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); + auto exp = NDArrayFactory::vector({ 3., 1., 1., 2., 2., 2., 2., 4., 4., 4., 5., 5., 5., 5., 5., 5.}); sd::ops::unsorted_segment_sum_bp op; auto result = op.evaluate({&x, &idx, &eps}, {}, {5}); @@ -1951,9 +1951,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSumBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentSum_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, {3.9 , 4.9, 7. , 18.,2.1 , 2.1, 0.7, 0.1,3. , 4.2, 2.2, 1.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, {3.9 , 4.9, 7. , 18.,2.1 , 2.1, 0.7, 0.1,3. , 4.2, 2.2, 1.}); sd::ops::segment_sum op; @@ -1969,10 +1969,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentSum_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentSumBP_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {4, 4}, {1. , 2., 3., 4., 1. , 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto eps = NDArrayFactory::create('c', {3, 4}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {4, 4}, {1. , 2., 3., 4., 1. , 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto eps = NDArrayFactory::create( {3, 4}); eps.linspace(1); sd::ops::segment_sum_bp op; @@ -1989,15 +1989,15 @@ TEST_F(DeclarableOpsTests7, TestSegmentSumBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentSum_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1, 114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,82. , 64. , 154. , 68. , 70.2, 102.8, 166. , 56. ,228.2, 94.2, 125.4, 126.2 ,128. , 128.4, 132.4, 128. ,91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); @@ -2017,15 +2017,15 @@ TEST_F(DeclarableOpsTests7, TestSegmentSum_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentSum_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 3, 7}); - auto exp = NDArrayFactory::create('c', {8, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 3, 7}); + auto exp = NDArrayFactory::create( {8, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24. ,15.1, 56.4, 93. , 28. , 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 31. , 22. , 87. , 44. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , @@ -2049,9 +2049,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentSum_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSum_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({4.3, 17.5, 3., 13.2, 11.2}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({4.3, 17.5, 3., 13.2, 11.2}); sd::ops::unsorted_segment_sum op; @@ -2064,9 +2064,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSum_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSum_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, {3.9 , 4.9, 7. , 18.,2.1 , 2.1, 0.7, 0.1,3. , 4.2, 2.2, 1.}); + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9.,2.1, 2.4, 3., 9.,2.1, 2.1, 0.7, 0.1,3., 4.2, 2.2, 1. }); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, {3.9 , 4.9, 7. , 18.,2.1 , 2.1, 0.7, 0.1,3. , 4.2, 2.2, 1.}); sd::ops::unsorted_segment_sum op; @@ -2080,15 +2080,15 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSum_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSum_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1, 114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,82. , 64. , 154. , 68. , 70.2, 102.8, 166. , 56. ,228.2, 94.2, 125.4, 126.2 ,128. , 128.4, 132.4, 128. ,91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); @@ -2108,14 +2108,14 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSum_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSum_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, {91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., + auto x = NDArrayFactory::create( {4, 4, 4}, {91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24.,15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,31. , 22. , 87., 44. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. ,55.1, 46.4, 73., 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 3, 7}); - auto exp = NDArrayFactory::create('c', {8, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 3, 7}); + auto exp = NDArrayFactory::create( {8, 4, 4}, { 91. , 82. , 37. , 64. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,51. , 42. , 67. , 24. ,15.1, 56.4, 93. , 28. , 109.1, 82.1, 12.7, 113.1,114. , 14.2, 116.2, 11. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 31. , 22. , 87. , 44. ,55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1,14. , 114.2, 16.2, 117. ,0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , @@ -2139,9 +2139,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentSum_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_1) { - auto x = NDArrayFactory::create({1.8, 2.5, 4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({4.5, 181.44, 3., 39.69, 1.9404}); + auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({4.5, 181.44, 3., 39.69, 1.9404}); sd::ops::segment_prod op; @@ -2154,10 +2154,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProdBP_1) { - auto x = NDArrayFactory::create({ 1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); - auto exp = NDArrayFactory::create({2.5, 1.8, 90.72, 40.32, 172.8, 151.2, 3., 17.64, 75.6, 75.6, 13.86, 97.02, 3.234, 2.31, 4.41, 9.702}); + auto x = NDArrayFactory::vector({ 1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); + auto exp = NDArrayFactory::vector({2.5, 1.8, 90.72, 40.32, 172.8, 151.2, 3., 17.64, 75.6, 75.6, 13.86, 97.02, 3.234, 2.31, 4.41, 9.702}); sd::ops::segment_prod_bp op; auto result = op.evaluate({&x, &idx, &eps}, {}, {}); @@ -2172,10 +2172,10 @@ TEST_F(DeclarableOpsTests7, TestSegmentProdBP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProdBP_1) { - auto x = NDArrayFactory::create({ 1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); - auto exp = NDArrayFactory::create({2.5, 1.8, 90.72, 40.32, 172.8, 151.2, 3., 17.64, 75.6, 75.6, 13.86, 97.02, 3.234, 2.31, 4.41, 9.702}); + auto x = NDArrayFactory::vector({ 1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); + auto exp = NDArrayFactory::vector({2.5, 1.8, 90.72, 40.32, 172.8, 151.2, 3., 17.64, 75.6, 75.6, 13.86, 97.02, 3.234, 2.31, 4.41, 9.702}); sd::ops::segment_prod_bp op; auto result = op.evaluate({&x, &idx, &eps}, {}, {}); @@ -2190,10 +2190,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProdBP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProdBP_2) { - auto x = NDArrayFactory::create({ 3., 1.8, 2.5, 4., 9., 2.1, 2.4, 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto eps = NDArrayFactory::create({1., 2., 3., 4., 5.}); - auto exp = NDArrayFactory::create({3., 2.5, 1.8, 90.72, 40.32, 172.8, 151.2, 17.64, 75.6, 75.6, 13.86, 97.02, 3.234, 2.31, 4.41, 9.702}); + auto x = NDArrayFactory::vector({ 3., 1.8, 2.5, 4., 9., 2.1, 2.4, 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto eps = NDArrayFactory::vector({1., 2., 3., 4., 5.}); + auto exp = NDArrayFactory::vector({3., 2.5, 1.8, 90.72, 40.32, 172.8, 151.2, 17.64, 75.6, 75.6, 13.86, 97.02, 3.234, 2.31, 4.41, 9.702}); auto n = NDArrayFactory::create(5LL); sd::ops::unsorted_segment_prod_bp op; @@ -2209,10 +2209,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProdBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_2) { - auto x = NDArrayFactory::create('c', {4, 4}, { + auto x = NDArrayFactory::create( {4, 4}, { 1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, { 3.78, 6. , 12. , 81., 2.1 , 2.1, 0.7 , 0.1, 3. , 4.2, 2.2 , 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, { 3.78, 6. , 12. , 81., 2.1 , 2.1, 0.7 , 0.1, 3. , 4.2, 2.2 , 1.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -2230,13 +2230,13 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProdBP_2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1.8, 2.5, 4., 9., + auto x = NDArrayFactory::create( {4, 4}, {1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto eps = NDArrayFactory::create('c', {3, 4}); - auto exp = NDArrayFactory::create('c', {4, 4}, {2.1, 4.8, 9., 36., 1.8, 5., 12., 36., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto eps = NDArrayFactory::create( {3, 4}); + auto exp = NDArrayFactory::create( {4, 4}, {2.1, 4.8, 9., 36., 1.8, 5., 12., 36., 5., 6., 7., 8., 9., 10., 11., 12.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} eps.linspace(1); @@ -2254,15 +2254,15 @@ TEST_F(DeclarableOpsTests7, TestSegmentProdBP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. , 51. , 42. , 67. , 24., 15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1, 114. , 14.2, 116.2, 11. , 31. , 22. , 87., 44. , 55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. , 55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, { 91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. , 1581, 924, 5829, 1056,832.01001, 2616.9602, 6789, 784, 12993.810, 993.41003, 1431.2899, 1481.61, 1596, 1621.64, 1882.4401, 1287, 91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); @@ -2282,12 +2282,12 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_04) { - auto x = NDArrayFactory::create({1,2,3,4,5,6,7,8 }); + auto x = NDArrayFactory::vector({1,2,3,4,5,6,7,8 }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0,0,1,2,2,2,3,3}); - auto exp = NDArrayFactory::create({ 2, 3, 120, 56}); + auto idx = NDArrayFactory::vector({0,0,1,2,2,2,3,3}); + auto exp = NDArrayFactory::vector({ 2, 3, 120, 56}); sd::ops::segment_prod op; @@ -2303,7 +2303,7 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_05) { // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0,0,1,2,2,2,3,3}); + auto idx = NDArrayFactory::vector({0,0,1,2,2,2,3,3}); auto exp = NDArrayFactory::create({ 2, 3, 120, 56}); sd::ops::segment_prod op; @@ -2318,12 +2318,12 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_05) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_05_1) { - auto x = NDArrayFactory::create({1,2,3,4,5,6,7,8 }); + auto x = NDArrayFactory::vector({1,2,3,4,5,6,7,8 }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0,0,1,2,2,2,3,3}); - auto exp = NDArrayFactory::create({ 2, 3, 120, 56}); + auto idx = NDArrayFactory::vector({0,0,1,2,2,2,3,3}); + auto exp = NDArrayFactory::vector({ 2, 3, 120, 56}); sd::ops::segment_prod op; @@ -2342,7 +2342,7 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_06) { // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0,0,1,2,2,2,3,3}); + auto idx = NDArrayFactory::vector({0,0,1,2,2,2,3,3}); auto exp = NDArrayFactory::create({ 2, 3, 120, 56}); sd::ops::segment_prod op; @@ -2359,7 +2359,7 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_07) { // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0,0,1,2,2,2,3,3}); + auto idx = NDArrayFactory::vector({0,0,1,2,2,2,3,3}); auto exp = NDArrayFactory::create({ 2, 3, 120, 56}); sd::ops::segment_prod op; @@ -2372,12 +2372,12 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_07) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_08) { - auto x = NDArrayFactory::create({'\x1','\x2','\x3','\x4','\x5','\x6','\x7','\x8', '\x9', '\xA' }); + auto x = NDArrayFactory::vector({'\x1','\x2','\x3','\x4','\x5','\x6','\x7','\x8', '\x9', '\xA' }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0,0,2,2,2,2,3,3,3,3}); - auto exp = NDArrayFactory::create({ 2, 1,360, 5040}); + auto idx = NDArrayFactory::vector({0,0,2,2,2,2,3,3,3,3}); + auto exp = NDArrayFactory::vector({ 2, 1,360, 5040}); sd::ops::segment_prod op; auto result = op.evaluate({&x, &idx}, {}, {}); @@ -2389,9 +2389,9 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_08) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_1) { - auto x = NDArrayFactory::create({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({4.5, 181.44, 3., 39.69, 1.9404}); + auto x = NDArrayFactory::vector({1.8, 2.5,4., 9., 2.1, 2.4,3.,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({4.5, 181.44, 3., 39.69, 1.9404}); sd::ops::unsorted_segment_prod op; @@ -2404,9 +2404,9 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_11) { - auto x = NDArrayFactory::create({3.,1.8, 2.5,4., 9., 2.1, 2.4,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); - auto idx = NDArrayFactory::create({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); - auto exp = NDArrayFactory::create({4.5, 181.44, 3., 39.69, 1.9404}); + auto x = NDArrayFactory::vector({3.,1.8, 2.5,4., 9., 2.1, 2.4,9., 2.1, 2.1,0.7, 0.1, 3., 4.2, 2.2, 1.}); + auto idx = NDArrayFactory::vector({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); + auto exp = NDArrayFactory::vector({4.5, 181.44, 3., 39.69, 1.9404}); sd::ops::unsorted_segment_prod op; @@ -2418,10 +2418,10 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_11) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_2) { - auto x = NDArrayFactory::create('c', {4, 4}, { + auto x = NDArrayFactory::create( {4, 4}, { 1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1. }); - auto idx = NDArrayFactory::create({0, 0, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4}, { 3.78, 6. , 12. , 81., 2.1 , 2.1, 0.7 , 0.1, 3. , 4.2, 2.2 , 1.}); + auto idx = NDArrayFactory::vector({0, 0, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4}, { 3.78, 6. , 12. , 81., 2.1 , 2.1, 0.7 , 0.1, 3. , 4.2, 2.2 , 1.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -2439,11 +2439,11 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_12) { - auto x = NDArrayFactory::create('c', {4, 4}, { + auto x = NDArrayFactory::create( {4, 4}, { 3., 4.2, 2.2, 1., 1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1 }); - auto idx = NDArrayFactory::create({2, 0, 0, 1}); - auto exp = NDArrayFactory::create('c', {3, 4}, { 3.78, 6. , 12. , 81., 2.1 , 2.1, 0.7 , 0.1, 3. , 4.2, 2.2 , 1.}); + auto idx = NDArrayFactory::vector({2, 0, 0, 1}); + auto exp = NDArrayFactory::create( {3, 4}, { 3.78, 6. , 12. , 81., 2.1 , 2.1, 0.7 , 0.1, 3. , 4.2, 2.2 , 1.}); //{ 2.1, 2.5, 4., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.} @@ -2460,12 +2460,12 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_12) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_08) { - auto x = NDArrayFactory::create({'\x1','\x2','\x3','\x4','\x5','\x6','\x7','\x8', '\x9', '\xA' }); + auto x = NDArrayFactory::vector({'\x1','\x2','\x3','\x4','\x5','\x6','\x7','\x8', '\x9', '\xA' }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0,0,2,2,2,2,3,3,3,3}); - auto exp = NDArrayFactory::create({ 2, 1,360, 5040}); + auto idx = NDArrayFactory::vector({0,0,2,2,2,2,3,3,3,3}); + auto exp = NDArrayFactory::vector({ 2, 1,360, 5040}); sd::ops::unsorted_segment_prod op; auto result = op.evaluate({&x, &idx}, {}, {4}); @@ -2477,15 +2477,15 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_08) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_3) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. , 51. , 42. , 67. , 24., 15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1, 114. , 14.2, 116.2, 11. , 31. , 22. , 87., 44. , 55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. , 55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, { + auto idx = NDArrayFactory::vector({0, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, { 91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. , 1581, 924, 5829, 1056,832.01001, 2616.9602, 6789, 784, 12993.810, 993.41003, 1431.2899, 1481.61, 1596.0000, 1621.6399, 1882.4401, 1287, 91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. ,119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); @@ -2505,15 +2505,15 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_4) { - auto x = NDArrayFactory::create('c', {4, 4, 4}, { + auto x = NDArrayFactory::create( {4, 4, 4}, { 91. , 82. , 37. , 64. , 55.1, 46.4, 73. , 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. , 51. , 42. , 67. , 24., 15.1, 56.4, 93. , 28., 109.1, 82.1, 12.7, 113.1, 114. , 14.2, 116.2, 11. , 31. , 22. , 87., 44. , 55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. , 91. , 82. , 37., 64. , 55.1, 46.4, 73., 28. , 119.1, 12.1, 112.7, 13.1, 14. , 114.2, 16.2, 117. }); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({1, 1, 1, 2}); - auto exp = NDArrayFactory::create('c', {3, 4, 4}, { + auto idx = NDArrayFactory::vector({1, 1, 1, 2}); + auto exp = NDArrayFactory::create( {3, 4, 4}, { 1., 1., 1., 1., 1., 1.,1.,1., 1.,1.,1.,1., 1.,1.,1.,1., 143871, 75768, 215673, 67584., 45843.75, 121426.96, 495597, 21952, @@ -2536,12 +2536,12 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_5) { - auto x = NDArrayFactory::create('c', {8, 15}); + auto x = NDArrayFactory::create( {8, 15}); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({3, 1, 2, 1, 2, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {4, 15}, { + auto idx = NDArrayFactory::vector({3, 1, 2, 1, 2, 3, 2, 1}); + auto exp = NDArrayFactory::create( {4, 15}, { 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., @@ -2571,13 +2571,13 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProd_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProdBP_4) { - auto x = NDArrayFactory::create('c', {8}, { + auto x = NDArrayFactory::create( {8}, { 5,1,7,2,3,4,1,3}); - auto gradO = NDArrayFactory::create('c', {4}, {1,2,3,4}); + auto gradO = NDArrayFactory::create( {4}, {1,2,3,4}); // ---------------------------------------------------------------- - auto idx = NDArrayFactory::create({0,0,0,1,2,2,3,3}); - auto exp = NDArrayFactory::create('c', {8}, { + auto idx = NDArrayFactory::vector({0,0,0,1,2,2,3,3}); + auto exp = NDArrayFactory::create( {8}, { 7.000000, 35.000000, 5.000000, 2.000000, 12.000000, 9.000000, 12.000000, 4.000000 }); // 1., 1., 1., 1., 1., 1.,1.,1., 1.,1.,1.,1., 1.,1.,1.,1., @@ -2602,7 +2602,7 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentProdBP_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_1) { - auto x = NDArrayFactory::create('c', {2,4, 4, 4}, { + auto x = NDArrayFactory::create( {2,4, 4, 4}, { 91., 82., 37., 64., 55., 46., 73., 28., 119., 12., 112., 13., 14., 114., 16., 117., 51., 42., 67., 24., 15., 56., 93., 28., 109., 82., 12., 113., 114., 14., 116., 11., 31., 22., 87., 44., 55., 46., 73., 28., 119., 12., 112., 13., 14., 114., 16., 117., @@ -2615,7 +2615,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_1) { // ---------------------------------------------------------------- - auto exp = NDArrayFactory::create('c', {2, 4, 4, 4}, { + auto exp = NDArrayFactory::create( {2, 4, 4, 4}, { 91., 82., 37., 64., 55., 46., 73., 28., 119., 12., 112., 13., 14., 114., 16., 117., 51., 42., 67., 24., 15., 56., 93., 28., 109., 82., 12., 113., 114., 14., 116., 11., 31., 22., 87., 44., 55., 46., 73., 28., 119., 12., 112., 13., 14., 114., 16., 117., @@ -2642,7 +2642,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_2) { - auto x = NDArrayFactory::create('c', {3, 3, 4, 3}, { + auto x = NDArrayFactory::create( {3, 3, 4, 3}, { 11., 12., 13., 12., 13., 14., 15., 16., 17., 18., 19., 10., 1., 2., 3., 2., 3., 4., 21., 22., 23., 22., 23., 24., 5., 6., 7., 8., 9., 0., 35., 36., 37., 38., 39., 40., @@ -2656,7 +2656,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_2) { //Images shape is (3, 3, 4, 3) //[1, 1, 1, 1] //[1, 3, 2, 1] -auto exp = NDArrayFactory::create('c', {3, 1, 1, 12}, { +auto exp = NDArrayFactory::create( {3, 1, 1, 12}, { 11., 12., 13., 12., 13., 14., 1., 2., 3., 2., 3., 4., 9., 8., 7., 6., 5., 4., 3., 2., 1., 0., 1., 2., 211., 12., 13., 12., 213., 14., 21., 2., 3., 2., 3., 24. @@ -2676,7 +2676,7 @@ auto exp = NDArrayFactory::create('c', {3, 1, 1, 12}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_3) { - auto x = NDArrayFactory::create('c', {3, 3, 4, 3}, { + auto x = NDArrayFactory::create( {3, 3, 4, 3}, { 11., 12., 13., 12., 13., 14., 15., 16., 17., 18., 19., 10., 1., 2., 3., 2., 3., 4., 21., 22., 23., 22., 23., 24., 5., 6., 7., 8., 9., 0., 35., 36., 37., 38., 39., 40., @@ -2690,7 +2690,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_3) { //Images shape is (3, 3, 4, 3) //[1, 1, 1, 1] //[1, 3, 2, 1] -auto exp = NDArrayFactory::create('c', {3, 1, 2, 6}, { +auto exp = NDArrayFactory::create( {3, 1, 2, 6}, { 11., 12., 13., 5., 6., 7., 15., 16., 17., 35., 36., 37., 9., 8., 7., 15., 16., 17., 49., 48., 47., 135., 136., 137., 211., 12., 13., 25., 6., 7., 15., 216., 17., 35., 36., 327. @@ -2710,7 +2710,7 @@ auto exp = NDArrayFactory::create('c', {3, 1, 2, 6}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_4) { - auto x = NDArrayFactory::create('c', {3, 3, 4, 3}, { + auto x = NDArrayFactory::create( {3, 3, 4, 3}, { 11., 12., 13., 12., 13., 14., 15., 16., 17., 18., 19., 10., 1., 2., 3., 2., 3., 4., 21., 22., 23., 22., 23., 24., 5., 6., 7., 8., 9., 0., 35., 36., 37., 38., 39., 40., @@ -2724,7 +2724,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_4) { //Images shape is (3, 3, 4, 3) //[1, 1, 1, 1] //[1, 3, 2, 1] -auto exp = NDArrayFactory::create('c', {3, 3, 4, 3}, { +auto exp = NDArrayFactory::create( {3, 3, 4, 3}, { 11., 12., 13., 12., 13., 14., 15., 16., 17., 18., 19., 10., 1., 2., 3., 2., 3., 4., 21., 22., 23., 22., 23., 24., 5., 6., 7., 8., 9., 0., 35., 36., 37., 38., 39., 40., @@ -2751,7 +2751,7 @@ auto exp = NDArrayFactory::create('c', {3, 3, 4, 3}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_5) { - auto x = NDArrayFactory::create('c', {3, 3, 4, 3}, { + auto x = NDArrayFactory::create( {3, 3, 4, 3}, { 11., 12., 13., 12., 13., 14., 15., 16., 17., 18., 19., 10., 1., 2., 3., 2., 3., 4., 21., 22., 23., 22., 23., 24., 5., 6., 7., 8., 9., 0., 35., 36., 37., 38., 39., 40., @@ -2765,7 +2765,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_5) { //Images shape is (3, 3, 4, 3) //[1, 1, 1, 1] //[1, 3, 2, 1] -auto exp = NDArrayFactory::create('c', {3, 1, 1, 18}, { +auto exp = NDArrayFactory::create( {3, 1, 1, 18}, { 11., 12., 13., 15., 16., 17., 1., 2., 3., 21., 22., 23., 5., 6., 7., 35., 36., 37., 9., 8., 7., 49., 48., 47., 3., 2., 1., 53., 52., 51., 15., 16., 17., 135., 136., 137., 211., 12., 13., 15., 216., 17., 21., 2., 3., 21., 22., 223., 25., 6., 7., 35., 36., 327. @@ -2790,7 +2790,7 @@ auto exp = NDArrayFactory::create('c', {3, 1, 1, 18}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_6) { - auto x = NDArrayFactory::create('c', {2, 2, 4, 2}, { + auto x = NDArrayFactory::create( {2, 2, 4, 2}, { 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12, 22.21, 22.22, 22.31, 22.32, 22.41, 22.42 }); @@ -2798,7 +2798,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_6) { //Images shape is (3, 3, 4, 3) //[1, 1, 1, 1] //[1, 3, 2, 1] -auto exp = NDArrayFactory::create('c', {2, 1, 4, 4}, { +auto exp = NDArrayFactory::create( {2, 1, 4, 4}, { 11.11, 11.12, 12.11, 12.12, 11.21, 11.22, 12.21, 12.22, 11.31, 11.32, 12.31, 12.32, 11.41, 11.42, 12.41, 12.42, 21.11, 21.12, 22.11, 22.12, 21.21, 21.22, 22.21, 22.22, 21.31, 21.32, 22.31, 22.32, 21.41, 21.42, 22.41, 22.42 }); @@ -2815,13 +2815,13 @@ auto exp = NDArrayFactory::create('c', {2, 1, 4, 4}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_7) { - auto x = NDArrayFactory::create('c', {1, 3, 3, 1}); + auto x = NDArrayFactory::create( {1, 3, 3, 1}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 3, 3, 4}, { + auto exp = NDArrayFactory::create( {1, 3, 3, 4}, { 1., 2., 4., 5., 2., 3., 5., 6., 3., 0., 6., 0., 4., 5., 7., 8., 5., 6., 8., 9., 6., 0., 9., 0., 7., 8., 0., 0., 8., 9., 0., 0., 9., 0., 0., 0. }); // ---------------------------------------------------------------- @@ -2845,13 +2845,13 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_8) { - auto x = NDArrayFactory::create('c', {1, 3, 3, 2}); + auto x = NDArrayFactory::create( {1, 3, 3, 2}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 3, 3, 8}, { + auto exp = NDArrayFactory::create( {1, 3, 3, 8}, { 1, 2, 3, 4, 7, 8, 9, 10, 3, 4, 5, 6, 9, 10, 11, 12, 5, 6, 0, 0, 11, 12, 0, 0, 7, 8, 9, 10, 13, 14, 15, 16, 9, 10, 11, 12, 15, 16, 17, 18, 11, 12, 0, 0, 17, 18, 0, 0, 13, 14, 15, 16, 0, 0, 0, 0, 15, 16, 17, 18, 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 0, 0 }); @@ -2876,13 +2876,13 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_9) { - auto x = NDArrayFactory::create('c', {1, 6, 6, 2}); + auto x = NDArrayFactory::create( {1, 6, 6, 2}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 6, 6, 18}, { + auto exp = NDArrayFactory::create( {1, 6, 6, 18}, { 0., 0., 0., 0., 0., 0., 0., 0., 1., 2., 3., 4., 0., 0., 13., 14., 15., 16., 0., 0., 0., 0., 0., 0., 1., 2., 3., 4., 5., 6., 13., 14., 15., 16., 17., 18., 0., 0., 0., 0., 0., 0., 3., 4., 5., 6., 7., 8., 15., 16., 17., 18., 19., 20., @@ -2940,7 +2940,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_9) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_9_1) { - auto x = NDArrayFactory::create('c', {1, 4, 4, 2}, {1, 116, 2, 116, 3, 116, 4, 116, + auto x = NDArrayFactory::create( {1, 4, 4, 2}, {1, 116, 2, 116, 3, 116, 4, 116, 5, 117, 6, 117, 7, 117, 8, 117, 9, 118, 10, 118, 11, 118, 12, 118, 13, 119, 14, 119, 15, 119, 16, 119}); @@ -2949,7 +2949,7 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_9_1) { //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 4, 4, 8}, { + auto exp = NDArrayFactory::create( {1, 4, 4, 8}, { 1, 116, 2, 116, 5, 117, 6, 117, 2, 116, 3, 116, 6, 117, 7, 117, 3, 116, 4, 116, 7, 117, 8, 117, 4, 116, 0, 0, 8, 117, 0, 0, 5, 117, 6, 117, 9, 118, 10, 118, 6, 117, 7, 117, 10, 118, 11, 118, 7, 117, 8, 117, 11, 118, @@ -2983,13 +2983,13 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_9_1) { // //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_10) { - auto x = NDArrayFactory::create('c', {1, 6, 6, 2}); + auto x = NDArrayFactory::create( {1, 6, 6, 2}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 4, 4, 18}, { + auto exp = NDArrayFactory::create( {1, 4, 4, 18}, { 1., 2., 3., 4., 5., 6., 13., 14., 15., 16., 17., 18., 25., 26., 27., 28., 29., 30., 3., 4., 5., 6., 7., 8., 15., 16., 17., 18., 19., 20., 27., 28., 29., 30., 31., 32., 5., 6., 7., 8., 9., 10., 17., 18., 19., 20., 21., 22., 29., 30., 31., 32., 33., 34., @@ -3026,13 +3026,13 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_10) { } TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_010) { - auto x = NDArrayFactory::create('c', {1, 4, 4, 1}); + auto x = NDArrayFactory::create( {1, 4, 4, 1}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 3, 3, 4}, { + auto exp = NDArrayFactory::create( {1, 3, 3, 4}, { 1, 2, 5, 6, 2, 3, 6, 7, 3, 4, 7, 8, 5, 6, 9, 10, 6, 7, 10, 11, 7, 8, 11, 12, 9, 10, 13, 14, 10, 11, 14, 15, 11, 12, 15, 16}); // ---------------------------------------------------------------- @@ -3055,13 +3055,13 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_010) { } TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_010_1) { - auto x = NDArrayFactory::create('c', {1, 4, 4, 1}); + auto x = NDArrayFactory::create( {1, 4, 4, 1}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 4, 4, 4}, { + auto exp = NDArrayFactory::create( {1, 4, 4, 4}, { 1, 2, 5, 6, 2, 3, 6, 7, 3, 4, 7, 8, 4, 0, 8, 0, 5, 6, 9, 10, 6, 7, 10, 11, 7, 8, 11, 12, 8, 0, 12, 0, 9, 10, 13, 14, 10, 11, 14, 15, 11, 12, 15, 16, 12, 0, 16, 0, 13, 14, 0, 0, 14, 15, 0, 0, 15, 16, 0, 0, 16, 0, 0, 0}); @@ -3088,13 +3088,13 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_010_1) { } TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_011) { - auto x = NDArrayFactory::create('c', {1, 4, 4, 1}); + auto x = NDArrayFactory::create( {1, 4, 4, 1}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 2, 2, 4}, { + auto exp = NDArrayFactory::create( {1, 2, 2, 4}, { 1, 3, 9, 11, 2, 4, 10, 12, 5, 7, 13, 15, 6, 8, 14, 16, }); // ---------------------------------------------------------------- @@ -3119,13 +3119,13 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_011) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_11) { - auto x = NDArrayFactory::create('c', {1, 8, 8, 2}); + auto x = NDArrayFactory::create( {1, 8, 8, 2}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 4, 4, 8}, { + auto exp = NDArrayFactory::create( {1, 4, 4, 8}, { 1, 2, 3, 4, 17, 18, 19, 20, 5, 6, 7, 8, 21, 22, 23, 24, 9, 10, 11, 12, 25, 26, 27, 28, 13, 14, 15, 16, 29, 30, 31, 32, 33, 34, 35, 36, 49, 50, 51, 52, 37, 38, 39, 40, 53, 54, 55, 56, 41, 42, 43, 44, 57, 58, @@ -3155,13 +3155,13 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_11) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_12) { - auto x = NDArrayFactory::create('c', {1, 8, 8, 2}); + auto x = NDArrayFactory::create( {1, 8, 8, 2}); x.linspace(1); //Images shape is (1, 3, 3, 4) //[1, 1, 1, 1] //[1, 3, 2, 1] - auto exp = NDArrayFactory::create('c', {1, 8, 8, 8}, { + auto exp = NDArrayFactory::create( {1, 8, 8, 8}, { 0, 0, 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, 17, 18, 21, 22, 0, 0, 0, 0, 19, 20, 23, 24, 0, 0, 0, 0, 21, 22, 25, 26, 0, 0, 0, 0, 23, 24, 27, 28, 0, 0, 0, 0, 25, 26, 29, 30, 0, 0, 0, 0, 27, 28, @@ -3213,10 +3213,10 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_12) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_13) { - auto x = NDArrayFactory::create('c', {1, 3, 3, 2}); + auto x = NDArrayFactory::create( {1, 3, 3, 2}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1, 3, 3, 8}, { + auto exp = NDArrayFactory::create( {1, 3, 3, 8}, { 1., 2., 3., 4., 7., 8., 9., 10., 3., 4., 5., 6., 9., 10., 11., 12., 5., 6., 0., 0., 11., 12., 0., 0., 7., 8., 9., 10., 13., 14., 15., 16., 9., 10., 11., 12., 15., 16., 17., 18., 11., 12., 0., 0., 17., 18., 0., 0., 13., 14., 15., 16., 0., 0., @@ -3236,12 +3236,12 @@ TEST_F(DeclarableOpsTests7, TestExtractImagePatches_SGO_13) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_1) { - auto x = NDArrayFactory::create('c', {2, 2, 4, 2}, { + auto x = NDArrayFactory::create( {2, 2, 4, 2}, { 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12, 22.21, 22.22, 22.31, 22.32, 22.41, 22.42 }); -auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { +auto exp = NDArrayFactory::create( {2, 2, 4, 2}, { 22.21, 22.22, 22.31, 22.32, 22.41, 22.42, 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12 @@ -3259,12 +3259,12 @@ auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_2) { - auto x = NDArrayFactory::create('c', {2, 2, 4, 2}, { + auto x = NDArrayFactory::create( {2, 2, 4, 2}, { 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12, 22.21, 22.22, 22.31, 22.32, 22.41, 22.42 }); -auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { +auto exp = NDArrayFactory::create( {2, 2, 4, 2}, { 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12, 22.21, 22.22, 22.31, 22.32, 22.41, 22.42, 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42 }); @@ -3280,12 +3280,12 @@ auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_3) { - auto x = NDArrayFactory::create('c', {2, 2, 4, 2}, { + auto x = NDArrayFactory::create( {2, 2, 4, 2}, { 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12, 22.21, 22.22, 22.31, 22.32, 22.41, 22.42 }); -auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { +auto exp = NDArrayFactory::create( {2, 2, 4, 2}, { 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12, 22.21, 22.22, 22.31, 22.32, 22.41, 22.42, 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42 }); @@ -3302,12 +3302,12 @@ auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_4) { - auto x = NDArrayFactory::create('c', {2, 2, 4, 2}, { + auto x = NDArrayFactory::create( {2, 2, 4, 2}, { 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12, 22.21, 22.22, 22.31, 22.32, 22.41, 22.42 }); -auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { +auto exp = NDArrayFactory::create( {2, 2, 4, 2}, { 22.21, 22.22, 22.31, 22.32, 22.41, 22.42, 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12 @@ -3327,12 +3327,12 @@ auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_4_inplace) { - auto x = NDArrayFactory::create('c', {2, 2, 4, 2}, { + auto x = NDArrayFactory::create( {2, 2, 4, 2}, { 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12, 22.21, 22.22, 22.31, 22.32, 22.41, 22.42 }); -auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { +auto exp = NDArrayFactory::create( {2, 2, 4, 2}, { 22.21, 22.22, 22.31, 22.32, 22.41, 22.42, 11.11, 11.12, 11.21, 11.22, 11.31, 11.32, 11.41, 11.42, 12.11, 12.12, 12.21, 12.22, 12.31, 12.32, 12.41, 12.42, 21.11, 21.12, 21.21, 21.22, 21.31, 21.32, 21.41, 21.42, 22.11, 22.12 @@ -3352,11 +3352,11 @@ auto exp = NDArrayFactory::create('c', {2, 2, 4, 2}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_5) { - auto x = NDArrayFactory::create('c', {3, 4}, { + auto x = NDArrayFactory::create( {3, 4}, { 0., 1., 2., 3., 4, 5., 6., 7., 8., 9., 10., 11. }); -auto exp = NDArrayFactory::create('c', {3, 4}, { +auto exp = NDArrayFactory::create( {3, 4}, { 2., 3., 0., 1., 6., 7., 4., 5., 10., 11., 8., 9. // 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3 }); @@ -3376,11 +3376,11 @@ auto exp = NDArrayFactory::create('c', {3, 4}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_6) { - auto x = NDArrayFactory::create('c', {2, 3, 2}, { + auto x = NDArrayFactory::create( {2, 3, 2}, { 0., 1., 2., 3., 4, 5., 6., 7., 8., 9., 10., 11. }); -auto exp = NDArrayFactory::create('c', {2, 3, 2}, { +auto exp = NDArrayFactory::create( {2, 3, 2}, { 1., 0., 3., 2., 5., 4., 7., 6., 9., 8., 11., 10. }); // ---------------------------------------------------------------- @@ -3399,11 +3399,11 @@ auto exp = NDArrayFactory::create('c', {2, 3, 2}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_7) { - auto x = NDArrayFactory::create('c', {2, 3, 2}, { + auto x = NDArrayFactory::create( {2, 3, 2}, { 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11. }); -auto exp = NDArrayFactory::create('c', {2, 3, 2}, { +auto exp = NDArrayFactory::create( {2, 3, 2}, { 11., 10., 7., 6., 9., 8., 5., 4., 1., 0., 3., 2. }); // ---------------------------------------------------------------- @@ -3422,11 +3422,11 @@ auto exp = NDArrayFactory::create('c', {2, 3, 2}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_8) { - auto x = NDArrayFactory::create('c', {2, 3, 2}, { + auto x = NDArrayFactory::create( {2, 3, 2}, { 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11. }); -auto exp = NDArrayFactory::create('c', {2, 3, 2}, { +auto exp = NDArrayFactory::create( {2, 3, 2}, { 11., 10., 7., 6., 9., 8., 5., 4., 1., 0., 3., 2. }); // ---------------------------------------------------------------- @@ -3445,11 +3445,11 @@ auto exp = NDArrayFactory::create('c', {2, 3, 2}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_9) { - auto x = NDArrayFactory::create('c', {2, 3, 3}, { + auto x = NDArrayFactory::create( {2, 3, 3}, { 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17. }); -auto exp = NDArrayFactory::create('c', {2, 3, 3}, { +auto exp = NDArrayFactory::create( {2, 3, 3}, { 6., 7., 8., 0., 1., 2., 3., 4., 5., 15., 16., 17., 9., 10., 11., 12., 13., 14. }); // ---------------------------------------------------------------- @@ -3465,11 +3465,11 @@ auto exp = NDArrayFactory::create('c', {2, 3, 3}, { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_10) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, { + auto x = NDArrayFactory::create( {2, 3, 4}, { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24. }); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, { + auto exp = NDArrayFactory::create( {2, 3, 4}, { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24. }); // ---------------------------------------------------------------- @@ -3488,12 +3488,12 @@ TEST_F(DeclarableOpsTests7, TestRoll_10) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_11) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, { + auto x = NDArrayFactory::create( {2, 3, 4}, { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24. }); - auto shift = NDArrayFactory::create({1,2}); - auto axis = NDArrayFactory::create({0, 1}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, { + auto shift = NDArrayFactory::vector({1,2}); + auto axis = NDArrayFactory::vector({0, 1}); + auto exp = NDArrayFactory::create( {2, 3, 4}, { 17., 18., 19., 20., 21., 22., 23., 24., 13., 14., 15., 16., 5., 6., 7, 8, 9, 10, 11, 12, 1, 2, 3, 4 }); // ---------------------------------------------------------------- @@ -3513,13 +3513,13 @@ TEST_F(DeclarableOpsTests7, TestRoll_11) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_12) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, { + auto x = NDArrayFactory::create( {2, 3, 4}, { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24. }); - auto shift = NDArrayFactory::create({1,1,1}); - auto axis = NDArrayFactory::create({0, 1, 2}); + auto shift = NDArrayFactory::vector({1,1,1}); + auto axis = NDArrayFactory::vector({0, 1, 2}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, { + auto exp = NDArrayFactory::create( {2, 3, 4}, { 24, 21, 22, 23, 16, 13, 14, 15, 20, 17, 18, 19, 12, 9, 10, 11, 4, 1, 2, 3, 8, 5, 6, 7 }); // ---------------------------------------------------------------- @@ -3536,13 +3536,13 @@ TEST_F(DeclarableOpsTests7, TestRoll_12) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_13) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, { + auto x = NDArrayFactory::create( {2, 3, 4}, { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24. }); auto shift = NDArrayFactory::create(3); auto axis = NDArrayFactory::create(2); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, { + auto exp = NDArrayFactory::create( {2, 3, 4}, { 2,3,4,1,6,7,8,5,10,11,12,9,14, 15, 16, 13, 18, 19, 20, 17, 22, 23, 24, 21 }); // ---------------------------------------------------------------- @@ -3559,13 +3559,13 @@ TEST_F(DeclarableOpsTests7, TestRoll_13) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_14) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, { + auto x = NDArrayFactory::create( {2, 3, 4}, { 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24. }); - auto shift = NDArrayFactory::create({1,1,1}); - auto axis = NDArrayFactory::create({0, 1, 2}); + auto shift = NDArrayFactory::vector({1,1,1}); + auto axis = NDArrayFactory::vector({0, 1, 2}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, { + auto exp = NDArrayFactory::create( {2, 3, 4}, { 24, 21, 22, 23, 16, 13, 14, 15, 20, 17, 18, 19, 12, 9, 10, 11, 4, 1, 2, 3, 8, 5, 6, 7 }); // ---------------------------------------------------------------- @@ -3584,11 +3584,11 @@ TEST_F(DeclarableOpsTests7, TestRoll_14) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestRoll_15) { - auto x = NDArrayFactory::create({0.7788f, 0.8012f, 0.7244f, 0.2309f }); + auto x = NDArrayFactory::vector({0.7788f, 0.8012f, 0.7244f, 0.2309f }); auto shift = NDArrayFactory::create(2); auto axis = NDArrayFactory::create(0); - auto exp = NDArrayFactory::create({0.7244f, 0.2309f, 0.7788f, 0.8012f }); + auto exp = NDArrayFactory::vector({0.7244f, 0.2309f, 0.7788f, 0.8012f }); // ---------------------------------------------------------------- sd::ops::roll op; @@ -3608,7 +3608,7 @@ TEST_F(DeclarableOpsTests7, percentile_test1) { const int dim0=5, dim1=5, dim2=4; - auto input = NDArrayFactory::create('c', {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., @@ -3632,12 +3632,12 @@ TEST_F(DeclarableOpsTests7, percentile_test2) { const int dim0=5, dim1=5, dim2=4; - auto input = NDArrayFactory::create('c', {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., 82., 90., 91., 89., 92., 34., 35., 33., 36.}); - auto expected = NDArrayFactory::create('c', {1,1,1}, {11.}); + auto expected = NDArrayFactory::create( {1,1,1}, {11.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3656,12 +3656,12 @@ TEST_F(DeclarableOpsTests7, percentile_test3) { const int dim0=5, dim1=5, dim2=4; - auto input = NDArrayFactory::create('c', {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., 82., 90., 91., 89., 92., 34., 35., 33., 36.}); - auto expected = NDArrayFactory::create('c', {1,1,1}, {10.}); + auto expected = NDArrayFactory::create( {1,1,1}, {10.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3680,12 +3680,12 @@ TEST_F(DeclarableOpsTests7, percentile_test4) { const int dim0=5, dim1=5, dim2=4; - auto input = NDArrayFactory::create('c', {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., 82., 90., 91., 89., 92., 34., 35., 33., 36.}); - auto expected = NDArrayFactory::create('c', {1,1,1}, {11.}); + auto expected = NDArrayFactory::create( {1,1,1}, {11.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3703,13 +3703,13 @@ TEST_F(DeclarableOpsTests7, percentile_test5) { const int dim0=5, dim1=5, dim2=4; - auto input = NDArrayFactory::create('c', {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., 82., 90., 91., 89., 92., 34., 35., 33., 36.}); - auto expected = NDArrayFactory::create('c', {1,1,4}, {12., 7., 11., 10.}); + auto expected = NDArrayFactory::create( {1,1,4}, {12., 7., 11., 10.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3727,13 +3727,13 @@ TEST_F(DeclarableOpsTests7, percentile_test6) { const int dim0=5, dim1=5, dim2=4; - auto input = NDArrayFactory::create('c', {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., 82., 90., 91., 89., 92., 34., 35., 33., 36.}); - auto expected = NDArrayFactory::create('c', {1,1,4}, {16., 14., 15., 13.}); + auto expected = NDArrayFactory::create( {1,1,4}, {16., 14., 15., 13.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3751,13 +3751,13 @@ TEST_F(DeclarableOpsTests7, percentile_test7) { const int dim0=5, dim1=5, dim2=4; - auto input = NDArrayFactory::create('c', {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., 82., 90., 91., 89., 92., 34., 35., 33., 36.}); - auto expected = NDArrayFactory::create('c', {1,1,4}, {12., 7., 11., 10.}); + auto expected = NDArrayFactory::create( {1,1,4}, {12., 7., 11., 10.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3775,13 +3775,13 @@ TEST_F(DeclarableOpsTests7, percentile_test8) { const int dim0=5, dim1=5, dim2=4; - auto input = NDArrayFactory::create('c', {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0, dim1, dim2}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., 82., 90., 91., 89., 92., 34., 35., 33., 36.}); - auto expected = NDArrayFactory::create('c', {4}, {12., 7., 11., 10.}); + auto expected = NDArrayFactory::create( {4}, {12., 7., 11., 10.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3799,7 +3799,7 @@ TEST_F(DeclarableOpsTests7, percentile_test9) { const int dim0=100; - auto input = NDArrayFactory::create('c', {dim0}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., @@ -3823,13 +3823,13 @@ TEST_F(DeclarableOpsTests7, percentile_test10) { const int dim0=100; - auto input = NDArrayFactory::create('c', {dim0}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., + auto input = NDArrayFactory::create( {dim0}, {6., 7., 83., 81., 84., 86., 87., 85., 88., 5., 8., 78., 79., 77., 80., 10., 16., 18., 19., 17., 20., 22., 23., 21., 24., 26., 27., 25., 28., 30., 31., 29., 32., 38., 11., 9., 12., 14., 15., 13., 39., 37., 40., 42., 43., 41., 44., 46., 47., 45., 48., 50., 51., 49., 52., 54., 55., 53., 56., 58., 59., 57., 60., 98., 99., 97.,100., 62., 63., 61., 64., 66., 67., 65., 68., 70., 71., 69., 72., 74., 75., 73., 76., 2., 3., 1., 4., 94., 95., 93., 96., 82., 90., 91., 89., 92., 34., 35., 33., 36.}); - auto expected = NDArrayFactory::create('c', {1}, {11.}); + auto expected = NDArrayFactory::create( {1}, {11.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3847,9 +3847,9 @@ TEST_F(DeclarableOpsTests7, percentile_test11) { const int dim0=1; - auto input = NDArrayFactory::create('c', {dim0}, {100.}); + auto input = NDArrayFactory::create( {dim0}, {100.}); - auto expected = NDArrayFactory::create('c', {1}, {100.}); + auto expected = NDArrayFactory::create( {1}, {100.}); sd::ops::percentile op; //q, interpolation, keepDims @@ -3867,7 +3867,7 @@ TEST_F(DeclarableOpsTests7, percentile_test12) { const int dim0=1; - auto input = NDArrayFactory::create('c', {dim0}, {100.}); + auto input = NDArrayFactory::create( {dim0}, {100.}); auto expected = NDArrayFactory::create(100.); @@ -3885,8 +3885,8 @@ TEST_F(DeclarableOpsTests7, percentile_test12) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, transpose_test3) { - auto input = NDArrayFactory::create('c', {5, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); - auto exp = NDArrayFactory::create('c', {3, 5}, {1.f, 4.f, 7.f, 10.f, 13.f, 2.f, 5.f, 8.f, 11.f, 14.f, 3.f, 6.f, 9.f, 12.f, 15.f}); + auto input = NDArrayFactory::create( {5, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); + auto exp = NDArrayFactory::create( {3, 5}, {1.f, 4.f, 7.f, 10.f, 13.f, 2.f, 5.f, 8.f, 11.f, 14.f, 3.f, 6.f, 9.f, 12.f, 15.f}); sd::ops::transpose op; auto result = op.evaluate({&input}, {}, {}); @@ -3901,8 +3901,8 @@ TEST_F(DeclarableOpsTests7, transpose_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, rationaltanh_test1) { - auto input = NDArrayFactory::create('c', {8}, {0, 1, 2, 3, 4, 5, 6, 7}); - NDArray exp = NDArrayFactory::create({0.000000, 0.998222, 1.516093, 1.658054, 1.695077, 1.706884, 1.711427, 1.713446}); + auto input = NDArrayFactory::create( {8}, {0, 1, 2, 3, 4, 5, 6, 7}); + NDArray exp = NDArrayFactory::vector({0.000000, 0.998222, 1.516093, 1.658054, 1.695077, 1.706884, 1.711427, 1.713446}); sd::ops::rationaltanh op; auto result = op.evaluate({&input}, {}, {}); @@ -3917,8 +3917,8 @@ TEST_F(DeclarableOpsTests7, rationaltanh_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, rationaltanh_test2) { - auto input = NDArrayFactory::create('c', {2,2,2}, {0, 1, 2, 3, 4, 5, 6, 7}); - NDArray exp = NDArrayFactory::create('c', {2,2,2}, {0.000000, 0.998222, 1.516093, 1.658054, 1.695077, 1.706884, 1.711427, 1.713446}); + auto input = NDArrayFactory::create( {2,2,2}, {0, 1, 2, 3, 4, 5, 6, 7}); + NDArray exp = NDArrayFactory::create( {2,2,2}, {0.000000, 0.998222, 1.516093, 1.658054, 1.695077, 1.706884, 1.711427, 1.713446}); sd::ops::rationaltanh op; auto result = op.evaluate({&input}, {}, {}); @@ -3933,9 +3933,9 @@ TEST_F(DeclarableOpsTests7, rationaltanh_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, rationaltanh_test3) { - auto input = NDArrayFactory::create('c', {2,2,2}, {0, 1, 2, 3, 4, 5, 6, 7}); - auto eps = NDArrayFactory::create('c', {2,2,2}, {1, 2, 3, 4, 5, 6, 7, 8}); - NDArray exp = NDArrayFactory::create('c', {2,2,2}, {1.143933, 1.605747, 0.795557, 0.261710, 0.095832, 0.041218, 0.020221, 0.010971}); + auto input = NDArrayFactory::create( {2,2,2}, {0, 1, 2, 3, 4, 5, 6, 7}); + auto eps = NDArrayFactory::create( {2,2,2}, {1, 2, 3, 4, 5, 6, 7, 8}); + NDArray exp = NDArrayFactory::create( {2,2,2}, {1.143933, 1.605747, 0.795557, 0.261710, 0.095832, 0.041218, 0.020221, 0.010971}); sd::ops::rationaltanh_bp op; auto result = op.evaluate({&input, &eps}, {}, {}); @@ -3950,8 +3950,8 @@ TEST_F(DeclarableOpsTests7, rationaltanh_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, rectifiedtanh_test1) { - auto input = NDArrayFactory::create('c', {2,2,2}, {0, 1, 2, 3, 4, 5, 6, 7}); - NDArray exp = NDArrayFactory::create('c', {2,2,2}, {0.000000, 0.761594, 0.964028, 0.995055, 0.999329, 0.999909, 0.999988, 0.999998}); + auto input = NDArrayFactory::create( {2,2,2}, {0, 1, 2, 3, 4, 5, 6, 7}); + NDArray exp = NDArrayFactory::create( {2,2,2}, {0.000000, 0.761594, 0.964028, 0.995055, 0.999329, 0.999909, 0.999988, 0.999998}); sd::ops::rectifiedtanh op; auto result = op.evaluate({&input}, {}, {}); @@ -3966,9 +3966,9 @@ TEST_F(DeclarableOpsTests7, rectifiedtanh_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, rectifiedtanh_test2) { - auto input = NDArrayFactory::create('c', {2,2,2}, {0, 1, 2, 3, 4, 5, 6, 7}); - auto eps = NDArrayFactory::create('c', {2,2,2}, {1, 2, 3, 4, 5, 6, 7, 8}); - NDArray exp = NDArrayFactory::create('c', {2,2,2}, {0.000000, 0.839949, 0.211952, 0.039464, 0.006705, 0.001089, 0.000172, 0.000027}); + auto input = NDArrayFactory::create( {2,2,2}, {0, 1, 2, 3, 4, 5, 6, 7}); + auto eps = NDArrayFactory::create( {2,2,2}, {1, 2, 3, 4, 5, 6, 7, 8}); + NDArray exp = NDArrayFactory::create( {2,2,2}, {0.000000, 0.839949, 0.211952, 0.039464, 0.006705, 0.001089, 0.000172, 0.000027}); sd::ops::rectifiedtanh_bp op; auto result = op.evaluate({&input, &eps}, {}, {}); @@ -3982,9 +3982,9 @@ TEST_F(DeclarableOpsTests7, rectifiedtanh_test2) { TEST_F(DeclarableOpsTests7, RealDiv_1) { - NDArray x = NDArrayFactory::create('c', {1, 2, 1}, {2.f, 4.f}); - NDArray y = NDArrayFactory::create('c', {1, 2}, {1.f,2.f}); - NDArray e = NDArrayFactory::create('c', {1, 2, 2}, {2.f, 1.f, 4.f, 2.f}); + NDArray x = NDArrayFactory::create( {1, 2, 1}, {2.f, 4.f}); + NDArray y = NDArrayFactory::create( {1, 2}, {1.f,2.f}); + NDArray e = NDArrayFactory::create( {1, 2, 2}, {2.f, 1.f, 4.f, 2.f}); sd::ops::realdiv op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -4002,11 +4002,11 @@ TEST_F(DeclarableOpsTests7, RealDiv_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, RealDiv_BP_1) { - NDArray x = NDArrayFactory::create('c', {1, 2, 1}, {2.f, 4.f}); - NDArray y = NDArrayFactory::create('c', {1, 2}, {1.f, 2.f}); - NDArray e0 = NDArrayFactory::create('c', {1, 2, 1}, {2.f, 5.f}); - NDArray e1 = NDArrayFactory::create('c', {1, 2}, {-14.f, -5.f}); - NDArray eps = NDArrayFactory::create('c', {1, 2, 2}, {1.f, 2.f, 3.f, 4.f}); + NDArray x = NDArrayFactory::create( {1, 2, 1}, {2.f, 4.f}); + NDArray y = NDArrayFactory::create( {1, 2}, {1.f, 2.f}); + NDArray e0 = NDArrayFactory::create( {1, 2, 1}, {2.f, 5.f}); + NDArray e1 = NDArrayFactory::create( {1, 2}, {-14.f, -5.f}); + NDArray eps = NDArrayFactory::create( {1, 2, 2}, {1.f, 2.f, 3.f, 4.f}); sd::ops::realdiv_bp op; auto result = op.evaluate({&x, &y, &eps}, {}, {}); @@ -4029,9 +4029,9 @@ TEST_F(DeclarableOpsTests7, RealDiv_BP_1) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, ShapesOf_1) { - NDArray x = NDArrayFactory::create('c', {1, 2, 1}, {2.f, 4.f}); -// NDArray y = NDArrayFactory::create('c', {1, 2}, {1,2}); - NDArray e = NDArrayFactory::create({1, 2, 1}); + NDArray x = NDArrayFactory::create( {1, 2, 1}, {2.f, 4.f}); +// NDArray y = NDArrayFactory::create( {1, 2}, {1,2}); + NDArray e = NDArrayFactory::vector({1, 2, 1}); sd::ops::shapes_of op; auto result = op.evaluate({&x}, {}, {}); @@ -4049,10 +4049,10 @@ TEST_F(DeclarableOpsTests7, ShapesOf_1) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, ShapesOf_2) { - NDArray x = NDArrayFactory::create('c', {1, 2, 1}, {2.f, 4.f}); - NDArray y = NDArrayFactory::create('c', {1, 2}, {1.f, 2.f}); - NDArray e0 = NDArrayFactory::create({1, 2, 1}); - NDArray e1 = NDArrayFactory::create({1, 2}); + NDArray x = NDArrayFactory::create( {1, 2, 1}, {2.f, 4.f}); + NDArray y = NDArrayFactory::create( {1, 2}, {1.f, 2.f}); + NDArray e0 = NDArrayFactory::vector({1, 2, 1}); + NDArray e1 = NDArrayFactory::vector({1, 2}); sd::ops::shapes_of op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -4072,8 +4072,8 @@ TEST_F(DeclarableOpsTests7, ShapesOf_2) { TEST_F(DeclarableOpsTests7, Size_1) { - NDArray x = NDArrayFactory::create('c', {1, 2, 1}, {2.f, 4.f}); - NDArray y = NDArrayFactory::create('c', {5, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 7.f, 9.f, 10.f, 10.f, 11.f}); + NDArray x = NDArrayFactory::create( {1, 2, 1}, {2.f, 4.f}); + NDArray y = NDArrayFactory::create( {5, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 7.f, 9.f, 10.f, 10.f, 11.f}); NDArray e = NDArrayFactory::create(2); sd::ops::size op; @@ -4091,8 +4091,8 @@ TEST_F(DeclarableOpsTests7, Size_1) { TEST_F(DeclarableOpsTests7, Size_2) { - NDArray x = NDArrayFactory::create('c', {1, 2, 1}, {2, 4}); - NDArray y = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray x = NDArrayFactory::create( {1, 2, 1}, {2, 4}); + NDArray y = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); NDArray e = NDArrayFactory::create(10); sd::ops::size op; @@ -4110,8 +4110,8 @@ TEST_F(DeclarableOpsTests7, Size_2) { TEST_F(DeclarableOpsTests7, Softplus_1) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray e = NDArrayFactory::create('c', {5, 2}, {1.3132616, 2.126928, 3.0485873, 4.01815, 5.0067153, 7.0009117, 9.000123, 10.000046, 10.000046, 11.000016}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray e = NDArrayFactory::create( {5, 2}, {1.3132616, 2.126928, 3.0485873, 4.01815, 5.0067153, 7.0009117, 9.000123, 10.000046, 10.000046, 11.000016}); sd::ops::softplus op; auto result = op.evaluate({&x}, {}, {}); @@ -4128,9 +4128,9 @@ TEST_F(DeclarableOpsTests7, Softplus_1) { TEST_F(DeclarableOpsTests7, Softplus_BP_1) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); -// NDArray e = NDArrayFactory::create('c', {5, 2}, {1.3132616, 2.126928, 3.0485873, 4.01815, 5.0067153, 7.0009117, 9.000123, 10.000046, 10.000046, 11.000016}); - NDArray eps = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,6,7,8, 9, 10}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); +// NDArray e = NDArrayFactory::create( {5, 2}, {1.3132616, 2.126928, 3.0485873, 4.01815, 5.0067153, 7.0009117, 9.000123, 10.000046, 10.000046, 11.000016}); + NDArray eps = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,6,7,8, 9, 10}); sd::ops::softplus ffOP; sd::ops::softplus_bp bpOp; const OpArgsHolder argsHolderFF({&x}, {}, {}); @@ -4150,8 +4150,8 @@ TEST_F(DeclarableOpsTests7, Softplus_BP_1) { TEST_F(DeclarableOpsTests7, Softsign_1) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray e = NDArrayFactory::create('c', {5, 2}, {0.5, 0.6666667, 0.75, 0.8, 0.8333333, 0.875, 0.9, 0.90909094, 0.90909094, 0.9166667}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray e = NDArrayFactory::create( {5, 2}, {0.5, 0.6666667, 0.75, 0.8, 0.8333333, 0.875, 0.9, 0.90909094, 0.90909094, 0.9166667}); sd::ops::softsign op; auto result = op.evaluate({&x}, {}, {}); @@ -4168,9 +4168,9 @@ TEST_F(DeclarableOpsTests7, Softsign_1) { TEST_F(DeclarableOpsTests7, Softsign_BP_1) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); -// NDArray e = NDArrayFactory::create('c', {5, 2}, {1.3132616f, 2.126928f, 3.0485873f, 4.01815f, 5.0067153f, 7.0009117f, 9.000123f, 10.000046f, 10.000046f, 11.000016f}); - NDArray eps = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,6,7,8, 9, 10}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); +// NDArray e = NDArrayFactory::create( {5, 2}, {1.3132616f, 2.126928f, 3.0485873f, 4.01815f, 5.0067153f, 7.0009117f, 9.000123f, 10.000046f, 10.000046f, 11.000016f}); + NDArray eps = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,6,7,8, 9, 10}); sd::ops::softsign ffOP; sd::ops::softsign_bp bpOp; const OpArgsHolder argsHolderFF({&x}, {}, {}); @@ -4184,9 +4184,9 @@ TEST_F(DeclarableOpsTests7, Softsign_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, fill_test2) { - auto x = NDArrayFactory::create('c', {1,2}, {2, 2}); + auto x = NDArrayFactory::create( {1,2}, {2, 2}); auto v = NDArrayFactory::create(42.); - auto exp = NDArrayFactory::create('c', {2, 2},{42.f, 42.f, 42.f, 42.f}); + auto exp = NDArrayFactory::create( {2, 2},{42.f, 42.f, 42.f, 42.f}); sd::ops::fill op; auto result = op.evaluate({&x, &v}, {}, {}); @@ -4204,9 +4204,9 @@ TEST_F(DeclarableOpsTests7, fill_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, fill_test3) { - auto x = NDArrayFactory::create('c', {2}, {2, 2}); + auto x = NDArrayFactory::create( {2}, {2, 2}); auto v = NDArrayFactory::create(42.); - auto exp = NDArrayFactory::create('c', {2, 2}, {42.f, 42.f, 42.f, 42.f}); + auto exp = NDArrayFactory::create( {2, 2}, {42.f, 42.f, 42.f, 42.f}); sd::ops::fill op; auto result = op.evaluate({&x, &v}, {}, {}); @@ -4223,8 +4223,8 @@ TEST_F(DeclarableOpsTests7, fill_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, ToggleBits_test1) { - auto x = NDArrayFactory::create('c', {2}, {2, 2}); - auto exp = NDArrayFactory::create('c', {2}, {-3, -3}); + auto x = NDArrayFactory::create( {2}, {2, 2}); + auto exp = NDArrayFactory::create( {2}, {-3, -3}); sd::ops::toggle_bits op; auto result = op.evaluate({&x}); @@ -4241,10 +4241,10 @@ TEST_F(DeclarableOpsTests7, ToggleBits_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, ToggleBits_test2) { - auto x = NDArrayFactory::create('c', {2}, {2, 2}); - auto y = NDArrayFactory::create('c', {2}, {1, 1}); - auto exp0 = NDArrayFactory::create('c', {2}, {-3, -3}); - auto exp1 = NDArrayFactory::create('c', {2}, {-2, -2}); + auto x = NDArrayFactory::create( {2}, {2, 2}); + auto y = NDArrayFactory::create( {2}, {1, 1}); + auto exp0 = NDArrayFactory::create( {2}, {-3, -3}); + auto exp1 = NDArrayFactory::create( {2}, {-2, -2}); sd::ops::toggle_bits op; auto result = op.evaluate({&x, &y}); @@ -4263,9 +4263,9 @@ TEST_F(DeclarableOpsTests7, ToggleBits_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Truncatediv_test1) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray y = NDArrayFactory::create('c', {5, 2}, {2,2,2,2,2,2,2,2, 2, 2}); - NDArray exp = NDArrayFactory::create('c', {5, 2}, {0.5, 1., 1.5, 2., 2.5, 3.5, 4.5, 5., 5., 5.5}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray y = NDArrayFactory::create( {5, 2}, {2,2,2,2,2,2,2,2, 2, 2}); + NDArray exp = NDArrayFactory::create( {5, 2}, {0.5, 1., 1.5, 2., 2.5, 3.5, 4.5, 5., 5., 5.5}); sd::ops::truncatediv op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -4279,9 +4279,9 @@ TEST_F(DeclarableOpsTests7, Truncatediv_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Truncatediv_test2) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray y = NDArrayFactory::create('c', {1, 2}, {2,2}); - NDArray exp = NDArrayFactory::create('c', {5, 2}, {0.5, 1., 1.5, 2., 2.5, 3.5, 4.5, 5., 5., 5.5}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray y = NDArrayFactory::create( {1, 2}, {2,2}); + NDArray exp = NDArrayFactory::create( {5, 2}, {0.5, 1., 1.5, 2., 2.5, 3.5, 4.5, 5., 5., 5.5}); sd::ops::truncatediv op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -4295,11 +4295,11 @@ TEST_F(DeclarableOpsTests7, Truncatediv_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TypesConversion_test1) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray expI = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray expL = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray expF = NDArrayFactory::create('c', {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); - NDArray expF16 = NDArrayFactory::create('c', {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray expI = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray expL = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray expF = NDArrayFactory::create( {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); + NDArray expF16 = NDArrayFactory::create( {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); sd::ops::to_int32 op32; sd::ops::to_int64 op64; @@ -4321,9 +4321,9 @@ TEST_F(DeclarableOpsTests7, TypesConversion_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TypesConversion_test2) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray expF = NDArrayFactory::create('c', {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); - NDArray expH = NDArrayFactory::create('c', {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray expF = NDArrayFactory::create( {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); + NDArray expH = NDArrayFactory::create( {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); sd::ops::to_float32 op32; sd::ops::to_float16 op16; @@ -4345,9 +4345,9 @@ TEST_F(DeclarableOpsTests7, TypesConversion_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TypesConversion_test3) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray exp32 = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray exp64 = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray exp32 = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray exp64 = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); sd::ops::to_uint32 op32; sd::ops::to_uint64 op64; @@ -4368,9 +4368,9 @@ TEST_F(DeclarableOpsTests7, TypesConversion_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TypesConversion_test4) { - NDArray x = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); - NDArray exp32 = NDArrayFactory::create('c', {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); - NDArray exp64 = NDArrayFactory::create('c', {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray x = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); + NDArray exp32 = NDArrayFactory::create( {5, 2}, {1.f,2.f,3.f,4.f,5.f,7.f,9.f,10.f, 10.f, 11.f}); + NDArray exp64 = NDArrayFactory::create( {5, 2}, {1,2,3,4,5,7,9,10, 10, 11}); sd::ops::to_float32 op32; sd::ops::to_double op64; @@ -4390,10 +4390,10 @@ TEST_F(DeclarableOpsTests7, TypesConversion_test4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test1) { - auto input = NDArrayFactory::create('c', {2, 3}, {1., 2., 3., 4., 5., 6.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {1, 1, 2, 2}); + auto input = NDArrayFactory::create( {2, 3}, {1., 2., 3., 4., 5., 6.}); + auto paddings = NDArrayFactory::create( {2, 2}, {1, 1, 2, 2}); - auto exp = NDArrayFactory::create('c', {4, 7}, {2, 1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 5, 4, 4, 5, 6, 6, 5, 5, 4, 4, 5, 6, 6, 5}); + auto exp = NDArrayFactory::create( {4, 7}, {2, 1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 5, 4, 4, 5, 6, 6, 5, 5, 4, 4, 5, 6, 6, 5}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4408,10 +4408,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test2) { - auto input = NDArrayFactory::create('c', {2, 3}, {1., 2., 3., 4., 5., 6.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {1, 1, 2, 2}); + auto input = NDArrayFactory::create( {2, 3}, {1., 2., 3., 4., 5., 6.}); + auto paddings = NDArrayFactory::create( {2, 2}, {1, 1, 2, 2}); - auto exp = NDArrayFactory::create('c', {4, 7}, {6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1}); + auto exp = NDArrayFactory::create( {4, 7}, {6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 6, 5, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {0}); @@ -4426,10 +4426,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test3) { - auto input = NDArrayFactory::create('c', {3}, {1., 2., 3.}); - auto paddings = NDArrayFactory::create('c', {1,2}, {2, 2}); + auto input = NDArrayFactory::create( {3}, {1., 2., 3.}); + auto paddings = NDArrayFactory::create( {1,2}, {2, 2}); - auto exp = NDArrayFactory::create('c', {7}, {2, 1, 1, 2, 3, 3, 2}); + auto exp = NDArrayFactory::create( {7}, {2, 1, 1, 2, 3, 3, 2}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4444,10 +4444,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test4) { - auto input = NDArrayFactory::create('c', {3}, {1., 2., 3.}); - auto paddings = NDArrayFactory::create('c', {2}, {2, 3}); + auto input = NDArrayFactory::create( {3}, {1., 2., 3.}); + auto paddings = NDArrayFactory::create( {2}, {2, 3}); - auto exp = NDArrayFactory::create('c', {8}, {2, 1, 1, 2, 3, 3, 2, 1}); + auto exp = NDArrayFactory::create( {8}, {2, 1, 1, 2, 3, 3, 2, 1}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4462,10 +4462,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test5) { - auto input = NDArrayFactory::create('c', {3}, {1., 2., 3.}); - auto paddings = NDArrayFactory::create('c', {2}, {2, 2}); + auto input = NDArrayFactory::create( {3}, {1., 2., 3.}); + auto paddings = NDArrayFactory::create( {2}, {2, 2}); - auto exp = NDArrayFactory::create('c', {7}, {3, 2, 1, 2, 3, 2, 1}); + auto exp = NDArrayFactory::create( {7}, {3, 2, 1, 2, 3, 2, 1}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {0}); @@ -4480,9 +4480,9 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test5) { TEST_F(DeclarableOpsTests7, mirrorPad_test6) { auto input = NDArrayFactory::create(1.); - auto paddings = NDArrayFactory::create('c', {1,2,1,1}, {1, 1}); + auto paddings = NDArrayFactory::create( {1,2,1,1}, {1, 1}); - auto exp = NDArrayFactory::create('c', {3}, {1,1,1}); + auto exp = NDArrayFactory::create( {3}, {1,1,1}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4498,9 +4498,9 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test6) { TEST_F(DeclarableOpsTests7, mirrorPad_test7) { auto input = NDArrayFactory::create(1.); - auto paddings = NDArrayFactory::create('c', {2}, {1, 1}); + auto paddings = NDArrayFactory::create( {2}, {1, 1}); - auto exp = NDArrayFactory::create('c', {3}, {1,1,1}); + auto exp = NDArrayFactory::create( {3}, {1,1,1}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4515,10 +4515,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test8) { - auto input = NDArrayFactory::create('c', {1,3}, {1., 2., 3.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {1, 1, 3, 3}); + auto input = NDArrayFactory::create( {1,3}, {1., 2., 3.}); + auto paddings = NDArrayFactory::create( {2, 2}, {1, 1, 3, 3}); - auto exp = NDArrayFactory::create('c', {3,9}, {3, 2, 1, 1, 2, 3, 3, 2, 1, 3, 2, 1, 1, 2, 3, 3, 2, 1, 3, 2, 1, 1, 2, 3, 3, 2, 1}); + auto exp = NDArrayFactory::create( {3,9}, {3, 2, 1, 1, 2, 3, 3, 2, 1, 3, 2, 1, 1, 2, 3, 3, 2, 1, 3, 2, 1, 1, 2, 3, 3, 2, 1}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4534,10 +4534,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test9) { - auto input = NDArrayFactory::create('c', {2, 3}, {1., 2., 3., 4., 5., 6.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {2, 2, 3, 3}); + auto input = NDArrayFactory::create( {2, 3}, {1., 2., 3., 4., 5., 6.}); + auto paddings = NDArrayFactory::create( {2, 2}, {2, 2, 3, 3}); - auto exp = NDArrayFactory::create('c', {6, 9}, {6, 5, 4, 4, 5, 6, 6, 5, 4, 3, 2, 1, 1, 2, 3, 3, 2, 1, 3, 2, 1, 1, 2, 3, 3, 2, 1, 6, 5, 4, 4, 5, 6, 6, 5, 4, 6, 5, 4, 4, 5, 6, 6, 5, 4, 3, 2, 1, 1, 2, 3, 3, 2, 1}); + auto exp = NDArrayFactory::create( {6, 9}, {6, 5, 4, 4, 5, 6, 6, 5, 4, 3, 2, 1, 1, 2, 3, 3, 2, 1, 3, 2, 1, 1, 2, 3, 3, 2, 1, 6, 5, 4, 4, 5, 6, 6, 5, 4, 6, 5, 4, 4, 5, 6, 6, 5, 4, 3, 2, 1, 1, 2, 3, 3, 2, 1}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4552,10 +4552,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test9) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test10) { - auto input = NDArrayFactory::create('c', {1,3}, {1., 2., 3.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {0, 0, 0, 0}); + auto input = NDArrayFactory::create( {1,3}, {1., 2., 3.}); + auto paddings = NDArrayFactory::create( {2, 2}, {0, 0, 0, 0}); - auto exp = NDArrayFactory::create('c', {1,3}, {1., 2., 3.}); + auto exp = NDArrayFactory::create( {1,3}, {1., 2., 3.}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4570,10 +4570,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test10) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test11) { - auto input = NDArrayFactory::create('c', {1,3}, {1., 2., 3.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {0, 0, 0, 0}); + auto input = NDArrayFactory::create( {1,3}, {1., 2., 3.}); + auto paddings = NDArrayFactory::create( {2, 2}, {0, 0, 0, 0}); - auto exp = NDArrayFactory::create('c', {1,3}, {1., 2., 3.}); + auto exp = NDArrayFactory::create( {1,3}, {1., 2., 3.}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {0}); @@ -4588,10 +4588,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test11) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test12) { - auto input = NDArrayFactory::create('c', {3}, {1., 2., 3.}); - auto paddings = NDArrayFactory::create('c', {2,1}, {0, 0}); + auto input = NDArrayFactory::create( {3}, {1., 2., 3.}); + auto paddings = NDArrayFactory::create( {2,1}, {0, 0}); - auto exp = NDArrayFactory::create('c', {3}, {1., 2., 3.}); + auto exp = NDArrayFactory::create( {3}, {1., 2., 3.}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {0}); @@ -4606,10 +4606,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test12) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test13) { - auto input = NDArrayFactory::create('c', {2, 3}, {1., 2., 3., 4., 5., 6.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {0, 0, 0, 0}); + auto input = NDArrayFactory::create( {2, 3}, {1., 2., 3., 4., 5., 6.}); + auto paddings = NDArrayFactory::create( {2, 2}, {0, 0, 0, 0}); - auto exp = NDArrayFactory::create('c', {2, 3}, {1., 2., 3., 4., 5., 6.}); + auto exp = NDArrayFactory::create( {2, 3}, {1., 2., 3., 4., 5., 6.}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {0}); @@ -4624,10 +4624,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test13) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test14) { - auto input = NDArrayFactory::create('c', {2, 3}, {1., 2., 3., 4., 5., 6.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {1LL, 0LL, 0LL, 1LL}); + auto input = NDArrayFactory::create( {2, 3}, {1., 2., 3., 4., 5., 6.}); + auto paddings = NDArrayFactory::create( {2, 2}, {1LL, 0LL, 0LL, 1LL}); - auto exp = NDArrayFactory::create('c', {3, 4}, {4, 5, 6, 5, 1, 2, 3, 2, 4, 5, 6, 5}); + auto exp = NDArrayFactory::create( {3, 4}, {4, 5, 6, 5, 1, 2, 3, 2, 4, 5, 6, 5}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {0}); @@ -4642,10 +4642,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test14) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test15) { - auto input = NDArrayFactory::create('c', {2, 3}, {1., 2., 3., 4., 5., 6.}); - auto paddings = NDArrayFactory::create('c', {2, 2}, {1, 1, 0, 0}); + auto input = NDArrayFactory::create( {2, 3}, {1., 2., 3., 4., 5., 6.}); + auto paddings = NDArrayFactory::create( {2, 2}, {1, 1, 0, 0}); - auto exp = NDArrayFactory::create('c', {4, 3}, {1, 2, 3, 1, 2, 3, 4, 5, 6, 4, 5, 6}); + auto exp = NDArrayFactory::create( {4, 3}, {1, 2, 3, 1, 2, 3, 4, 5, 6, 4, 5, 6}); sd::ops::mirror_pad op; auto result = op.evaluate({&input, &paddings}, {}, {1}); @@ -4660,10 +4660,10 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test15) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, mirrorPad_test16) { - auto input = NDArrayFactory::create('c', {4,3,2}); - auto paddings = NDArrayFactory::create('c', {3,2}, {3,3,2,2,1,1}); + auto input = NDArrayFactory::create( {4,3,2}); + auto paddings = NDArrayFactory::create( {3,2}, {3,3,2,2,1,1}); - auto exp = NDArrayFactory::create('c', {10,7,4}, {24., 23., 24., 23.,22., 21., 22., 21.,20., 19., 20., 19.,22., 21., 22., 21.,24., 23., 24., 23.,22., 21., 22., 21.,20., 19., 20., 19.,18., 17., 18., 17.,16., 15., 16., 15.,14., 13., 14., 13.,16., 15., 16., 15.,18., 17., 18., 17.,16., 15., 16., 15.,14., 13., 14., 13., + auto exp = NDArrayFactory::create( {10,7,4}, {24., 23., 24., 23.,22., 21., 22., 21.,20., 19., 20., 19.,22., 21., 22., 21.,24., 23., 24., 23.,22., 21., 22., 21.,20., 19., 20., 19.,18., 17., 18., 17.,16., 15., 16., 15.,14., 13., 14., 13.,16., 15., 16., 15.,18., 17., 18., 17.,16., 15., 16., 15.,14., 13., 14., 13., 12., 11., 12., 11.,10., 9., 10., 9., 8., 7., 8., 7.,10., 9., 10., 9.,12., 11., 12., 11.,10., 9., 10., 9., 8., 7., 8., 7., 6., 5., 6., 5., 4., 3., 4., 3., 2., 1., 2., 1., 4., 3., 4., 3., 6., 5., 6., 5., 4., 3., 4., 3., 2., 1., 2., 1., 12., 11., 12., 11.,10., 9., 10., 9., 8., 7., 8., 7.,10., 9., 10., 9.,12., 11., 12., 11.,10., 9., 10., 9., 8., 7., 8., 7.,18., 17., 18., 17.,16., 15., 16., 15.,14., 13., 14., 13.,16., 15., 16., 15.,18., 17., 18., 17.,16., 15., 16., 15.,14., 13., 14., 13., 24., 23., 24., 23.,22., 21., 22., 21.,20., 19., 20., 19.,22., 21., 22., 21.,24., 23., 24., 23.,22., 21., 22., 21.,20., 19., 20., 19.,18., 17., 18., 17.,16., 15., 16., 15.,14., 13., 14., 13.,16., 15., 16., 15.,18., 17., 18., 17.,16., 15., 16., 15.,14., 13., 14., 13., @@ -4686,7 +4686,7 @@ TEST_F(DeclarableOpsTests7, mirrorPad_test16) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_1) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); auto exp = NDArrayFactory::create(120.f); //************************************// @@ -4703,8 +4703,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_2) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); - auto exp = NDArrayFactory::create({15.f, 40.f, 65.f}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto exp = NDArrayFactory::vector({15.f, 40.f, 65.f}); //************************************// sd::ops::reduce_sum op; @@ -4720,7 +4720,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_1) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); auto exp = NDArrayFactory::create(1307674368000.f); //************************************// @@ -4737,8 +4737,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_2) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); - auto exp = NDArrayFactory::create({120.f, 30240.f, 360360.f}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto exp = NDArrayFactory::vector({120.f, 30240.f, 360360.f}); //************************************// sd::ops::reduce_prod op; @@ -4754,8 +4754,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_01) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {4}, {66.f, 72.f, 78.f, 84.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {4}, {66.f, 72.f, 78.f, 84.f}); x.linspace(1); sd::ops::reduce_sum op; @@ -4773,8 +4773,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_01) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_02) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {66.f, 72.f, 78.f, 84.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {66.f, 72.f, 78.f, 84.f}); x.linspace(1); sd::ops::reduce_sum op; @@ -4793,8 +4793,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_3) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {3}, {68.f, 100.f, 132.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {3}, {68.f, 100.f, 132.f}); x.linspace(1); sd::ops::reduce_sum op; @@ -4813,8 +4813,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_4) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {68.f, 100.f, 132.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,3,1}, {68.f, 100.f, 132.f}); x.linspace(1); sd::ops::reduce_sum op; @@ -4833,7 +4833,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_5) { - auto x = NDArrayFactory::create('c', {2,3,4}); + auto x = NDArrayFactory::create( {2,3,4}); auto exp = NDArrayFactory::create(300.f); x.linspace(1); @@ -4853,7 +4853,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_6) { - auto x = NDArrayFactory::create('c', {2,3,4}); + auto x = NDArrayFactory::create( {2,3,4}); auto exp = NDArrayFactory::create(300.f); x.linspace(1); @@ -4873,8 +4873,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_7) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,1}, {300.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,1}, {300.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_sum op; @@ -4893,8 +4893,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_01) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {2}, {10395.f, 46080.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {2}, {10395.f, 46080.f}); x.linspace(1); sd::ops::reduce_prod op; @@ -4912,8 +4912,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_01) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_02) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {1,1,2}, {10395.f, 46080.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {1,1,2}, {10395.f, 46080.f}); x.linspace(1); sd::ops::reduce_prod op; @@ -4932,8 +4932,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_3) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {3}, {112.f, 1080.f, 3960.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {3}, {112.f, 1080.f, 3960.f}); x.linspace(1); sd::ops::reduce_prod op; @@ -4952,8 +4952,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_4) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {112.f, 1080.f, 3960.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {1,3,1}, {112.f, 1080.f, 3960.f}); x.linspace(1); sd::ops::reduce_prod op; @@ -4972,7 +4972,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_5) { - auto x = NDArrayFactory::create('c', {2,3,2}); + auto x = NDArrayFactory::create( {2,3,2}); auto exp = NDArrayFactory::create(479001600.f); x.linspace(1); @@ -4992,7 +4992,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_6) { - auto x = NDArrayFactory::create('c', {2,3,2}); + auto x = NDArrayFactory::create( {2,3,2}); auto exp = NDArrayFactory::create(479001600.f); x.linspace(1); @@ -5012,8 +5012,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_7) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {479001600.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {479001600.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_prod op; @@ -5030,8 +5030,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_7) { } TYPED_TEST(TypedDeclarableOpsTests7, Test_Pnorm_Once_Again) { - auto input = NDArrayFactory::create('c', {1, 1, 5, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f}); - auto exp = NDArrayFactory::create('c', {1, 1, 5, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f}); + auto input = NDArrayFactory::create( {1, 1, 5, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f}); + auto exp = NDArrayFactory::create( {1, 1, 5, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f}); sd::ops::pnormpool2d op; auto result = op.evaluate({&input}, {}, {1,1, 1,1, 0,0, 1,1,1, 3, 0}); @@ -5045,8 +5045,8 @@ TYPED_TEST(TypedDeclarableOpsTests7, Test_Pnorm_Once_Again) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); x.linspace(1); sd::ops::reduce_min op; @@ -5064,8 +5064,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {1.f, 2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,1,4}, {1.f, 2.f, 3.f, 4.f}); x.linspace(1); sd::ops::reduce_min op; @@ -5084,8 +5084,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {1.f, 5.f, 9.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {1.f, 5.f, 9.f}); x.linspace(1); sd::ops::reduce_min op; @@ -5104,8 +5104,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {1.f, 5.f, 9.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {1.f, 5.f, 9.f}); x.linspace(1); sd::ops::reduce_min op; @@ -5124,7 +5124,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(1.f); x.linspace(1); @@ -5144,7 +5144,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(1.f); x.linspace(1); @@ -5164,8 +5164,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {1.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {1.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_min op; @@ -5184,8 +5184,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {21.f, 22.f, 23.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {21.f, 22.f, 23.f, 24.f}); x.linspace(1); sd::ops::reduce_max op; @@ -5204,8 +5204,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_2) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {21.f, 22.f, 23.f, 24.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {21.f, 22.f, 23.f, 24.f}); x.linspace(1); sd::ops::reduce_max op; @@ -5224,8 +5224,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {16.f, 20.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {16.f, 20.f, 24.f}); x.linspace(1); sd::ops::reduce_max op; @@ -5244,8 +5244,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {16.f, 20.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {16.f, 20.f, 24.f}); x.linspace(1); sd::ops::reduce_max op; @@ -5264,7 +5264,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(24.f); x.linspace(1); @@ -5284,7 +5284,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(24.f); x.linspace(1); @@ -5304,8 +5304,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {24.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_max op; @@ -5324,8 +5324,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {66.f, 72.f, 78.f, 84.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {66.f, 72.f, 78.f, 84.f}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -5343,8 +5343,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_2) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {66.f, 72.f, 78.f, 84.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {66.f, 72.f, 78.f, 84.f}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -5363,8 +5363,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {68.f, 100.f, 132.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {68.f, 100.f, 132.f}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -5383,8 +5383,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {68.f, 100.f, 132.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {68.f, 100.f, 132.f}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -5403,7 +5403,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(300.f); x.linspace(1); @@ -5423,7 +5423,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(300.f); x.linspace(1); @@ -5443,8 +5443,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {300.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {300.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_norm1 op; @@ -5462,8 +5462,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_7) { TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -5481,8 +5481,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_2) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -5501,8 +5501,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {29.597298f, 39.344631f, 49.759422f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {29.597298f, 39.344631f, 49.759422f}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -5521,8 +5521,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {29.597298f, 39.344631f, 49.759422f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {29.597298f, 39.344631f, 49.759422f}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -5541,7 +5541,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(70.f); x.linspace(1); @@ -5561,7 +5561,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(70.f); x.linspace(1); @@ -5581,8 +5581,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {70.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {70.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_norm2 op; @@ -5601,8 +5601,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {21.f, 22.f, 23.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {21.f, 22.f, 23.f, 24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -5620,8 +5620,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {21.f, 22.f, 23.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,1,4}, {21.f, 22.f, 23.f, 24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -5639,8 +5639,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {16.f, 20.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {16.f, 20.f, 24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -5658,8 +5658,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 3, 1}, {16.f, 20.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 3, 1}, {16.f, 20.f, 24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -5677,7 +5677,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(24.f); x.linspace(1); @@ -5697,7 +5697,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(24.f); x.linspace(1); @@ -5717,8 +5717,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -5737,8 +5737,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {1006.f, 1144.f, 1294.f, 1456.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {1006.f, 1144.f, 1294.f, 1456.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -5756,8 +5756,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {1006.f, 1144.f, 1294.f, 1456.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,1,4}, {1006.f, 1144.f, 1294.f, 1456.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -5775,8 +5775,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {876.f, 1548.f, 2476.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {876.f, 1548.f, 2476.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -5794,8 +5794,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 3, 1}, {876.f, 1548.f, 2476.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 3, 1}, {876.f, 1548.f, 2476.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -5813,7 +5813,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(4900.f); x.linspace(1); @@ -5833,7 +5833,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(4900.f); x.linspace(1); @@ -5853,8 +5853,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {4900.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {4900.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -5873,9 +5873,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_BP_1) { - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); auto eps = NDArrayFactory::create(0.5f); - auto exp = NDArrayFactory::create('c', {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); + auto exp = NDArrayFactory::create( {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); //************************************// sd::ops::reduce_sum_bp op; @@ -5892,9 +5892,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_BP_2) { - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto eps = NDArrayFactory::create('c', {1, 1}, {0.5f}); - auto exp = NDArrayFactory::create('c', {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto eps = NDArrayFactory::create( {1, 1}, {0.5f}); + auto exp = NDArrayFactory::create( {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); //************************************// @@ -5913,9 +5913,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_BP_3) { - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); //************************************// @@ -5934,9 +5934,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_BP_4) { - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto eps = NDArrayFactory::create('c', {1, 4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto eps = NDArrayFactory::create( {1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); //************************************// @@ -5955,12 +5955,12 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Sum_BP_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_1) { - auto input = NDArrayFactory::create('c', {3, 5}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); + auto input = NDArrayFactory::create( {3, 5}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); auto eps = NDArrayFactory::create(1307674368000.f); //************************************// -// auto exp = NDArrayFactory::create('c', {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); +// auto exp = NDArrayFactory::create( {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); //************************************// - auto exp = NDArrayFactory::create('c', {3, 5}, {1710012166826558903812096.f, 855006083413279451906048.f, 570004067618451974258688.f, + auto exp = NDArrayFactory::create( {3, 5}, {1710012166826558903812096.f, 855006083413279451906048.f, 570004067618451974258688.f, 427503041706639725953024.f, 342002454982589992140800.f, 285002033809225987129344.f, 244287457550765131825152.f, 213751520853319862976512.f, 190001355872817324752896.f, 171001227491294996070400.f, 155455648254341989531648.f, 142501016904612993564672.f, @@ -5980,12 +5980,12 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_2) { - auto input = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); + auto input = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); auto eps = NDArrayFactory::create(0.5f); //************************************// -// auto exp = NDArrayFactory::create('c', {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); +// auto exp = NDArrayFactory::create( {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); //************************************// - auto exp = NDArrayFactory::create('c', {3, 4}); + auto exp = NDArrayFactory::create( {3, 4}); sd::ops::reduce_prod_bp op; sd::ops::reduce_prod op_exp; @@ -6007,10 +6007,10 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_3) { - auto input = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); - auto eps = NDArrayFactory::create('c', {1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto input = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); + auto eps = NDArrayFactory::create( {1, 4}, {1.f, 2.f, 3.f, 4.f}); //************************************// - auto exp = NDArrayFactory::create('c', {3, 4}, {45.f, 120.f, 231.f, 384.f, 9.f, 40.f, 99.f, 192.f, 5.f, 24.f, 63.f, 128.f}); + auto exp = NDArrayFactory::create( {3, 4}, {45.f, 120.f, 231.f, 384.f, 9.f, 40.f, 99.f, 192.f, 5.f, 24.f, 63.f, 128.f}); sd::ops::reduce_prod_bp op; //sd::ops::reduce_prod op_exp; @@ -6028,11 +6028,11 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_03) { int ax = 0; - auto input = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); - auto eps = NDArrayFactory::create('c', {1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto input = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); + auto eps = NDArrayFactory::create( {1, 4}, {1.f, 2.f, 3.f, 4.f}); //************************************// - auto exp = NDArrayFactory::create('c', {3, 4}, {45.f, 120.f, 231.f, 384.f, 9.f, 40.f, 99.f, 192.f, 5.f, 24.f, 63.f, 128.f}); - auto axis = NDArrayFactory::create('c', {1}, {ax}); + auto exp = NDArrayFactory::create( {3, 4}, {45.f, 120.f, 231.f, 384.f, 9.f, 40.f, 99.f, 192.f, 5.f, 24.f, 63.f, 128.f}); + auto axis = NDArrayFactory::create( {1}, {ax}); sd::ops::reduce_prod_bp op; //sd::ops::reduce_prod op_exp; auto result = op.evaluate({&input, &eps, &axis}, {}, {}, {true}); @@ -6049,10 +6049,10 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_03) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_4) { - auto input = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); + auto input = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); //************************************// - auto exp = NDArrayFactory::create('c', {3, 4}, {45.f, 120.f, 231.f, 384.f, 9.f, 40.f, 99.f, 192.f, 5.f, 24.f, 63.f, 128.f}); + auto exp = NDArrayFactory::create( {3, 4}, {45.f, 120.f, 231.f, 384.f, 9.f, 40.f, 99.f, 192.f, 5.f, 24.f, 63.f, 128.f}); sd::ops::reduce_prod_bp op; sd::ops::reduce_prod op_exp; @@ -6072,10 +6072,10 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_5) { - auto input = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); - auto eps = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); + auto input = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f}); + auto eps = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); //************************************// - auto exp = NDArrayFactory::create('c', {3, 4}, {24.f, 12.f, 8.f, 6.f, 672.f, 560.f, 480.f, 420.f, 3960.f, 3564.f, 3240.f, 2970.f}); + auto exp = NDArrayFactory::create( {3, 4}, {24.f, 12.f, 8.f, 6.f, 672.f, 560.f, 480.f, 420.f, 3960.f, 3564.f, 3240.f, 2970.f}); sd::ops::reduce_prod_bp op; sd::ops::reduce_prod op_exp; @@ -6095,9 +6095,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Prod_BP_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); exp.p(0, eps.e(0)); exp.p(1, eps.e(1)); exp.p(2, eps.e(2)); @@ -6120,9 +6120,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1, 4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); exp.p(0, eps.e(0)); exp.p(1, eps.e(1)); exp.p(2, eps.e(2)); @@ -6144,14 +6144,14 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_02) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1, 4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); exp.p(0, eps.e(0)); exp.p(1, eps.e(1)); exp.p(2, eps.e(2)); exp.p(3, eps.e(3)); - auto axes = NDArrayFactory::create({0,1}); + auto axes = NDArrayFactory::vector({0,1}); x.linspace(1); // x.printIndexedBuffer("Input is"); // exp.printIndexedBuffer("Expected "); @@ -6170,9 +6170,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_3) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1}, {0.5f}); - auto exp = NDArrayFactory::create('c', {3, 4}); + auto x = NDArrayFactory::create( {3, 4}); + auto eps = NDArrayFactory::create( {1, 1}, {0.5f}); + auto exp = NDArrayFactory::create( {3, 4}); x.linspace(1); x.p(2,2, -1.f); exp.p(2,2, 0.5f); @@ -6193,9 +6193,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_4) { - auto x = NDArrayFactory::create('c', {3, 4}); + auto x = NDArrayFactory::create( {3, 4}); auto eps = NDArrayFactory::create(0.5f); - auto exp = NDArrayFactory::create('c', {3, 4}); + auto exp = NDArrayFactory::create( {3, 4}); x.linspace(1); x.p(2,2, -1.f); exp.p(2,2, 0.5f); @@ -6216,9 +6216,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_5) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {4, 4}); x.linspace(1); x.p(0,0, -1.f); x.p(1,1, -2.f); @@ -6246,9 +6246,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_6) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto eps = NDArrayFactory::create('c', {1,4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto eps = NDArrayFactory::create( {1,4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {4, 4}); x.linspace(1); x.p(0,0, -1.f); x.p(1,1, -2.f); @@ -6276,9 +6276,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Min_BP_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {4}, {21.f, 22.f, 23.f, 24.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {4}, {21.f, 22.f, 23.f, 24.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); exp.p(20, eps.e(0)); exp.p(21, eps.e(1)); exp.p(22, eps.e(2)); @@ -6300,9 +6300,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1, 4}, {21.f, 22.f, 23.f, 24.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 1, 4}, {21.f, 22.f, 23.f, 24.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); exp.p(20, eps.e(0)); exp.p(21, eps.e(1)); exp.p(22, eps.e(2)); @@ -6325,14 +6325,14 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_02) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1, 4}, {21.f, 22.f, 23.f, 24.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 1, 4}, {21.f, 22.f, 23.f, 24.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); exp.p(20, eps.e(0)); exp.p(21, eps.e(1)); exp.p(22, eps.e(2)); exp.p(23, eps.e(3)); - auto axes = NDArrayFactory::create({0, 1}); + auto axes = NDArrayFactory::vector({0, 1}); x.linspace(1); // x.printIndexedBuffer("Input is"); // exp.printIndexedBuffer("Expected "); @@ -6351,9 +6351,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_3) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {4, 4}); x.linspace(1); x.p(0,0, 21.f); x.p(1,1, 22.f); @@ -6380,9 +6380,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_4) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto eps = NDArrayFactory::create('c', {1,4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto eps = NDArrayFactory::create( {1,4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {4, 4}); x.linspace(1); x.p(0,0, 21.f); x.p(1,1, 22.f); @@ -6410,10 +6410,10 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Max_BP_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_BP_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto eps = NDArrayFactory::create(5.f); x.linspace(1); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto exp = NDArrayFactory::create( {2, 3, 4}); x.p(12, -2.f); x.p(20, -3.f); exp.assign(5.f); @@ -6434,10 +6434,10 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_BP_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create({1.f, 2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::vector({1.f, 2.f, 3.f, 4.f}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f}); sd::ops::reduce_norm1_bp op; auto result = op.evaluate({&x, &eps}, {}, {0,1}); ASSERT_EQ(ND4J_STATUS_OK, result.status()); @@ -6453,11 +6453,11 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_BP_02) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create({1.f, 2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::vector({1.f, 2.f, 3.f, 4.f}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f}); - auto axes = NDArrayFactory::create({0,1}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f}); + auto axes = NDArrayFactory::vector({0,1}); sd::ops::reduce_norm1_bp op; auto result = op.evaluate({&x, &eps, &axes}, {}, {}, {false}); ASSERT_EQ(ND4J_STATUS_OK, result.status()); @@ -6471,10 +6471,10 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_BP_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_BP_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 1, 4}, {1.f, 2.f, 3.f, 4.f}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f,1.f, 2.f, 3.f, 4.f}); sd::ops::reduce_norm1_bp op; auto result = op.evaluate({&x, &eps}, {1.f}, {0,1}); auto output = result.at(0); @@ -6489,8 +6489,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm1_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); x.linspace(1); sd::ops::reduce_norm2_bp op; @@ -6508,8 +6508,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1, 4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 1, 4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); x.linspace(1); sd::ops::reduce_norm2_bp op; @@ -6527,9 +6527,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_02) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1, 4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); - auto axes = NDArrayFactory::create({0, 1}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 1, 4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); + auto axes = NDArrayFactory::vector({0, 1}); x.linspace(1); sd::ops::reduce_norm2_bp op; @@ -6547,8 +6547,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {3}, {29.597298f, 39.344631f, 49.759422f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {3}, {29.597298f, 39.344631f, 49.759422f}); x.linspace(1); sd::ops::reduce_norm2_bp op; @@ -6567,8 +6567,8 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1,3,1}, {29.597298f, 39.344631f, 49.759422f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1,3,1}, {29.597298f, 39.344631f, 49.759422f}); x.linspace(1); sd::ops::reduce_norm2_bp op; @@ -6587,9 +6587,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Norm2_BP_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_BP_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, { 2.f, 8.f, 18.f, 32.f, + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, { 2.f, 8.f, 18.f, 32.f, 10.f, 24.f, 42.f, 64.f, 18.f, 40.f, 66.f, 96.f, 26.f, 56.f, 90.f, 128.f, @@ -6612,15 +6612,15 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_BP_01) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, { 2.f, 8.f, 18.f, 32.f, + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, { 2.f, 8.f, 18.f, 32.f, 10.f, 24.f, 42.f, 64.f, 18.f, 40.f, 66.f, 96.f, 26.f, 56.f, 90.f, 128.f, 34.f, 72.f, 114.f, 160.f, 42.f, 88.f, 138.f, 192.f}); - auto axes = NDArrayFactory::create({0, 1}); + auto axes = NDArrayFactory::vector({0, 1}); x.linspace(1); sd::ops::reduce_sqnorm_bp op; @@ -6638,9 +6638,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_SquaredNorm_BP_01) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); exp.p(20, 1.f); exp.p(21, 2.f); @@ -6662,9 +6662,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1,1,4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1,1,4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); exp.p(20, 1.f); exp.p(21, 2.f); @@ -6686,10 +6686,10 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_02) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1,1,4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); - auto axes = NDArrayFactory::create({0,1}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1,1,4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); + auto axes = NDArrayFactory::vector({0,1}); x.linspace(1); exp.p(20, 1.f); exp.p(21, 2.f); @@ -6710,9 +6710,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); exp.p(15, 1.f); @@ -6734,9 +6734,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 3, 1}, {1.f, 2.f, 3.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 3, 1}, {1.f, 2.f, 3.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); exp.p(15, 1.f); exp.p(19, 2.f); @@ -6756,9 +6756,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto eps = NDArrayFactory::create(1.f); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto exp = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); exp.p(23, 1.f); sd::ops::reduce_norm_max_bp op; @@ -6777,9 +6777,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto eps = NDArrayFactory::create(1.f); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto exp = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); exp.p(23, 1.f); @@ -6799,9 +6799,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto eps = NDArrayFactory::create('c', {1, 1, 1}, {1.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto eps = NDArrayFactory::create( {1, 1, 1}, {1.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); exp.p(23, 1.f); sd::ops::reduce_norm_max_bp op; @@ -6820,11 +6820,11 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_NormMax_BP_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto y = NDArrayFactory::create('c', {2, 3, 4}); - NDArray* z; // = NDArrayFactory::create('c', {4}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto y = NDArrayFactory::create( {2, 3, 4}); + NDArray* z; // = NDArrayFactory::create( {4}); auto eps = NDArrayFactory::create(1.f); -// auto exp = NDArrayFactory::create('c', {2, 3, 4}); +// auto exp = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); y.linspace(2); @@ -6847,14 +6847,14 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto y = NDArrayFactory::create('c', {2, 3, 4}); -// auto z; // = NDArrayFactory::create('c', {4}); - auto eps = NDArrayFactory::create('c', {2, 4}); - auto expX = NDArrayFactory::create('c', {2, 3, 4}, {2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, + auto x = NDArrayFactory::create( {2, 3, 4}); + auto y = NDArrayFactory::create( {2, 3, 4}); +// auto z; // = NDArrayFactory::create( {4}); + auto eps = NDArrayFactory::create( {2, 4}); + auto expX = NDArrayFactory::create( {2, 3, 4}, {2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 10.f, 12.f, 14.f, 16.f, 10.f, 12.f, 14.f, 16.f, 10.f, 12.f, 14.f, 16.f }); - auto expY = NDArrayFactory::create('c', {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, + auto expY = NDArrayFactory::create( {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 5.f, 6.f, 7.f, 8.f, 5.f, 6.f, 7.f, 8.f }); x.assign(1.f); @@ -6878,17 +6878,17 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_02) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto y = NDArrayFactory::create('c', {2, 3, 4}); -// auto z; // = NDArrayFactory::create('c', {4}); - auto eps = NDArrayFactory::create('c', {2, 4}); - auto expX = NDArrayFactory::create('c', {2, 3, 4}, {2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, + auto x = NDArrayFactory::create( {2, 3, 4}); + auto y = NDArrayFactory::create( {2, 3, 4}); +// auto z; // = NDArrayFactory::create( {4}); + auto eps = NDArrayFactory::create( {2, 4}); + auto expX = NDArrayFactory::create( {2, 3, 4}, {2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 2.f, 4.f, 6.f, 8.f, 10.f, 12.f, 14.f, 16.f, 10.f, 12.f, 14.f, 16.f, 10.f, 12.f, 14.f, 16.f }); - auto expY = NDArrayFactory::create('c', {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, + auto expY = NDArrayFactory::create( {2, 3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 5.f, 6.f, 7.f, 8.f, 5.f, 6.f, 7.f, 8.f }); - auto axis = NDArrayFactory::create('c', {1}, {1}); + auto axis = NDArrayFactory::create( {1}, {1}); x.assign(1.f); eps.linspace(1); y.assign(2.f); @@ -6910,11 +6910,11 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_3) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto y = NDArrayFactory::create('c', {3, 4}); - auto eps = NDArrayFactory::create('c', {3}); - auto expX = NDArrayFactory::create('c', {3, 4}, {2.f, 2.f, 2.f, 2.f, 4.f, 4.f, 4.f, 4.f, 6.f, 6.f, 6.f, 6.f}); - auto expY = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, 10.f, 12.f, 14.f, 16.f, 27.f, 30.f, 33.f, 36.f}); + auto x = NDArrayFactory::create( {3, 4}); + auto y = NDArrayFactory::create( {3, 4}); + auto eps = NDArrayFactory::create( {3}); + auto expX = NDArrayFactory::create( {3, 4}, {2.f, 2.f, 2.f, 2.f, 4.f, 4.f, 4.f, 4.f, 6.f, 6.f, 6.f, 6.f}); + auto expY = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 10.f, 12.f, 14.f, 16.f, 27.f, 30.f, 33.f, 36.f}); x.linspace(1); eps.linspace(1); y.assign(2.f); @@ -6934,9 +6934,9 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, cumsum_bp_1) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto eps = NDArrayFactory::create('c', {3, 4}); - auto exp = NDArrayFactory::create('c', {3, 4}, {12.f, 11.f, 10.f, 9.f, 8.f, 7.f, + auto x = NDArrayFactory::create( {3, 4}); + auto eps = NDArrayFactory::create( {3, 4}); + auto exp = NDArrayFactory::create( {3, 4}, {12.f, 11.f, 10.f, 9.f, 8.f, 7.f, 6.f, 5.f, 4.f, 3.f, 2.f, 1.f}); x.linspace(1); eps.assign(1.f); @@ -6955,9 +6955,9 @@ TEST_F(DeclarableOpsTests7, cumsum_bp_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, cumsum_bp_2) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto eps = NDArrayFactory::create('c', {3, 4}); - auto exp = NDArrayFactory::create('c', {3, 4}, { 11.f, 10.f, 9.f, 8.f, 7.f, 6.f, + auto x = NDArrayFactory::create( {3, 4}); + auto eps = NDArrayFactory::create( {3, 4}); + auto exp = NDArrayFactory::create( {3, 4}, { 11.f, 10.f, 9.f, 8.f, 7.f, 6.f, 5.f, 4.f, 3.f, 2.f, 1.f, 0.f}); x.linspace(1); eps.assign(1.f); @@ -6977,9 +6977,9 @@ TEST_F(DeclarableOpsTests7, cumsum_bp_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, cumsum_bp_3) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto eps = NDArrayFactory::create('c', {3, 4}); - auto exp = NDArrayFactory::create('c', {3, 4}); + auto x = NDArrayFactory::create( {3, 4}); + auto eps = NDArrayFactory::create( {3, 4}); + auto exp = NDArrayFactory::create( {3, 4}); x.linspace(1); exp.linspace(0); From 43e9563965e586b53cb8ab934e827f2bf1ac5d6e Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 22 Jun 2020 09:58:35 +0300 Subject: [PATCH 61/99] Adopt the eighth test file with refactored create methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests8.cpp | 670 +++++++++--------- 1 file changed, 335 insertions(+), 335 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp index 0ca5e210ab92..55a609f6f4f6 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp @@ -53,8 +53,8 @@ TYPED_TEST_CASE(TypedDeclarableOpsTests8, TestingTypes); //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVariance_test1) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); - auto exp = NDArrayFactory::create('c', {4}, {602.2222f, 727.13885f, 993.5555f, 755.8889f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); + auto exp = NDArrayFactory::create( {4}, {602.2222f, 727.13885f, 993.5555f, 755.8889f}); sd::ops::reduce_variance op; auto result = op.evaluate({&x}, {}, {0,1}); @@ -71,8 +71,8 @@ TEST_F(DeclarableOpsTests8, reduceVariance_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVariance_test2) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {602.2222f, 727.13885f, 993.5555f, 755.8889f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); + auto exp = NDArrayFactory::create( {1,1,4}, {602.2222f, 727.13885f, 993.5555f, 755.8889f}); sd::ops::reduce_variance op; auto result = op.evaluate({&x}, {1.}, {0,1}); @@ -89,8 +89,8 @@ TEST_F(DeclarableOpsTests8, reduceVariance_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVariance_test3) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); - auto exp = NDArrayFactory::create('c', {3}, {900.9375f, 969.8594f, 424.1875f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); + auto exp = NDArrayFactory::create( {3}, {900.9375f, 969.8594f, 424.1875f}); sd::ops::reduce_variance op; auto result = op.evaluate({&x}, {}, {0,2}); @@ -107,8 +107,8 @@ TEST_F(DeclarableOpsTests8, reduceVariance_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVariance_test4) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {900.9375f, 969.8594f, 424.1875f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); + auto exp = NDArrayFactory::create( {1,3,1}, {900.9375f, 969.8594f, 424.1875f}); sd::ops::reduce_variance op; auto result = op.evaluate({&x}, {1.}, {0,2}); @@ -125,7 +125,7 @@ TEST_F(DeclarableOpsTests8, reduceVariance_test4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVariance_test5) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.f}); auto exp = NDArrayFactory::create(788.6927f); sd::ops::reduce_variance op; @@ -143,7 +143,7 @@ TEST_F(DeclarableOpsTests8, reduceVariance_test5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVariance_test6) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); auto exp = NDArrayFactory::create(788.6927f); sd::ops::reduce_variance op; @@ -161,8 +161,8 @@ TEST_F(DeclarableOpsTests8, reduceVariance_test6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVariance_test7) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {1,1,1}, {788.6927f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {1,1,1}, {788.6927f}); sd::ops::reduce_variance op; auto result = op.evaluate({&x}, {1.}, {0,1,2}); @@ -179,8 +179,8 @@ TEST_F(DeclarableOpsTests8, reduceVariance_test7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVariance_test8) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {1,1,1}, {788.6927f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {1,1,1}, {788.6927f}); auto axes = NDArrayFactory::create({0, 1, 2}); sd::ops::reduce_variance op; auto result = op.evaluate({&x, &axes}, {}, {}, {true}); @@ -197,8 +197,8 @@ TEST_F(DeclarableOpsTests8, reduceVariance_test8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test1) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {4}, {24.54022f, 26.96551f, 31.52072f, 27.49343f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {4}, {24.54022f, 26.96551f, 31.52072f, 27.49343f}); sd::ops::reduce_stdev op; auto result = op.evaluate({&x}, {}, {0,1}); @@ -215,8 +215,8 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test2) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {24.54022f, 26.96551f, 31.52072f, 27.49343f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {1,1,4}, {24.54022f, 26.96551f, 31.52072f, 27.49343f}); sd::ops::reduce_stdev op; auto result = op.evaluate({&x}, {1.}, {0,1}); @@ -233,8 +233,8 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test3) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {3}, {30.01562f, 31.14257f, 20.59581f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {3}, {30.01562f, 31.14257f, 20.59581f}); sd::ops::reduce_stdev op; auto result = op.evaluate({&x}, {}, {0,2}); @@ -251,8 +251,8 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test4) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {30.01562f, 31.14257f, 20.59581f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {1,3,1}, {30.01562f, 31.14257f, 20.59581f}); sd::ops::reduce_stdev op; auto result = op.evaluate({&x}, {1.}, {0,2}); @@ -269,7 +269,7 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test5) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); auto exp = NDArrayFactory::create(28.08367f); sd::ops::reduce_stdev op; @@ -287,7 +287,7 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test6) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); auto exp = NDArrayFactory::create(28.08367f); sd::ops::reduce_stdev op; @@ -305,8 +305,8 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test7) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {1,1,1}, {28.08367f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {1,1,1}, {28.08367f}); sd::ops::reduce_stdev op; auto result = op.evaluate({&x}, {1.f}, {0,1,2}); @@ -323,8 +323,8 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test8) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {4}, {26.88246f, 29.53924f, 34.52921f, 30.11755f}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {4}, {26.88246f, 29.53924f, 34.52921f, 30.11755f}); sd::ops::reduce_stdev op; auto result = op.evaluate({&x}, {0.f,1.f}, {0,1}); @@ -341,9 +341,9 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDev_test08) { - auto x = NDArrayFactory::create('c', {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); - auto exp = NDArrayFactory::create('c', {4}, {26.88246f, 29.53924f, 34.52921f, 30.11755f}); - auto axes = NDArrayFactory::create({0,1}); + auto x = NDArrayFactory::create( {2,3,4}, {27.f,34.f,5.f,4.f,54.f,6.f,65.f,8.f,37.f,45.f,8.f,67.f,96.f,10.f,65.f,41.f,33.f,85.f,92.f,24.f,25.f,55.f,49.f,76.}); + auto exp = NDArrayFactory::create( {4}, {26.88246f, 29.53924f, 34.52921f, 30.11755f}); + auto axes = NDArrayFactory::vector({0,1}); sd::ops::reduce_stdev op; auto result = op.evaluate({&x, &axes}, {}, {}, {false, true}); auto output = result.at(0); @@ -359,11 +359,11 @@ TEST_F(DeclarableOpsTests8, reduceStDev_test08) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVarianceBP_test1) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {1,1}, {0.5f}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {1,1}, {0.5f}); auto gradO2 = NDArrayFactory::create(0.5f); - auto exp12 = NDArrayFactory::create('c', {3,4}, {-0.5f, -0.4090909f, -0.3181818f, -0.22727273f, -0.13636364f, -0.045454547f, 0.045454547f, 0.13636364f, 0.22727273f, 0.3181818f, 0.4090909f, 0.5f}); - auto exp34 = NDArrayFactory::create('c', {3,4}, {-0.45833334f, -0.375f, -0.29166666f, -0.20833333f, -0.125f, -0.041666668f, 0.041666668f, 0.125f, 0.20833333f, 0.29166666f, 0.375f, 0.45833334f}); + auto exp12 = NDArrayFactory::create( {3,4}, {-0.5f, -0.4090909f, -0.3181818f, -0.22727273f, -0.13636364f, -0.045454547f, 0.045454547f, 0.13636364f, 0.22727273f, 0.3181818f, 0.4090909f, 0.5f}); + auto exp34 = NDArrayFactory::create( {3,4}, {-0.45833334f, -0.375f, -0.29166666f, -0.20833333f, -0.125f, -0.041666668f, 0.041666668f, 0.125f, 0.20833333f, 0.29166666f, 0.375f, 0.45833334f}); x.linspace(1); @@ -402,11 +402,11 @@ TEST_F(DeclarableOpsTests8, reduceVarianceBP_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVarianceBP_test2) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {1,4}, {1.f,2.f,3.f,4.f}); - auto gradO2 = NDArrayFactory::create('c', {4}, {1.,2.,3.,4.}); - auto exp12 = NDArrayFactory::create('c', {3,4}, {-2.666667f, -5.333333f, -8.000000f, -10.666667f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 2.666667f, 5.333333f, 8.000000f, 10.666667f}); - auto exp34 = NDArrayFactory::create('c', {3,4}, {-4.000000f, -8.000000f, -12.000000f, -16.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 4.000000f, 8.000000f, 12.000000f, 16.000000f}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {1,4}, {1.f,2.f,3.f,4.f}); + auto gradO2 = NDArrayFactory::create( {4}, {1.,2.,3.,4.}); + auto exp12 = NDArrayFactory::create( {3,4}, {-2.666667f, -5.333333f, -8.000000f, -10.666667f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 2.666667f, 5.333333f, 8.000000f, 10.666667f}); + auto exp34 = NDArrayFactory::create( {3,4}, {-4.000000f, -8.000000f, -12.000000f, -16.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 4.000000f, 8.000000f, 12.000000f, 16.000000f}); x.linspace(1); @@ -445,12 +445,12 @@ TEST_F(DeclarableOpsTests8, reduceVarianceBP_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVarianceBP_test02) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {1,4}, {1.f,2.f,3.f,4.f}); - auto gradO2 = NDArrayFactory::create('c', {4}, {1.f,2.f,3.f,4.f}); - auto exp12 = NDArrayFactory::create('c', {3,4}, {-2.666667f, -5.333333f, -8.000000f, -10.666667f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 2.666667f, 5.333333f, 8.000000f, 10.666667f}); - auto exp34 = NDArrayFactory::create('c', {3,4}, {-4.000000f, -8.000000f, -12.000000f, -16.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 4.000000f, 8.000000f, 12.000000f, 16.000000f}); - auto axes = NDArrayFactory::create({(int)0,}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {1,4}, {1.f,2.f,3.f,4.f}); + auto gradO2 = NDArrayFactory::create( {4}, {1.f,2.f,3.f,4.f}); + auto exp12 = NDArrayFactory::create( {3,4}, {-2.666667f, -5.333333f, -8.000000f, -10.666667f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 2.666667f, 5.333333f, 8.000000f, 10.666667f}); + auto exp34 = NDArrayFactory::create( {3,4}, {-4.000000f, -8.000000f, -12.000000f, -16.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 4.000000f, 8.000000f, 12.000000f, 16.000000f}); + auto axes = NDArrayFactory::vector({(int)0,}); x.linspace(1); sd::ops::reduce_variance_bp op; @@ -488,13 +488,13 @@ TEST_F(DeclarableOpsTests8, reduceVarianceBP_test02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceVarianceBP_test3) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto gradO1 = NDArrayFactory::create('c', {3, 1}, {1.f, 2.f, 3.f}); - auto gradO2 = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); - auto exp12 = NDArrayFactory::create('c', {3, 4}, + auto x = NDArrayFactory::create( {3, 4}); + auto gradO1 = NDArrayFactory::create( {3, 1}, {1.f, 2.f, 3.f}); + auto gradO2 = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); + auto exp12 = NDArrayFactory::create( {3, 4}, {-0.750000f, -0.250000f, 0.250000f, 0.750000f, -1.500000f, -0.500000f, 0.500000f, 1.500000f, -2.250000f, -0.750000f, 0.750000f, 2.250000f}); - auto exp34 = NDArrayFactory::create('c', {3, 4}, + auto exp34 = NDArrayFactory::create( {3, 4}, {-1.000000f, -0.333333f, 0.333333f, 1.000000f, -2.000000f, -0.666667f, 0.666667f, 2.000000f, -3.000000f, -1.000000f, 1.000000f, 3.000000f}); @@ -534,11 +534,11 @@ TEST_F(DeclarableOpsTests8, reduceVarianceBP_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDevBP_test1) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {1,1}, {0.5f}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {1,1}, {0.5f}); auto gradO2 = NDArrayFactory::create(0.5f); - auto exp12 = NDArrayFactory::create('c', {3,4}, {-0.069337524f, -0.056730703f, -0.04412388f, -0.031517055f, -0.018910235f, -0.0063034114f, 0.0063034114f, 0.018910235f, 0.031517055f, 0.04412388f, 0.056730703f, 0.069337524f}); - auto exp34 = NDArrayFactory::create('c', {3,4}, {-0.06638563f, -0.05431551f, -0.0422454f, -0.030175284f, -0.01810517f, -0.006035057f, 0.006035057f, 0.01810517f, 0.030175284f, 0.0422454f, 0.05431551f, 0.06638563f}); + auto exp12 = NDArrayFactory::create( {3,4}, {-0.069337524f, -0.056730703f, -0.04412388f, -0.031517055f, -0.018910235f, -0.0063034114f, 0.0063034114f, 0.018910235f, 0.031517055f, 0.04412388f, 0.056730703f, 0.069337524f}); + auto exp34 = NDArrayFactory::create( {3,4}, {-0.06638563f, -0.05431551f, -0.0422454f, -0.030175284f, -0.01810517f, -0.006035057f, 0.006035057f, 0.01810517f, 0.030175284f, 0.0422454f, 0.05431551f, 0.06638563f}); x.linspace(1); @@ -577,11 +577,11 @@ TEST_F(DeclarableOpsTests8, reduceStDevBP_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDevBP_test2) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {1,4}, {1.f,2.f,3.f,4.f}); - auto gradO2 = NDArrayFactory::create('c', {4}, {1.f,2.f,3.f,4.f}); - auto exp12 = NDArrayFactory::create('c', {3,4}, {-0.4082483f, -0.8164966f, -1.2247449f, -1.6329932f, 0.0, 0.0, 0.0, 0.0, 0.4082483f, 0.8164966f, 1.2247449f, 1.6329932f}); - auto exp34 = NDArrayFactory::create('c', {3,4}, {-0.5f, -1.0f, -1.5f, -2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, 1.0f, 1.5f, 2.0f}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {1,4}, {1.f,2.f,3.f,4.f}); + auto gradO2 = NDArrayFactory::create( {4}, {1.f,2.f,3.f,4.f}); + auto exp12 = NDArrayFactory::create( {3,4}, {-0.4082483f, -0.8164966f, -1.2247449f, -1.6329932f, 0.0, 0.0, 0.0, 0.0, 0.4082483f, 0.8164966f, 1.2247449f, 1.6329932f}); + auto exp34 = NDArrayFactory::create( {3,4}, {-0.5f, -1.0f, -1.5f, -2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, 1.0f, 1.5f, 2.0f}); x.linspace(1); @@ -620,12 +620,12 @@ TEST_F(DeclarableOpsTests8, reduceStDevBP_test2) { TEST_F(DeclarableOpsTests8, reduceStDevBP_test02) { int ax = 0; - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {1,4}, {1.f,2.f,3.f,4.f}); - auto gradO2 = NDArrayFactory::create('c', {4}, {1.f,2.f,3.f,4.f}); - auto exp12 = NDArrayFactory::create('c', {3,4}, {-0.4082483f, -0.8164966f, -1.2247449f, -1.6329932f, 0.0, 0.0, 0.0, 0.0, 0.4082483f, 0.8164966f, 1.2247449f, 1.6329932f}); - auto exp34 = NDArrayFactory::create('c', {3,4}, {-0.5f, -1.0f, -1.5f, -2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, 1.0f, 1.5f, 2.0f}); - auto axis = NDArrayFactory::create('c', {1}, {ax}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {1,4}, {1.f,2.f,3.f,4.f}); + auto gradO2 = NDArrayFactory::create( {4}, {1.f,2.f,3.f,4.f}); + auto exp12 = NDArrayFactory::create( {3,4}, {-0.4082483f, -0.8164966f, -1.2247449f, -1.6329932f, 0.0, 0.0, 0.0, 0.0, 0.4082483f, 0.8164966f, 1.2247449f, 1.6329932f}); + auto exp34 = NDArrayFactory::create( {3,4}, {-0.5f, -1.0f, -1.5f, -2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, 1.0f, 1.5f, 2.0f}); + auto axis = NDArrayFactory::create( {1}, {ax}); x.linspace(1); sd::ops::reduce_stdev_bp op; @@ -662,11 +662,11 @@ TEST_F(DeclarableOpsTests8, reduceStDevBP_test02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDevBP_test3) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {3,1}, {1.f,2.f,3.f}); - auto gradO2 = NDArrayFactory::create('c', {3}, {1.f,2.f,3.f}); - auto exp12 = NDArrayFactory::create('c', {3,4}, {-0.3354102f, -0.1118034f, 0.1118034f, 0.3354102f, -0.6708204f, -0.2236068f, 0.2236068f, 0.6708204f, -1.0062306f, -0.3354102f, 0.3354102f, 1.0062306f}); - auto exp34 = NDArrayFactory::create('c', {3,4}, {-0.38729835f, -0.12909944f, 0.12909944f, 0.38729835f, -0.7745967f, -0.2581989f, 0.2581989f, 0.7745967f, -1.161895f, -0.38729835f, 0.38729835f, 1.161895f}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {3,1}, {1.f,2.f,3.f}); + auto gradO2 = NDArrayFactory::create( {3}, {1.f,2.f,3.f}); + auto exp12 = NDArrayFactory::create( {3,4}, {-0.3354102f, -0.1118034f, 0.1118034f, 0.3354102f, -0.6708204f, -0.2236068f, 0.2236068f, 0.6708204f, -1.0062306f, -0.3354102f, 0.3354102f, 1.0062306f}); + auto exp34 = NDArrayFactory::create( {3,4}, {-0.38729835f, -0.12909944f, 0.12909944f, 0.38729835f, -0.7745967f, -0.2581989f, 0.2581989f, 0.7745967f, -1.161895f, -0.38729835f, 0.38729835f, 1.161895f}); x.linspace(1); @@ -706,7 +706,7 @@ TEST_F(DeclarableOpsTests8, reduceStDevBP_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_1) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); auto exp = NDArrayFactory::create(120.f); //************************************// @@ -723,8 +723,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_2) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); - auto exp = NDArrayFactory::create({15.f, 40.f, 65.f}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto exp = NDArrayFactory::vector({15.f, 40.f, 65.f}); //************************************// sd::ops::reduce_sum op; @@ -740,9 +740,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_03) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); - auto exp = NDArrayFactory::create({15.f, 40.f, 65.f}); - auto axis = NDArrayFactory::create('c', {1}, {1}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto exp = NDArrayFactory::vector({15.f, 40.f, 65.f}); + auto axis = NDArrayFactory::create( {1}, {1}); //************************************// sd::ops::reduce_sum op; @@ -758,7 +758,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_03) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_1) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); auto exp = NDArrayFactory::create(1307674368000.f); //************************************// @@ -775,8 +775,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_2) { - auto input = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); - auto exp = NDArrayFactory::create({120.f, 30240.f, 360360.f}); + auto input = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto exp = NDArrayFactory::vector({120.f, 30240.f, 360360.f}); //************************************// sd::ops::reduce_prod op; @@ -792,8 +792,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_01) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {4}, {66.f, 72.f, 78.f, 84.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {4}, {66.f, 72.f, 78.f, 84.f}); x.linspace(1); sd::ops::reduce_sum op; @@ -811,8 +811,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_01) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_02) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {66.f, 72.f, 78.f, 84.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {66.f, 72.f, 78.f, 84.f}); x.linspace(1); sd::ops::reduce_sum op; @@ -831,8 +831,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_3) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {3}, {68.f, 100.f, 132.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {3}, {68.f, 100.f, 132.f}); x.linspace(1); sd::ops::reduce_sum op; @@ -851,8 +851,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_4) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {68.f, 100.f, 132.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,3,1}, {68.f, 100.f, 132.f}); x.linspace(1); sd::ops::reduce_sum op; @@ -871,7 +871,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_5) { - auto x = NDArrayFactory::create('c', {2,3,4}); + auto x = NDArrayFactory::create( {2,3,4}); auto exp = NDArrayFactory::create(300.f); x.linspace(1); @@ -891,7 +891,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_6) { - auto x = NDArrayFactory::create('c', {2,3,4}); + auto x = NDArrayFactory::create( {2,3,4}); auto exp = NDArrayFactory::create(300.f); x.linspace(1); @@ -911,8 +911,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_7) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,1}, {300.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,1}, {300.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_sum op; @@ -931,8 +931,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_01) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {2}, {10395.f, 46080.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {2}, {10395.f, 46080.f}); x.linspace(1); sd::ops::reduce_prod op; @@ -950,8 +950,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_01) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_02) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {1,1,2}, {10395.f, 46080.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {1,1,2}, {10395.f, 46080.f}); x.linspace(1); sd::ops::reduce_prod op; @@ -970,8 +970,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_3) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {3}, {112.f, 1080.f, 3960.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {3}, {112.f, 1080.f, 3960.f}); x.linspace(1); sd::ops::reduce_prod op; @@ -990,8 +990,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_4) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {112.f, 1080.f, 3960.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {1,3,1}, {112.f, 1080.f, 3960.f}); x.linspace(1); sd::ops::reduce_prod op; @@ -1010,9 +1010,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_04) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {112.f, 1080.f, 3960.f}); - auto axes = NDArrayFactory::create({0, 2}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {1,3,1}, {112.f, 1080.f, 3960.f}); + auto axes = NDArrayFactory::vector({0, 2}); x.linspace(1); sd::ops::reduce_prod op; @@ -1031,7 +1031,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_5) { - auto x = NDArrayFactory::create('c', {2,3,2}); + auto x = NDArrayFactory::create( {2,3,2}); auto exp = NDArrayFactory::create(479001600.f); x.linspace(1); @@ -1051,7 +1051,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_6) { - auto x = NDArrayFactory::create('c', {2,3,2}); + auto x = NDArrayFactory::create( {2,3,2}); auto exp = NDArrayFactory::create(479001600.f); x.linspace(1); @@ -1071,8 +1071,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_7) { - auto x = NDArrayFactory::create('c', {2,3,2}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {479001600.f}); + auto x = NDArrayFactory::create( {2,3,2}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {479001600.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_prod op; @@ -1091,8 +1091,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Min_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); x.linspace(1); sd::ops::reduce_min op; @@ -1110,8 +1110,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Min_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Min_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {1.f, 2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,1,4}, {1.f, 2.f, 3.f, 4.f}); x.linspace(1); sd::ops::reduce_min op; @@ -1130,8 +1130,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Min_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Min_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {1.f, 5.f, 9.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {1.f, 5.f, 9.f}); x.linspace(1); sd::ops::reduce_min op; @@ -1150,8 +1150,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Min_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Min_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {1.f, 5.f, 9.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {1.f, 5.f, 9.f}); x.linspace(1); sd::ops::reduce_min op; @@ -1170,9 +1170,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Min_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Min_04) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {1.f, 5.f, 9.f}); - auto axes = NDArrayFactory::create({0, 2}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {1.f, 5.f, 9.f}); + auto axes = NDArrayFactory::vector({0, 2}); x.linspace(1); sd::ops::reduce_min op; @@ -1191,7 +1191,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Min_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Min_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(1.f); x.linspace(1); @@ -1211,7 +1211,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Min_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Min_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(1.f); x.linspace(1); @@ -1231,8 +1231,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Min_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Min_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {1.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {1.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_min op; @@ -1251,8 +1251,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Min_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Max_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {21.f, 22.f, 23.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {21.f, 22.f, 23.f, 24.f}); x.linspace(1); sd::ops::reduce_max op; @@ -1271,8 +1271,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Max_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Max_2) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {21.f, 22.f, 23.f, 24.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {21.f, 22.f, 23.f, 24.f}); x.linspace(1); sd::ops::reduce_max op; @@ -1291,8 +1291,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Max_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Max_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {16.f, 20.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {16.f, 20.f, 24.f}); x.linspace(1); sd::ops::reduce_max op; @@ -1311,8 +1311,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Max_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Max_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {16.f, 20.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {16.f, 20.f, 24.f}); x.linspace(1); sd::ops::reduce_max op; @@ -1331,9 +1331,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Max_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Max_04) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {16.f, 20.f, 24.f}); - auto axes = NDArrayFactory::create({0, 2}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {16.f, 20.f, 24.f}); + auto axes = NDArrayFactory::vector({0, 2}); x.linspace(1); sd::ops::reduce_max op; @@ -1352,7 +1352,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Max_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Max_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(24.f); x.linspace(1); @@ -1372,7 +1372,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Max_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Max_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(24.f); x.linspace(1); @@ -1392,8 +1392,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Max_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Max_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {24.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_max op; @@ -1411,8 +1411,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Max_7) { TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {66.f, 72.f, 78.f, 84.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {66.f, 72.f, 78.f, 84.f}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -1430,8 +1430,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_2) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {66.f, 72.f, 78.f, 84.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {66.f, 72.f, 78.f, 84.f}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -1450,8 +1450,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {68.f, 100.f, 132.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {68.f, 100.f, 132.f}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -1470,8 +1470,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {68.f, 100.f, 132.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {68.f, 100.f, 132.f}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -1490,9 +1490,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_04) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {68.f, 100.f, 132.f}); - auto axes = NDArrayFactory::create({0, 2}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {68.f, 100.f, 132.f}); + auto axes = NDArrayFactory::vector({0, 2}); x.linspace(1); sd::ops::reduce_norm1 op; @@ -1511,7 +1511,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(300.f); x.linspace(1); @@ -1531,7 +1531,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(300.f); x.linspace(1); @@ -1551,8 +1551,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {300.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {300.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_norm1 op; @@ -1570,8 +1570,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm1_7) { TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -1589,8 +1589,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_2) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {31.7175f, 33.823071f, 35.97221f, 38.15757f}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -1609,8 +1609,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {29.597298f, 39.344631f, 49.759422f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {29.597298f, 39.344631f, 49.759422f}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -1629,8 +1629,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {29.597298f, 39.344631f, 49.759422f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {29.597298f, 39.344631f, 49.759422f}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -1649,9 +1649,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_04) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {29.597298f, 39.344631f, 49.759422f}); - auto axes = NDArrayFactory::create({0,2}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,3,1}, {29.597298f, 39.344631f, 49.759422f}); + auto axes = NDArrayFactory::vector({0,2}); x.linspace(1); sd::ops::reduce_norm2 op; @@ -1670,7 +1670,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(70.f); x.linspace(1); @@ -1690,7 +1690,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(70.f); x.linspace(1); @@ -1710,8 +1710,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {70.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {70.f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); sd::ops::reduce_norm2 op; @@ -1730,8 +1730,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Norm2_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {21.f, 22.f, 23.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {21.f, 22.f, 23.f, 24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -1749,8 +1749,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {21.f, 22.f, 23.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,1,4}, {21.f, 22.f, 23.f, 24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -1768,8 +1768,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {16.f, 20.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {16.f, 20.f, 24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -1787,8 +1787,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 3, 1}, {16.f, 20.f, 24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 3, 1}, {16.f, 20.f, 24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -1806,9 +1806,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_04) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 3, 1}, {16.f, 20.f, 24.f}); - auto axes = NDArrayFactory::create({0,2}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 3, 1}, {16.f, 20.f, 24.f}); + auto axes = NDArrayFactory::vector({0,2}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -1826,7 +1826,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(24.f); x.linspace(1); @@ -1846,7 +1846,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(24.f); x.linspace(1); @@ -1866,8 +1866,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {24.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {24.f}); x.linspace(1); sd::ops::reduce_norm_max op; @@ -1886,8 +1886,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_NormMax_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {1006.f, 1144.f, 1294.f, 1456.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {1006.f, 1144.f, 1294.f, 1456.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -1905,8 +1905,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {1006.f, 1144.f, 1294.f, 1456.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1,1,4}, {1006.f, 1144.f, 1294.f, 1456.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -1924,8 +1924,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {3}, {876.f, 1548.f, 2476.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {3}, {876.f, 1548.f, 2476.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -1943,8 +1943,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 3, 1}, {876.f, 1548.f, 2476.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 3, 1}, {876.f, 1548.f, 2476.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -1962,9 +1962,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_04) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 3, 1}, {876.f, 1548.f, 2476.f}); - auto axes = NDArrayFactory::create({0, 2}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 3, 1}, {876.f, 1548.f, 2476.f}); + auto axes = NDArrayFactory::vector({0, 2}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -1982,7 +1982,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(4900.f); x.linspace(1); @@ -2002,7 +2002,7 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto exp = NDArrayFactory::create(4900.f); x.linspace(1); @@ -2022,8 +2022,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1, 1}, {4900.f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1, 1}, {4900.f}); x.linspace(1); sd::ops::reduce_sqnorm op; @@ -2042,9 +2042,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_SquaredNorm_7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_1) { - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); auto eps = NDArrayFactory::create(0.5f); - auto exp = NDArrayFactory::create('c', {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); + auto exp = NDArrayFactory::create( {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); //************************************// sd::ops::reduce_sum_bp op; @@ -2061,9 +2061,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_2) { - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto eps = NDArrayFactory::create('c', {1, 1}, {0.5f}); - auto exp = NDArrayFactory::create('c', {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto eps = NDArrayFactory::create( {1, 1}, {0.5f}); + auto exp = NDArrayFactory::create( {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); //************************************// @@ -2082,9 +2082,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_3) { - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto eps = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto eps = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); //************************************// @@ -2103,9 +2103,9 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_4) { - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto eps = NDArrayFactory::create('c', {1, 4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto eps = NDArrayFactory::create( {1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); //************************************// @@ -2125,12 +2125,12 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_4) { TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_04) { int ax = 0; - auto input = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); - auto eps = NDArrayFactory::create('c', {1, 4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {3, 4}, {1.f, 2.f, 3.f, 4.f, + auto input = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}); + auto eps = NDArrayFactory::create( {1, 4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f}); - auto axis = NDArrayFactory::create('c', {1}, {ax}); + auto axis = NDArrayFactory::create( {1}, {ax}); //************************************// sd::ops::reduce_sum_bp op; @@ -2147,12 +2147,12 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Sum_BP_04) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_BP_1) { - auto input = NDArrayFactory::create('c', {3, 5}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); + auto input = NDArrayFactory::create( {3, 5}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f}); auto eps = NDArrayFactory::create(1307674368000.f); //************************************// -// auto exp = NDArrayFactory::create('c', {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); +// auto exp = NDArrayFactory::create( {3, 4}, {0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f,0.5f}); //************************************// - auto exp = NDArrayFactory::create('c', {3, 5}, {1710012166826558903812096.f, 855006083413279451906048.f, 570004067618451974258688.f, + auto exp = NDArrayFactory::create( {3, 5}, {1710012166826558903812096.f, 855006083413279451906048.f, 570004067618451974258688.f, 427503041706639725953024.f, 342002454982589992140800.f, 285002033809225987129344.f, 244287457550765131825152.f, 213751520853319862976512.f, 190001355872817324752896.f, 171001227491294996070400.f, 155455648254341989531648.f, 142501016904612993564672.f, @@ -2172,8 +2172,8 @@ TEST_F(DeclarableOpsTests8, Test_Reduce_Prod_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMean_test1) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {4}, {11.f, 12.f, 13.f, 14.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {4}, {11.f, 12.f, 13.f, 14.f}); x.linspace(1); @@ -2192,8 +2192,8 @@ TEST_F(DeclarableOpsTests8, reduceMean_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMean_test2) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,4}, {11.f, 12.f, 13.f, 14.f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,4}, {11.f, 12.f, 13.f, 14.f}); x.linspace(1); @@ -2212,8 +2212,8 @@ TEST_F(DeclarableOpsTests8, reduceMean_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMean_test3) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {3}, {8.5f, 12.5f, 16.5f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {3}, {8.5f, 12.5f, 16.5f}); x.linspace(1); @@ -2232,8 +2232,8 @@ TEST_F(DeclarableOpsTests8, reduceMean_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMean_test4) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {8.5f, 12.5f, 16.5f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,3,1}, {8.5f, 12.5f, 16.5f}); x.linspace(1); @@ -2252,7 +2252,7 @@ TEST_F(DeclarableOpsTests8, reduceMean_test4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMean_test5) { - auto x = NDArrayFactory::create('c', {2,3,4}); + auto x = NDArrayFactory::create( {2,3,4}); auto exp = NDArrayFactory::create(12.5f); x.linspace(1); @@ -2272,7 +2272,7 @@ TEST_F(DeclarableOpsTests8, reduceMean_test5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMean_test6) { - auto x = NDArrayFactory::create('c', {2,3,4}); + auto x = NDArrayFactory::create( {2,3,4}); auto exp = NDArrayFactory::create(12.5f); x.linspace(1); @@ -2291,8 +2291,8 @@ TEST_F(DeclarableOpsTests8, reduceMean_test6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMean_test7) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,1}, {12.5f}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,1}, {12.5f}); x.linspace(1); sd::ops::reduce_mean op; @@ -2310,9 +2310,9 @@ TEST_F(DeclarableOpsTests8, reduceMean_test7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMean_test8) { - auto x = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {1,1,1}, {12.5f}); - auto axes = NDArrayFactory::create({0, 1, 2}); + auto x = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {1,1,1}, {12.5f}); + auto axes = NDArrayFactory::vector({0, 1, 2}); x.linspace(1); sd::ops::reduce_mean op; @@ -2330,10 +2330,10 @@ TEST_F(DeclarableOpsTests8, reduceMean_test8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMeanBP_test1) { - auto x = NDArrayFactory::create('c', {3,4}); + auto x = NDArrayFactory::create( {3,4}); auto gradO1 = NDArrayFactory::create(0.5f); - auto gradO2 = NDArrayFactory::create('c', {1,1}, {0.5f}); - auto exp = NDArrayFactory::create('c', {3,4}, {1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24}); + auto gradO2 = NDArrayFactory::create( {1,1}, {0.5f}); + auto exp = NDArrayFactory::create( {3,4}, {1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24, 1./24}); x.linspace(1); @@ -2361,10 +2361,10 @@ TEST_F(DeclarableOpsTests8, reduceMeanBP_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMeanBP_test2) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto gradO2 = NDArrayFactory::create('c', {1,4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {3,4}, {1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f, 1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f, 1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto gradO2 = NDArrayFactory::create( {1,4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {3,4}, {1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f, 1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f, 1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f}); x.linspace(1); @@ -2389,11 +2389,11 @@ TEST_F(DeclarableOpsTests8, reduceMeanBP_test2) { TEST_F(DeclarableOpsTests8, reduceMeanBP_test02) { int ax = 0; - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto gradO2 = NDArrayFactory::create('c', {1,4}, {1.f, 2.f, 3.f, 4.f}); - auto exp = NDArrayFactory::create('c', {3,4}, {1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f, 1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f, 1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f}); - auto axis = NDArrayFactory::create('c', {1}, {ax}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto gradO2 = NDArrayFactory::create( {1,4}, {1.f, 2.f, 3.f, 4.f}); + auto exp = NDArrayFactory::create( {3,4}, {1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f, 1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f, 1.f/3.f, 2.f/3.f, 1.f, 4.f/3.f}); + auto axis = NDArrayFactory::create( {1}, {ax}); x.linspace(1); sd::ops::reduce_mean_bp op; @@ -2416,10 +2416,10 @@ TEST_F(DeclarableOpsTests8, reduceMeanBP_test02) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMeanBP_test3) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); - auto gradO2 = NDArrayFactory::create('c', {3,1}, {1.f, 2.f, 3.f}); - auto exp = NDArrayFactory::create('c', {3,4}, {0.25f, 0.25f, 0.25f, 0.25f, 0.5f, 0.5f, 0.5f, 0.5f, 0.75f, 0.75f, 0.75f, 0.75f}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); + auto gradO2 = NDArrayFactory::create( {3,1}, {1.f, 2.f, 3.f}); + auto exp = NDArrayFactory::create( {3,4}, {0.25f, 0.25f, 0.25f, 0.25f, 0.5f, 0.5f, 0.5f, 0.5f, 0.75f, 0.75f, 0.75f, 0.75f}); x.linspace(1); @@ -2443,9 +2443,9 @@ TEST_F(DeclarableOpsTests8, reduceMeanBP_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDevBP_test4) { - auto x = NDArrayFactory::create('c', {3}, {2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {3}, {2.f, 3.f, 4.f}); auto gradO = NDArrayFactory::create(0.5f); - auto exp = NDArrayFactory::create('c', {3}, {-0.25f, 0.f, 0.25f}); + auto exp = NDArrayFactory::create( {3}, {-0.25f, 0.f, 0.25f}); sd::ops::reduce_stdev_bp op; @@ -2462,9 +2462,9 @@ TEST_F(DeclarableOpsTests8, reduceStDevBP_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test1) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,3}, {2.78507, 1.34254, 4.12761, 2.88507, 2.78507, 2.88507}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,3}, {2.78507, 1.34254, 4.12761, 2.88507, 2.78507, 2.88507}); logits.linspace(0.1, 0.1); @@ -2484,9 +2484,9 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test1) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test2) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {3,4}, {0.26328, 1.46328, 1.72656, 0. , 0.26328, 0. , 1.46328, 0.26328, 1.72656, 0. , 1.72656, 1.46328}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {3,4}, {0.26328, 1.46328, 1.72656, 0. , 0.26328, 0. , 1.46328, 0.26328, 1.72656, 0. , 1.72656, 1.46328}); logits.linspace(0.1, 0.1); @@ -2506,9 +2506,9 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test2) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test3) { - auto labels = NDArrayFactory::create('c', {2,3,4},{0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0}); - auto logits = NDArrayFactory::create('c', {2,3,4}); - auto expected = NDArrayFactory::create('c', {2,4}, {0.75125, 1.55125, 3.45375, 0.75125, 3.45375, 0. , 2.3025 , 1.15125}); + auto labels = NDArrayFactory::create( {2,3,4},{0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0}); + auto logits = NDArrayFactory::create( {2,3,4}); + auto expected = NDArrayFactory::create( {2,4}, {0.75125, 1.55125, 3.45375, 0.75125, 3.45375, 0. , 2.3025 , 1.15125}); logits.linspace(0.1, 0.1); @@ -2528,9 +2528,9 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test3) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test4) { - auto labels = NDArrayFactory::create('c', {2,3},{0,1,1,0,0,1}); - auto logits = NDArrayFactory::create('c', {2,3}); - auto expected = NDArrayFactory::create('c', {2}, {2.10389, 1.00194}); + auto labels = NDArrayFactory::create( {2,3},{0,1,1,0,0,1}); + auto logits = NDArrayFactory::create( {2,3}); + auto expected = NDArrayFactory::create( {2}, {2.10389, 1.00194}); logits.linspace(0.1, 0.1); @@ -2550,9 +2550,9 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test4) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test5) { - auto labels = NDArrayFactory::create('c', {2,3},{0,1,1,0,0,1}); - auto logits = NDArrayFactory::create('c', {2,3}); - auto expected = NDArrayFactory::create('c', {3}, {0., 0.85436, 1.40871}); + auto labels = NDArrayFactory::create( {2,3},{0,1,1,0,0,1}); + auto logits = NDArrayFactory::create( {2,3}); + auto expected = NDArrayFactory::create( {3}, {0., 0.85436, 1.40871}); logits.linspace(0.1, 0.1); @@ -2572,9 +2572,9 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test5) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test6) { - auto labels = NDArrayFactory::create('c', {2,1}, {0,1}); - auto logits = NDArrayFactory::create('c', {2,1}); - auto expected = NDArrayFactory::create('c', {1}, {0.6444}); + auto labels = NDArrayFactory::create( {2,1}, {0,1}); + auto logits = NDArrayFactory::create( {2,1}); + auto expected = NDArrayFactory::create( {1}, {0.6444}); logits.linspace(0.1, 0.1); @@ -2594,9 +2594,9 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test6) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test7) { - auto labels = NDArrayFactory::create('c', {2,1}, {0,1}); - auto logits = NDArrayFactory::create('c', {2,1}); - auto expected = NDArrayFactory::create('c', {2}, {0., 0.}); + auto labels = NDArrayFactory::create( {2,1}, {0,1}); + auto logits = NDArrayFactory::create( {2,1}); + auto expected = NDArrayFactory::create( {2}, {0., 0.}); logits.linspace(0.1, 0.1); @@ -2616,8 +2616,8 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test8) { - auto labels = NDArrayFactory::create('c', {2}, {0,1}); - auto logits = NDArrayFactory::create('c', {2}); + auto labels = NDArrayFactory::create( {2}, {0,1}); + auto logits = NDArrayFactory::create( {2}); auto expected = NDArrayFactory::create(0.6444); logits.linspace(0.1, 0.1); @@ -2638,8 +2638,8 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test9) { - auto labels = NDArrayFactory::create('c', {1}, {0.}); - auto logits = NDArrayFactory::create('c', {1}, {0.2}); + auto labels = NDArrayFactory::create( {1}, {0.}); + auto logits = NDArrayFactory::create( {1}, {0.2}); auto expected = NDArrayFactory::create(0.); sd::ops::softmax_cross_entropy_loss_with_logits op; @@ -2658,9 +2658,9 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test9) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test10) { - auto labels = NDArrayFactory::create('c', {1,2}, {0,1}); - auto logits = NDArrayFactory::create('c', {1,2}); - auto expected = NDArrayFactory::create('c', {2}, {0., 0.}); + auto labels = NDArrayFactory::create( {1,2}, {0,1}); + auto logits = NDArrayFactory::create( {1,2}); + auto expected = NDArrayFactory::create( {2}, {0., 0.}); logits.linspace(0.1, 0.1); @@ -2680,10 +2680,10 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test10) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMeanBP_test4) { - auto x = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12. }); - auto gradO1 = NDArrayFactory::create('c', {4}, {1., 2., 3., 4.}); - auto gradO2 = NDArrayFactory::create('c', {1, 4}, {1., 2., 3., 4.}); - auto exp = NDArrayFactory::create('c', {3,4}, {0.333333, 0.666667, 1.000000, 1.333333, 0.333333, 0.666667, 1.000000, 1.333333, 0.333333, 0.666667, 1.000000, 1.333333}); + auto x = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12. }); + auto gradO1 = NDArrayFactory::create( {4}, {1., 2., 3., 4.}); + auto gradO2 = NDArrayFactory::create( {1, 4}, {1., 2., 3., 4.}); + auto exp = NDArrayFactory::create( {3,4}, {0.333333, 0.666667, 1.000000, 1.333333, 0.333333, 0.666667, 1.000000, 1.333333, 0.333333, 0.666667, 1.000000, 1.333333}); sd::ops::reduce_mean_bp op; @@ -2706,10 +2706,10 @@ TEST_F(DeclarableOpsTests8, reduceMeanBP_test4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceMeanBP_test5) { - auto x = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12. }); - auto gradO1 = NDArrayFactory::create('c', {3}, {1., 2., 3.}); - auto gradO2 = NDArrayFactory::create('c', {3, 1}, {1., 2., 3.}); - auto exp = NDArrayFactory::create('c', {3,4}, {0.2500,0.2500,0.2500,0.2500, 0.5000,0.5000,0.5000,0.5000, 0.7500,0.7500,0.7500,0.7500}); + auto x = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12. }); + auto gradO1 = NDArrayFactory::create( {3}, {1., 2., 3.}); + auto gradO2 = NDArrayFactory::create( {3, 1}, {1., 2., 3.}); + auto exp = NDArrayFactory::create( {3,4}, {0.2500,0.2500,0.2500,0.2500, 0.5000,0.5000,0.5000,0.5000, 0.7500,0.7500,0.7500,0.7500}); sd::ops::reduce_mean_bp op; @@ -2732,10 +2732,10 @@ TEST_F(DeclarableOpsTests8, reduceMeanBP_test5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, reduceStDevBP_test5) { - auto x = NDArrayFactory::create('c', {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12. }); - auto gradO1 = NDArrayFactory::create('c', {4}, {1., 2., 3., 4.}); - auto gradO2 = NDArrayFactory::create('c', {1, 4}, {1., 2., 3., 4.}); - auto exp = NDArrayFactory::create('c', {3,4}, {-0.408248, -0.816497, -1.224745, -1.632993, 0.000000, 0.000000, 0.000000, 0.000000, 0.408248, 0.816497, 1.224745, 1.632993}); + auto x = NDArrayFactory::create( {3, 4}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12. }); + auto gradO1 = NDArrayFactory::create( {4}, {1., 2., 3., 4.}); + auto gradO2 = NDArrayFactory::create( {1, 4}, {1., 2., 3., 4.}); + auto exp = NDArrayFactory::create( {3,4}, {-0.408248, -0.816497, -1.224745, -1.632993, 0.000000, 0.000000, 0.000000, 0.000000, 0.408248, 0.816497, 1.224745, 1.632993}); sd::ops::reduce_stdev_bp op; @@ -2846,18 +2846,18 @@ TEST_F(DeclarableOpsTests8, ones_as_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, NormalizeMoments_SGO_1) { - auto data = NDArrayFactory::create('c', {10, 10}); + auto data = NDArrayFactory::create( {10, 10}); data.linspace(1); auto means = data.reduceAlongDimension(reduce::Sum, {0}); - auto deviance = NDArrayFactory::create('c', {10}, {825., 825. , 825., 825., 825., 825., 825., 825., 825., 825. }); // data.varianceAlongDimension(variance::SummaryStatsVariance, false, {0}); // = NDArrayFactory::create('c', {10, 10}); + auto deviance = NDArrayFactory::create( {10}, {825., 825. , 825., 825., 825., 825., 825., 825., 825., 825. }); // data.varianceAlongDimension(variance::SummaryStatsVariance, false, {0}); // = NDArrayFactory::create( {10, 10}); auto counts = NDArrayFactory::create(10.0); -// auto expMeans = NDArrayFactory::create('c', {10, 10}); +// auto expMeans = NDArrayFactory::create( {10, 10}); -// auto expDeviance = NDArrayFactory::create('c', {10, 10}); - auto squared = NDArrayFactory::create('c', {10, 10}); +// auto expDeviance = NDArrayFactory::create( {10, 10}); + auto squared = NDArrayFactory::create( {10, 10}); data.applyTransform(transform::Square, squared); auto ssSquared = squared.reduceAlongDimension(reduce::Sum, {0}); // ssSquared->printBuffer("Sum squared"); @@ -2894,9 +2894,9 @@ TEST_F(DeclarableOpsTests8, NormalizeMoments_SGO_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Moments_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto expMeans = NDArrayFactory::create('c', {4}, {11.f, 12.f, 13.f, 14.f}); - auto expVariance = NDArrayFactory::create('c', {4}, {46.666668f, 46.666668f, 46.66666f, 46.666668f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto expMeans = NDArrayFactory::create( {4}, {11.f, 12.f, 13.f, 14.f}); + auto expVariance = NDArrayFactory::create( {4}, {46.666668f, 46.666668f, 46.66666f, 46.666668f}); x.linspace(1); sd::ops::moments op; @@ -2925,9 +2925,9 @@ TEST_F(DeclarableOpsTests8, Test_Moments_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Moments_2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto expMeans = NDArrayFactory::create('c', {1,1,4}, {11.f, 12.f, 13.f, 14.f}); - auto expVariance = NDArrayFactory::create('c', {1,1,4}, {46.666668f, 46.666668f, 46.66666f, 46.666668f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto expMeans = NDArrayFactory::create( {1,1,4}, {11.f, 12.f, 13.f, 14.f}); + auto expVariance = NDArrayFactory::create( {1,1,4}, {46.666668f, 46.666668f, 46.66666f, 46.666668f}); x.linspace(1); sd::ops::moments op; @@ -2954,9 +2954,9 @@ TEST_F(DeclarableOpsTests8, Test_Moments_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Moments_3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto expMeans = NDArrayFactory::create('c', {3}, {8.5f, 12.5f, 16.5f}); - auto expVariance = NDArrayFactory::create('c', {3}, {37.25f, 37.25f, 37.25f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto expMeans = NDArrayFactory::create( {3}, {8.5f, 12.5f, 16.5f}); + auto expVariance = NDArrayFactory::create( {3}, {37.25f, 37.25f, 37.25f}); x.linspace(1); sd::ops::moments op; @@ -2983,9 +2983,9 @@ TEST_F(DeclarableOpsTests8, Test_Moments_3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Moments_4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto expMeans = NDArrayFactory::create('c', {1,3,1}, {8.5f, 12.5f, 16.5f}); - auto expVariance = NDArrayFactory::create('c', {1,3,1}, {37.25f, 37.25f, 37.25f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto expMeans = NDArrayFactory::create( {1,3,1}, {8.5f, 12.5f, 16.5f}); + auto expVariance = NDArrayFactory::create( {1,3,1}, {37.25f, 37.25f, 37.25f}); x.linspace(1); sd::ops::moments op; @@ -3014,7 +3014,7 @@ TEST_F(DeclarableOpsTests8, Test_Moments_6) { auto expMeans = NDArrayFactory::create(12.5f); auto expVariance = NDArrayFactory::create(47.916668f); - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); x.linspace(1); sd::ops::moments op; @@ -3039,10 +3039,10 @@ TEST_F(DeclarableOpsTests8, Test_Moments_6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests8, Test_Moments_7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); - auto expMeans = NDArrayFactory::create('c', {1,1,1}, {12.5f}); - auto expVariance = NDArrayFactory::create('c', {1,1,1}, {47.916668f}); + auto expMeans = NDArrayFactory::create( {1,1,1}, {12.5f}); + auto expVariance = NDArrayFactory::create( {1,1,1}, {47.916668f}); x.linspace(1); // x.printIndexedBuffer("Input with shape (2, 3, 4) is"); @@ -3067,11 +3067,11 @@ TEST_F(DeclarableOpsTests8, Test_Moments_7) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_01) { - auto x = NDArrayFactory::create('c', {1, 1, 2, 5}, { 1.f, 2.f, 3.f, 4.f, 5.f, + auto x = NDArrayFactory::create( {1, 1, 2, 5}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f} ); - auto exp = NDArrayFactory::create('c', {1, 1, 2, 5}, {0.2581989f, 0.3592106f, 0.40089184f, 0.53935987f, 0.70014f, 0.4898979f, 0.46056613f, 0.43971977f, 0.5240003f, 0.6375767f}// 0.72760683, 0.4850712, 0.5848977, 0.67488194, + auto exp = NDArrayFactory::create( {1, 1, 2, 5}, {0.2581989f, 0.3592106f, 0.40089184f, 0.53935987f, 0.70014f, 0.4898979f, 0.46056613f, 0.43971977f, 0.5240003f, 0.6375767f}// 0.72760683, 0.4850712, 0.5848977, 0.67488194, // 0.7581754, 0.58321184, 0.86747235, 0.4048204} ); @@ -3091,9 +3091,9 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_01) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_02) { - auto x = NDArrayFactory::create('c', {1, 1, 1, 6}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto x = NDArrayFactory::create( {1, 1, 1, 6}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto exp = NDArrayFactory::create('c', {1, 1, 1, 6}, { + auto exp = NDArrayFactory::create( {1, 1, 1, 6}, { 0.2581989f, 0.3592106f, 0.40089184f, 0.4193139f, 0.5360563f, 0.67936623f} ); @@ -3113,8 +3113,8 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_02) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_03) { - auto x = NDArrayFactory::create('c', {1, 1, 1, 10}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f}); - auto exp = NDArrayFactory::create('c', {1, 1, 1, 10}, {0.10425719f, 0.16843036f, 0.2095291f, 0.23652494f, 0.25449327f, 0.3053919f, 0.35675305f, 0.4098524f, 0.46662825f, 0.52999896f}); + auto x = NDArrayFactory::create( {1, 1, 1, 10}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f}); + auto exp = NDArrayFactory::create( {1, 1, 1, 10}, {0.10425719f, 0.16843036f, 0.2095291f, 0.23652494f, 0.25449327f, 0.3053919f, 0.35675305f, 0.4098524f, 0.46662825f, 0.52999896f}); sd::ops::lrn op; auto results = op.evaluate({&x}, {1.0, 1.0, 0.5}, {5}); @@ -3132,13 +3132,13 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_03) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_1) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 2}, { 5.5f, 0.f, 0.3f, 5.5f, + auto x = NDArrayFactory::create( {2, 2, 2, 2}, { 5.5f, 0.f, 0.3f, 5.5f, 8.6f, 0.f, 0.f, 0.4f, 1.5f, 1.f, 1.3f, 1.5f, 2.6f, 2.f, 3.f, 1.4f} ); - auto exp = NDArrayFactory::create('c', {2, 2, 2, 2}, { + auto exp = NDArrayFactory::create( {2, 2, 2, 2}, { 0.98386997f, 0.f, 0.05358852f, 0.9824562f, 0.99330735f, 0.f, 0.f, 0.37139067f, 0.72760683f, 0.4850712f, 0.5848977f, 0.67488194f, @@ -3161,10 +3161,10 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_1) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_2) { - auto x = NDArrayFactory::create('c', {3, 3, 5, 5}); + auto x = NDArrayFactory::create( {3, 3, 5, 5}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 3, 5, 5}, { + auto exp = NDArrayFactory::create( {3, 3, 5, 5}, { 0.2581989f, 0.3592106f, 0.40089184f, 0.53935987f, 0.70014f, 0.4898979f, 0.46056613f, 0.43971977f, 0.5240002f, 0.6375767f, 0.5274096f, 0.47771242f, 0.4443308f, 0.5163977f, 0.61701745f, @@ -3238,10 +3238,10 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_2) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_3) { - auto x = NDArrayFactory::create('c', {3, 3, 5, 5}); + auto x = NDArrayFactory::create( {3, 3, 5, 5}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 3, 5, 5}, { + auto exp = NDArrayFactory::create( {3, 3, 5, 5}, { 0.2581989f, 0.3592106f, 0.40089184f, 0.53935987f, 0.70014f, 0.4898979f, 0.46056613f, 0.43971977f, 0.5240002f, 0.6375767f, 0.5274096f, 0.47771242f, 0.4443308f, 0.5163977f, 0.61701745f, @@ -3315,8 +3315,8 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_3) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_4) { - // auto x = NDArrayFactory::create('c', {8, 32, 64, 64}); - auto x = NDArrayFactory::create('c', {2, 8, 16, 16}); + // auto x = NDArrayFactory::create( {8, 32, 64, 64}); + auto x = NDArrayFactory::create( {2, 8, 16, 16}); x.linspace(1); sd::ops::lrn op; @@ -3335,10 +3335,10 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_4) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_4_119) { int iterations = 1000; - // auto x = NDArrayFactory::create('c', {8, 32, 64, 64}); - // auto z = NDArrayFactory::create('c', {8, 32, 64, 64}); - auto x = NDArrayFactory::create('c', {2, 8, 16, 16}); - auto z = NDArrayFactory::create('c', {2, 8, 16, 16}); + // auto x = NDArrayFactory::create( {8, 32, 64, 64}); + // auto z = NDArrayFactory::create( {8, 32, 64, 64}); + auto x = NDArrayFactory::create( {2, 8, 16, 16}); + auto z = NDArrayFactory::create( {2, 8, 16, 16}); x.linspace(1); sd::ops::lrn op; @@ -3364,10 +3364,10 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_01) { auto x = NDArrayFactory::create( 'c', {1, 1, 1, 10}); x.linspace(1); - auto eps = NDArrayFactory::create('c', {1,1,1,10}); + auto eps = NDArrayFactory::create( {1,1,1,10}); eps.linspace(1); // -// auto exp = NDArrayFactory::create('c', {3,3,5,5}, { +// auto exp = NDArrayFactory::create( {3,3,5,5}, { // 0.238337, 0.309664, 0.334077, 0.376534, 0.342926, 0.370734, 0.362017, 0.354182, 0.379140, 0.376275, 0.380027, 0.368347, 0.356401, 0.378316, 0.381315, 0.382465, 0.370592, 0.357055, 0.377670, 0.382950, 0.383445, 0.371718, 0.357332, 0.377217, 0.383677, 0.383933, 0.372391, 0.357475, 0.376891, 0.384062, 0.384212, 0.372837, 0.357557, 0.376646, 0.384290, 0.384385, 0.373153, 0.357610, 0.376457, 0.384436, 0.384500, 0.373389, 0.357645, 0.376306, 0.384536, 0.384581, 0.373572, 0.357670, 0.376184, 0.384606, 0.384639, 0.373718, 0.357688, 0.376082, 0.384658, 0.384683, 0.373837, 0.357702, 0.375996, 0.384698, 0.384717, 0.373935, 0.357712, 0.375923, 0.384728, 0.384743, 0.374019, 0.357721, 0.375860, 0.384752, 0.384764, 0.374090, 0.357727, 0.375804, 0.384771, 0.384781, 0.374152, 0.357733, 0.375756, 0.384787, 0.384795, 0.374205, 0.357737, 0.375713, 0.384800, 0.384807, 0.374253, 0.357741, 0.375674, 0.384811, 0.384817, 0.374295, 0.357744, 0.375640, 0.384820, 0.384825, 0.374333, 0.357747, 0.375609, 0.384828, 0.384832, 0.374366, 0.357749, 0.375581, 0.384835, 0.384839, 0.374397, 0.357751, 0.375555, 0.384841, 0.384844, 0.374425, 0.357753, 0.375531, 0.384846, 0.384849, 0.374450, 0.357754, 0.375510, 0.384850, 0.384853, 0.374473, 0.357756, 0.375490, 0.384854, 0.384856, 0.374494, 0.357757, 0.375471, 0.384858, 0.384860, 0.374514, 0.357758, 0.375454, 0.384861, 0.384863, 0.374532, 0.357759, 0.375438, 0.384864, 0.384865, 0.374549, 0.357760, 0.375423, 0.384866, 0.384868, 0.374565, 0.357760, 0.375410, 0.384868, 0.384870, 0.374579, 0.357761, 0.375397, 0.384870, 0.384872, 0.374593, 0.357762, 0.375384, 0.384872, 0.384873, 0.374606, 0.357762, 0.375373, 0.384874, 0.384875, 0.374618, 0.357763, 0.375362, 0.384875, 0.384876, 0.374629, 0.357763, 0.375352, 0.384877, 0.384878, 0.374640, 0.357764, 0.375342, 0.384878, 0.384879, 0.374650, 0.357764, 0.375333, 0.384879, 0.384880, 0.374660, 0.357764, 0.375325, 0.384880, 0.384881, 0.374669, 0.357765, 0.375316, 0.384881, 0.384882, 0.374677, 0.357765, 0.375309, 0.384882, 0.384883, 0.374685, 0.357765, 0.375301, 0.384883, 0.384884, 0.374693, 0.357765, 0.375294, 0.384884, 0.384884, 0.374700, 0.357766, 0.375287, 0.384885, 0.384885, 0.374707, 0.357766, 0.375281, 0.384885, 0.384886, 0.374714, 0.357766, 0.375275, 0.384886} // ); /// @@ -3389,10 +3389,10 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_02) { auto x = NDArrayFactory::create( 'c', {1, 1, 1, 10}); x.linspace(1); - auto eps = NDArrayFactory::create('c', {1,1,1,10}); + auto eps = NDArrayFactory::create( {1,1,1,10}); eps.linspace(1); // -// auto exp = NDArrayFactory::create('c', {3,3,5,5}, { +// auto exp = NDArrayFactory::create( {3,3,5,5}, { // 0.238337, 0.309664, 0.334077, 0.376534, 0.342926, 0.370734, 0.362017, 0.354182, 0.379140, 0.376275, 0.380027, 0.368347, 0.356401, 0.378316, 0.381315, 0.382465, 0.370592, 0.357055, 0.377670, 0.382950, 0.383445, 0.371718, 0.357332, 0.377217, 0.383677, 0.383933, 0.372391, 0.357475, 0.376891, 0.384062, 0.384212, 0.372837, 0.357557, 0.376646, 0.384290, 0.384385, 0.373153, 0.357610, 0.376457, 0.384436, 0.384500, 0.373389, 0.357645, 0.376306, 0.384536, 0.384581, 0.373572, 0.357670, 0.376184, 0.384606, 0.384639, 0.373718, 0.357688, 0.376082, 0.384658, 0.384683, 0.373837, 0.357702, 0.375996, 0.384698, 0.384717, 0.373935, 0.357712, 0.375923, 0.384728, 0.384743, 0.374019, 0.357721, 0.375860, 0.384752, 0.384764, 0.374090, 0.357727, 0.375804, 0.384771, 0.384781, 0.374152, 0.357733, 0.375756, 0.384787, 0.384795, 0.374205, 0.357737, 0.375713, 0.384800, 0.384807, 0.374253, 0.357741, 0.375674, 0.384811, 0.384817, 0.374295, 0.357744, 0.375640, 0.384820, 0.384825, 0.374333, 0.357747, 0.375609, 0.384828, 0.384832, 0.374366, 0.357749, 0.375581, 0.384835, 0.384839, 0.374397, 0.357751, 0.375555, 0.384841, 0.384844, 0.374425, 0.357753, 0.375531, 0.384846, 0.384849, 0.374450, 0.357754, 0.375510, 0.384850, 0.384853, 0.374473, 0.357756, 0.375490, 0.384854, 0.384856, 0.374494, 0.357757, 0.375471, 0.384858, 0.384860, 0.374514, 0.357758, 0.375454, 0.384861, 0.384863, 0.374532, 0.357759, 0.375438, 0.384864, 0.384865, 0.374549, 0.357760, 0.375423, 0.384866, 0.384868, 0.374565, 0.357760, 0.375410, 0.384868, 0.384870, 0.374579, 0.357761, 0.375397, 0.384870, 0.384872, 0.374593, 0.357762, 0.375384, 0.384872, 0.384873, 0.374606, 0.357762, 0.375373, 0.384874, 0.384875, 0.374618, 0.357763, 0.375362, 0.384875, 0.384876, 0.374629, 0.357763, 0.375352, 0.384877, 0.384878, 0.374640, 0.357764, 0.375342, 0.384878, 0.384879, 0.374650, 0.357764, 0.375333, 0.384879, 0.384880, 0.374660, 0.357764, 0.375325, 0.384880, 0.384881, 0.374669, 0.357765, 0.375316, 0.384881, 0.384882, 0.374677, 0.357765, 0.375309, 0.384882, 0.384883, 0.374685, 0.357765, 0.375301, 0.384883, 0.384884, 0.374693, 0.357765, 0.375294, 0.384884, 0.384884, 0.374700, 0.357766, 0.375287, 0.384885, 0.384885, 0.374707, 0.357766, 0.375281, 0.384885, 0.384886, 0.374714, 0.357766, 0.375275, 0.384886} // ); /// @@ -3420,10 +3420,10 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_1) { auto x = NDArrayFactory::create( 'c', {3, 3, 5, 5}); x.linspace(1); - auto eps = NDArrayFactory::create('c', {3,3,5,5}); + auto eps = NDArrayFactory::create( {3,3,5,5}); eps.linspace(1); // -auto exp = NDArrayFactory::create('c', {3,3,5,5}, { +auto exp = NDArrayFactory::create( {3,3,5,5}, { 0.238337f, 0.309664f, 0.334077f, 0.376534f, 0.342926f, 0.370734f, 0.362017f, 0.354182f, 0.379140f, 0.376275f, 0.380027f, 0.368347f, 0.356401f, 0.378316f, 0.381315f, 0.382465f, 0.370592f, 0.357055f, 0.377670f, 0.382950f, 0.383445f, 0.371718f, 0.357332f, 0.377217f, 0.383677f, 0.383933f, 0.372391f, 0.357475f, 0.376891f, 0.384062f, 0.384212f, 0.372837f, 0.357557f, 0.376646f, 0.384290f, 0.384385f, 0.373153f, 0.357610f, 0.376457f, 0.384436f, 0.384500f, 0.373389f, 0.357645f, 0.376306f, 0.384536f, 0.384581f, 0.373572f, 0.357670f, 0.376184f, 0.384606f, 0.384639f, 0.373718f, 0.357688f, 0.376082f, 0.384658f, 0.384683f, 0.373837f, 0.357702f, 0.375996f, 0.384698f, 0.384717f, 0.373935f, 0.357712f, 0.375923f, 0.384728f, 0.384743f, 0.374019f, 0.357721f, 0.375860f, 0.384752f, 0.384764f, 0.374090f, 0.357727f, 0.375804f, 0.384771f, 0.384781f, 0.374152f, 0.357733f, 0.375756f, 0.384787f, 0.384795f, 0.374205f, 0.357737f, 0.375713f, 0.384800f, 0.384807f, 0.374253f, 0.357741f, 0.375674f, 0.384811f, 0.384817f, 0.374295f, 0.357744f, 0.375640f, 0.384820f, 0.384825f, 0.374333f, 0.357747f, 0.375609f, 0.384828f, 0.384832f, 0.374366f, 0.357749f, 0.375581f, 0.384835f, 0.384839f, 0.374397f, 0.357751f, 0.375555f, 0.384841f, 0.384844f, 0.374425f, 0.357753f, 0.375531f, 0.384846f, 0.384849f, 0.374450f, 0.357754f, 0.375510f, 0.384850f, 0.384853f, 0.374473f, 0.357756f, 0.375490f, 0.384854f, 0.384856f, 0.374494f, 0.357757f, 0.375471f, 0.384858f, 0.384860f, 0.374514f, 0.357758f, 0.375454f, 0.384861f, 0.384863f, 0.374532f, 0.357759f, 0.375438f, 0.384864f, 0.384865f, 0.374549f, 0.357760f, 0.375423f, 0.384866f, 0.384868f, 0.374565f, 0.357760f, 0.375410f, 0.384868f, 0.384870f, 0.374579f, 0.357761f, 0.375397f, 0.384870f, 0.384872f, 0.374593f, 0.357762f, 0.375384f, 0.384872f, 0.384873f, 0.374606f, 0.357762f, 0.375373f, 0.384874f, 0.384875f, 0.374618f, 0.357763f, 0.375362f, 0.384875f, 0.384876f, 0.374629f, 0.357763f, 0.375352f, 0.384877f, 0.384878f, 0.374640f, 0.357764f, 0.375342f, 0.384878f, 0.384879f, 0.374650f, 0.357764f, 0.375333f, 0.384879f, 0.384880f, 0.374660f, 0.357764f, 0.375325f, 0.384880f, 0.384881f, 0.374669f, 0.357765f, 0.375316f, 0.384881f, 0.384882f, 0.374677f, 0.357765f, 0.375309f, 0.384882f, 0.384883f, 0.374685f, 0.357765f, 0.375301f, 0.384883f, 0.384884f, 0.374693f, 0.357765f, 0.375294f, 0.384884f, 0.384884f, 0.374700f, 0.357766f, 0.375287f, 0.384885f, 0.384885f, 0.374707f, 0.357766f, 0.375281f, 0.384885f, 0.384886f, 0.374714f, 0.357766f, 0.375275f, 0.384886f} ); /// @@ -3446,7 +3446,7 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_2) { auto x = NDArrayFactory::create( 'c', {3, 3, 5, 5}); x.linspace(1); - auto eps = NDArrayFactory::create('c', {3, 3, 5, 5}, { 0.2581989f, 0.3592106f, 0.40089184f, 0.53935987f, 0.70014f, + auto eps = NDArrayFactory::create( {3, 3, 5, 5}, { 0.2581989f, 0.3592106f, 0.40089184f, 0.53935987f, 0.70014f, 0.4898979f, 0.46056613f, 0.43971977f, 0.5240002f, 0.6375767f, 0.5274096f, 0.47771242f, 0.4443308f, 0.5163977f, 0.61701745f, 0.5424508f, 0.48452914f, 0.44570294f, 0.5123918f, 0.6068971f, @@ -3502,7 +3502,7 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_2) { 0.57468355f, 0.49884263f, 0.44720328f, 0.50113624f, 0.5799805f, 0.57474375f, 0.49886885f, 0.44720373f, 0.50111103f, 0.5799219f }); // - auto exp = NDArrayFactory::create('c', {3,3,5,5}, { + auto exp = NDArrayFactory::create( {3,3,5,5}, { 0.061538f, 0.055617f, 0.044643f, 0.050772f, 0.048019f, 0.030270f, 0.023819f, 0.019468f, 0.022074f, 0.023990f, 0.018221f, 0.014664f, 0.012182f, 0.013954f, 0.015685f, 0.012967f, 0.010563f, 0.008841f, 0.010185f, 0.011621f, 0.010052f, 0.008248f, 0.006934f, 0.008015f, 0.009222f, 0.008204f, 0.006764f, 0.005702f, 0.006606f, 0.007642f, 0.006929f, 0.005732f, 0.004841f, 0.005618f, 0.006523f, 0.005996f, 0.004973f, 0.004205f, 0.004887f, 0.005689f, 0.005284f, 0.004391f, 0.003717f, 0.004324f, 0.005044f, 0.004723f, 0.003931f, 0.003331f, 0.003877f, 0.004531f, 0.004270f, 0.003558f, 0.003017f, 0.003514f, 0.004112f, 0.003896f, 0.003250f, 0.002757f, 0.003213f, 0.003764f, 0.003582f, 0.002991f, 0.002539f, 0.002959f, 0.003470f, 0.003315f, 0.002770f, 0.002352f, 0.002743f, 0.003219f, 0.003085f, 0.002580f, 0.002191f, 0.002556f, 0.003002f, 0.002885f, 0.002414f, 0.002051f, 0.002393f, 0.002812f, 0.002709f, 0.002268f, 0.001927f, 0.002250f, 0.002645f, 0.002553f, 0.002138f, 0.001818f, 0.002122f, 0.002496f, 0.002415f, 0.002023f, 0.001720f, 0.002009f, 0.002363f, 0.002290f, 0.001920f, 0.001632f, 0.001906f, 0.002244f, 0.002178f, 0.001826f, 0.001553f, 0.001814f, 0.002136f, 0.002076f, 0.001741f, 0.001481f, 0.001731f, 0.002038f, 0.001984f, 0.001664f, 0.001416f, 0.001654f, 0.001949f, 0.001899f, 0.001593f, 0.001356f, 0.001584f, 0.001867f, 0.001821f, 0.001528f, 0.001301f, 0.001520f, 0.001792f, 0.001750f, 0.001469f, 0.001250f, 0.001461f, 0.001722f, 0.001683f, 0.001413f, 0.001203f, 0.001406f, 0.001658f, 0.001622f, 0.001362f, 0.001159f, 0.001355f, 0.001599f, 0.001565f, 0.001314f, 0.001119f, 0.001308f, 0.001543f, 0.001512f, 0.001270f, 0.001081f, 0.001264f, 0.001491f, 0.001462f, 0.001228f, 0.001046f, 0.001223f, 0.001443f, 0.001415f, 0.001189f, 0.001013f, 0.001184f, 0.001397f, 0.001372f, 0.001153f, 0.000982f, 0.001148f, 0.001355f, 0.001331f, 0.001118f, 0.000952f, 0.001114f, 0.001315f, 0.001292f, 0.001086f, 0.000925f, 0.001082f, 0.001277f, 0.001255f, 0.001055f, 0.000899f, 0.001051f, 0.001241f, 0.001221f, 0.001026f, 0.000874f, 0.001023f, 0.001208f, 0.001188f, 0.000999f, 0.000851f, 0.000996f, 0.001176f, 0.001157f, 0.000973f, 0.000829f, 0.000970f, 0.001145f, 0.001128f, 0.000949f, 0.000808f, 0.000945f, 0.001117f, 0.001100f, 0.000925f, 0.000788f, 0.000922f, 0.001089f, 0.001073f, 0.000903f, 0.000769f, 0.000900f, 0.001063f, 0.001048f, 0.000882f, 0.000751f, 0.000879f, 0.001038f, 0.001024f, 0.000861f, 0.000734f, 0.000859f, 0.001015f, 0.001001f, 0.000842f, 0.000717f, 0.000840f, 0.000992f} // 0.009859f, 0.013075f, 0.013874f, 0.017893f, 0.022344f, 0.014551f, 0.012859f, 0.011511f, 0.013311f, 0.015834f, 0.012025f, 0.010047f, 0.008601f, 0.009920f, 0.011885f, 0.009505f, 0.007636f, 0.006299f, 0.007413f, 0.009095f, 0.007446f, 0.005743f, 0.004540f, 0.005533f, 0.007033f, 0.005821f, 0.004282f, 0.003209f, 0.004123f, 0.005491f, 0.004577f, 0.003198f, 0.002247f, 0.003097f, 0.004355f, 0.003652f, 0.002412f, 0.001565f, 0.002357f, 0.003517f, 0.002965f, 0.001844f, 0.001084f, 0.001821f, 0.002893f, 0.002451f, 0.001430f, 0.000741f, 0.001428f, 0.002422f, -0.111434f, -0.105946f, -0.100351f, -0.091868f, -0.083323f, -0.078775f, -0.076222f, -0.073291f, -0.067635f, -0.061692f, -0.058943f, -0.057832f, -0.056263f, -0.052198f, -0.047768f, -0.046002f, -0.045655f, -0.044839f, -0.041748f, -0.038271f, -0.037084f, -0.037161f, -0.036786f, -0.034331f, -0.031495f, 0.000077f, -0.000673f, -0.001181f, -0.000667f, 0.000079f, -0.000089f, -0.000802f, -0.001285f, -0.000793f, -0.000079f, -0.000228f, -0.000908f, -0.001368f, -0.000896f, -0.000212f, -0.000345f, -0.000996f, -0.001434f, -0.000981f, -0.000325f, -0.000444f, -0.001067f, -0.001487f, -0.001051f, -0.000421f, 0.000697f, 0.000188f, -0.000152f, 0.000210f, 0.000731f, 0.000650f, 0.000165f, -0.000161f, 0.000185f, 0.000683f, 0.000610f, 0.000145f, -0.000168f, 0.000164f, 0.000641f, 0.000574f, 0.000128f, -0.000172f, 0.000146f, 0.000604f, 0.000542f, 0.000113f, -0.000175f, 0.000131f, 0.000571f, -0.009490f, -0.010070f, -0.010409f, -0.009734f, -0.008834f, -0.008785f, -0.009351f, -0.009687f, -0.009054f, -0.008207f, -0.008167f, -0.008718f, -0.009050f, -0.008455f, -0.007654f, -0.007622f, -0.008159f, -0.008485f, -0.007924f, -0.007164f, -0.007138f, -0.007661f, -0.007981f, -0.007450f, -0.006728f, -0.000901f, -0.001327f, -0.001614f, -0.001310f, -0.000869f, -0.000913f, -0.001328f, -0.001607f, -0.001310f, -0.000882f, -0.000922f, -0.001326f, -0.001598f, -0.001309f, -0.000892f, -0.000930f, -0.001323f, -0.001588f, -0.001306f, -0.000900f, -0.000936f, -0.001319f, -0.001577f, -0.001302f, -0.000906f, 0.000339f, 0.000038f, -0.000164f, 0.000048f, 0.000355f, 0.000328f, 0.000035f, -0.000162f, 0.000045f, 0.000343f, 0.000318f, 0.000033f, -0.000159f, 0.000041f, 0.000332f, 0.000308f, 0.000030f, -0.000157f, 0.000039f, 0.000322f, 0.000299f, 0.000028f, -0.000155f, 0.000036f, 0.000312f, -0.004085f, -0.004479f, -0.004733f, -0.004396f, -0.003925f, -0.003925f, -0.004309f, -0.004558f, -0.004232f, -0.003775f, -0.003776f, -0.004151f, -0.004395f, -0.004079f, -0.003636f, -0.003637f, -0.004004f, -0.004242f, -0.003936f, -0.003505f, -0.003507f, -0.003866f, -0.004100f, -0.003802f, -0.003383f} ); From 39e2beb35560af2a5954fe7142e4a7b0a6feb5d6 Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 22 Jun 2020 11:24:00 +0300 Subject: [PATCH 62/99] Fixed the ninth test file and misc with the eighth test file with new factory create methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests8.cpp | 8 +- .../layers_tests/DeclarableOpsTests9.cpp | 513 +++++++++--------- 2 files changed, 261 insertions(+), 260 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp index 55a609f6f4f6..647543fb3c1e 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp @@ -3362,7 +3362,7 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_4_119) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_01) { - auto x = NDArrayFactory::create( 'c', {1, 1, 1, 10}); + auto x = NDArrayFactory::create( {1, 1, 1, 10}); x.linspace(1); auto eps = NDArrayFactory::create( {1,1,1,10}); eps.linspace(1); @@ -3387,7 +3387,7 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_01) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_02) { - auto x = NDArrayFactory::create( 'c', {1, 1, 1, 10}); + auto x = NDArrayFactory::create( {1, 1, 1, 10}); x.linspace(1); auto eps = NDArrayFactory::create( {1,1,1,10}); eps.linspace(1); @@ -3418,7 +3418,7 @@ TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_02) { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_1) { - auto x = NDArrayFactory::create( 'c', {3, 3, 5, 5}); + auto x = NDArrayFactory::create( {3, 3, 5, 5}); x.linspace(1); auto eps = NDArrayFactory::create( {3,3,5,5}); eps.linspace(1); @@ -3443,7 +3443,7 @@ auto exp = NDArrayFactory::create( {3,3,5,5}, { //////////////////////////////////////////////////////////////////////////////// TYPED_TEST(TypedDeclarableOpsTests8, LrnTest_BP_2) { - auto x = NDArrayFactory::create( 'c', {3, 3, 5, 5}); + auto x = NDArrayFactory::create( {3, 3, 5, 5}); x.linspace(1); auto eps = NDArrayFactory::create( {3, 3, 5, 5}, { 0.2581989f, 0.3592106f, 0.40089184f, 0.53935987f, 0.70014f, diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp index 8285f68a3e38..f6cb905e2827 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp @@ -42,10 +42,10 @@ class DeclarableOpsTests9 : public testing::Test { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, reduceStDevBP_test3) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {3,1}, {1.,2.,3.}); - auto gradO2 = NDArrayFactory::create('c', {3}, {1.,2.,3.}); - auto exp = NDArrayFactory::create('c', {3,4}, {-0.335410, -0.111803, 0.111803, 0.335410, -0.670820, -0.223607, 0.223607, 0.670820, -1.006231, -0.335410, 0.335410, 1.006231}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {3,1}, {1.,2.,3.}); + auto gradO2 = NDArrayFactory::create( {3}, {1.,2.,3.}); + auto exp = NDArrayFactory::create( {3,4}, {-0.335410, -0.111803, 0.111803, 0.335410, -0.670820, -0.223607, 0.223607, 0.670820, -1.006231, -0.335410, 0.335410, 1.006231}); x.linspace(1); @@ -71,11 +71,11 @@ TEST_F(DeclarableOpsTests9, reduceStDevBP_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, reduceStDevBP_test03) { - auto x = NDArrayFactory::create('c', {3,4}); - auto gradO1 = NDArrayFactory::create('c', {3,1}, {1.,2.,3.}); - auto gradO2 = NDArrayFactory::create('c', {3}, {1.,2.,3.}); - auto exp = NDArrayFactory::create('c', {3,4}, {-0.335410, -0.111803, 0.111803, 0.335410, -0.670820, -0.223607, 0.223607, 0.670820, -1.006231, -0.335410, 0.335410, 1.006231}); - auto axis = NDArrayFactory::create('c', {1}, {1}); + auto x = NDArrayFactory::create( {3,4}); + auto gradO1 = NDArrayFactory::create( {3,1}, {1.,2.,3.}); + auto gradO2 = NDArrayFactory::create( {3}, {1.,2.,3.}); + auto exp = NDArrayFactory::create( {3,4}, {-0.335410, -0.111803, 0.111803, 0.335410, -0.670820, -0.223607, 0.223607, 0.670820, -1.006231, -0.335410, 0.335410, 1.006231}); + auto axis = NDArrayFactory::create( {1}, {1}); x.linspace(1); sd::ops::reduce_stdev_bp op; @@ -106,7 +106,7 @@ TEST_F(DeclarableOpsTests9, exponentialDistributionInv_test1) { const double mean = 1. / lambda; const double std = mean; - auto x = NDArrayFactory::create('c', {N}); + auto x = NDArrayFactory::create( {N}); double extraParams[] = {lambda}; Nd4jLong *buffer = new Nd4jLong[N]; @@ -135,8 +135,8 @@ TEST_F(DeclarableOpsTests9, exponentialDistributionInv_test2) { const double std = mean; double extraParams[] = {lambda}; - auto x = NDArrayFactory::create('c', {N}); - auto y = NDArrayFactory::create('c', {N}); + auto x = NDArrayFactory::create( {N}); + auto y = NDArrayFactory::create( {N}); y.linspace(0., 1./N); // [0, 1) @@ -166,7 +166,7 @@ TEST_F(DeclarableOpsTests9, exponentialDistribution_test1) { const double mean = 1. / lambda; const double std = mean; - auto x = NDArrayFactory::create('c', {N}); + auto x = NDArrayFactory::create( {N}); double extraParams[] = {lambda}; Nd4jLong *buffer = new Nd4jLong[N]; @@ -195,8 +195,8 @@ TEST_F(DeclarableOpsTests9, exponentialDistribution_test2) { const double std = mean; double extraParams[] = {lambda}; - auto x = NDArrayFactory::create('c', {N}); - auto y = NDArrayFactory::create('c', {N}); + auto x = NDArrayFactory::create( {N}); + auto y = NDArrayFactory::create( {N}); y.linspace(-N/2.); // [-25000, 25000) @@ -224,9 +224,9 @@ TEST_F(DeclarableOpsTests9, exponentialDistribution_test2) { */ TEST_F(DeclarableOpsTests9, ScalarOpTest_MixedOrders_1) { - auto x = NDArrayFactory::create('f', {2, 2}, {1.0, 3.0, 2.0, 4.0}); - auto e = NDArrayFactory::create('c', {2, 2}, {2.0, 3.0, 4.0, 5.0}); - auto z = NDArrayFactory::create('c', {2, 2}, {0.0, 0.0, 0.0, 0.0}); + auto x = NDArrayFactory::create( {2, 2}, {1.0, 3.0, 2.0, 4.0}, sd::kArrayOrderFortran); + auto e = NDArrayFactory::create( {2, 2}, {2.0, 3.0, 4.0, 5.0}); + auto z = NDArrayFactory::create( {2, 2}, {0.0, 0.0, 0.0, 0.0}); x.applyScalar(scalar::Add, 1.0, z); @@ -236,10 +236,10 @@ TEST_F(DeclarableOpsTests9, ScalarOpTest_MixedOrders_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test1) { - auto x0 = NDArrayFactory::create('c', {2,3,4}); - auto x1 = NDArrayFactory::create('c', {2,2,4}); - auto x2 = NDArrayFactory::create('c', {2,1,4}); - auto exp = NDArrayFactory::create('c', {2,6,4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 1.f, 2.f, 3.f, 4.f, + auto x0 = NDArrayFactory::create( {2,3,4}); + auto x1 = NDArrayFactory::create( {2,2,4}); + auto x2 = NDArrayFactory::create( {2,1,4}); + auto exp = NDArrayFactory::create( {2,6,4}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 1.f, 2.f, 3.f, 4.f, 13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, 9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f, 5.f, 6.f, 7.f, 8.}); x0.linspace(1); @@ -261,10 +261,10 @@ TEST_F(DeclarableOpsTests9, concat_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test2) { - auto x0 = NDArrayFactory::create('c', {1,3,1}); - auto x1 = NDArrayFactory::create('c', {1,2,1}); - auto x2 = NDArrayFactory::create('c', {1,1,1}); - auto exp = NDArrayFactory::create('c', {1,6,1}, {1.f, 2.f, 3.f, 1.f, 2.f, 1.f}); + auto x0 = NDArrayFactory::create( {1,3,1}); + auto x1 = NDArrayFactory::create( {1,2,1}); + auto x2 = NDArrayFactory::create( {1,1,1}); + auto exp = NDArrayFactory::create( {1,6,1}, {1.f, 2.f, 3.f, 1.f, 2.f, 1.f}); x0.linspace(1); x1.linspace(1); @@ -285,10 +285,10 @@ TEST_F(DeclarableOpsTests9, concat_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test3) { - auto x0 = NDArrayFactory::create('c', {3}); - auto x1 = NDArrayFactory::create('c', {2}); - auto x2 = NDArrayFactory::create('c', {1}); - auto exp = NDArrayFactory::create('c', {6}, {1.f, 2.f, 3.f, 1.f, 2.f, 1.f}); + auto x0 = NDArrayFactory::create( {3}); + auto x1 = NDArrayFactory::create( {2}); + auto x2 = NDArrayFactory::create( {1}); + auto exp = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 1.f, 2.f, 1.f}); x0.linspace(1); x1.linspace(1); @@ -307,10 +307,10 @@ TEST_F(DeclarableOpsTests9, concat_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test4) { - auto x0 = NDArrayFactory::create('c', {1,1,1}, {1.f}); - auto x1 = NDArrayFactory::create('c', {1,1,1}, {2.f}); - auto x2 = NDArrayFactory::create('c', {1,1,1}, {3.f}); - auto exp = NDArrayFactory::create('c', {1,3,1}, {1.f, 2.f, 3.f}); + auto x0 = NDArrayFactory::create( {1,1,1}, {1.f}); + auto x1 = NDArrayFactory::create( {1,1,1}, {2.f}); + auto x2 = NDArrayFactory::create( {1,1,1}, {3.f}); + auto exp = NDArrayFactory::create( {1,3,1}, {1.f, 2.f, 3.f}); sd::ops::concat op; @@ -328,9 +328,9 @@ TEST_F(DeclarableOpsTests9, concat_test4) { TEST_F(DeclarableOpsTests9, concat_test5) { auto x0 = NDArrayFactory::create(1.f); - auto x1 = NDArrayFactory::create('c', {1}, {2.f}); + auto x1 = NDArrayFactory::create( {1}, {2.f}); auto x2 = NDArrayFactory::create(3.f); - auto exp = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); + auto exp = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); sd::ops::concat op; @@ -348,9 +348,9 @@ TEST_F(DeclarableOpsTests9, concat_test5) { TEST_F(DeclarableOpsTests9, concat_test6) { auto x0 = NDArrayFactory::create(1.f); - auto x1 = NDArrayFactory::create('c', {2}, {2.f, 20.f}); + auto x1 = NDArrayFactory::create( {2}, {2.f, 20.f}); auto x2 = NDArrayFactory::create(3.f); - auto exp = NDArrayFactory::create('c', {4}, {1.f, 2.f, 20.f, 3.f}); + auto exp = NDArrayFactory::create( {4}, {1.f, 2.f, 20.f, 3.f}); sd::ops::concat op; @@ -370,7 +370,7 @@ TEST_F(DeclarableOpsTests9, concat_test7) { auto x0 = NDArrayFactory::create(1.f); auto x1 = NDArrayFactory::create(2.f); auto x2 = NDArrayFactory::create(3.f); - auto exp = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); + auto exp = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); sd::ops::concat op; @@ -388,7 +388,7 @@ TEST_F(DeclarableOpsTests9, concat_test7) { TEST_F(DeclarableOpsTests9, concat_test8) { auto x0 = NDArrayFactory::create(1.f); - auto exp = NDArrayFactory::create('c', {1}, {1.f}); + auto exp = NDArrayFactory::create( {1}, {1.f}); sd::ops::concat op; @@ -405,8 +405,8 @@ TEST_F(DeclarableOpsTests9, concat_test8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test9) { - auto x0 = NDArrayFactory::create('c', {1}, {1.f}); - auto exp = NDArrayFactory::create('c', {1}, {1.f}); + auto x0 = NDArrayFactory::create( {1}, {1.f}); + auto exp = NDArrayFactory::create( {1}, {1.f}); sd::ops::concat op; @@ -423,10 +423,10 @@ TEST_F(DeclarableOpsTests9, concat_test9) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test10) { - auto x0 = NDArrayFactory::create('c', {2,3,4}); - auto x1 = NDArrayFactory::create('f', {2,2,4}); - auto x2 = NDArrayFactory::create('c', {2,1,4}); - auto exp = NDArrayFactory::create('c', {2,6,4}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 1.f, 2.f, 3.f, 4.f, + auto x0 = NDArrayFactory::create( {2,3,4}); + auto x1 = NDArrayFactory::create( {2,2,4}, {}, sd::kArrayOrderFortran); + auto x2 = NDArrayFactory::create( {2,1,4}); + auto exp = NDArrayFactory::create( {2,6,4}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 1.f, 2.f, 3.f, 4.f, 13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, 9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f, 5.f, 6.f, 7.f, 8.f}); x0.linspace(1); @@ -448,10 +448,10 @@ TEST_F(DeclarableOpsTests9, concat_test10) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test11) { - auto x0 = NDArrayFactory::create('c', {2,3,4}); - auto x1 = NDArrayFactory::create('f', {2,2,4}); - auto x2 = NDArrayFactory::create('f', {2,1,4}); - auto exp = NDArrayFactory::create('c', {2,6,4}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 1.f, 2.f, 3.f, 4.f, + auto x0 = NDArrayFactory::create( {2,3,4}); + auto x1 = NDArrayFactory::create( {2,2,4}, {}, sd::kArrayOrderFortran); + auto x2 = NDArrayFactory::create( {2,1,4}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create( {2,6,4}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 1.f, 2.f, 3.f, 4.f, 13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, 9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f, 5.f, 6.f, 7.f, 8.f}); x0.linspace(1); @@ -473,10 +473,10 @@ TEST_F(DeclarableOpsTests9, concat_test11) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test12) { - auto x0 = NDArrayFactory::create('c', {2,3,4}); - auto x1 = NDArrayFactory::create('f', {2,2,4}); - auto x2 = NDArrayFactory::create('f', {2,1,4}); - auto exp = NDArrayFactory::create('c', {2,6,4}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 1.f, 2.f, 3.f, 4.f, + auto x0 = NDArrayFactory::create( {2,3,4}); + auto x1 = NDArrayFactory::create( {2,2,4}, {}, sd::kArrayOrderFortran); + auto x2 = NDArrayFactory::create( {2,1,4}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create( {2,6,4}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 1.f, 2.f, 3.f, 4.f, 13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f,21.f, 22.f, 23.f, 24.f, 9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f, 5.f, 6.f, 7.f, 8.f}); x0.linspace(1); @@ -498,11 +498,12 @@ TEST_F(DeclarableOpsTests9, concat_test12) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test13) { - auto x0 = NDArrayFactory::create('f', {2,3,4}); - auto x1 = NDArrayFactory::create('f', {2,2,4}); - auto x2 = NDArrayFactory::create('f', {2,1,4}); - auto exp = NDArrayFactory::create('f', {2,6,4}, { 1.f, 13.f, 5.f, 17.f, 9.f, 21.f, 1.f, 9.f, 5.f, 13.f, 1.f, 5.f, 2.f, 14.f, 6.f, 18.f,10.f, 22.f, 2.f, 10.f, 6.f, 14.f, 2.f, 6.f, - 3.f, 15.f, 7.f, 19.f,11.f, 23.f, 3.f, 11.f, 7.f, 15.f, 3.f, 7.f, 4.f, 16.f, 8.f, 20.f,12.f, 24.f, 4.f, 12.f, 8.f, 16.f, 4.f, 8.f}); + auto x0 = NDArrayFactory::create( {2,3,4}, {}, sd::kArrayOrderFortran); + auto x1 = NDArrayFactory::create( {2,2,4}, {}, sd::kArrayOrderFortran); + auto x2 = NDArrayFactory::create( {2,1,4}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create( {2,6,4}, { 1.f, 13.f, 5.f, 17.f, 9.f, 21.f, 1.f, 9.f, 5.f, 13.f, 1.f, 5.f, 2.f, 14.f, 6.f, 18.f,10.f, 22.f, 2.f, 10.f, 6.f, 14.f, 2.f, 6.f, + 3.f, 15.f, 7.f, 19.f,11.f, 23.f, 3.f, 11.f, 7.f, 15.f, 3.f, 7.f, 4.f, 16.f, 8.f, 20.f,12.f, 24.f, 4.f, 12.f, 8.f, 16.f, 4.f, 8.f}, + sd::kArrayOrderFortran); x0.linspace(1); x1.linspace(1); @@ -548,9 +549,9 @@ TEST_F(DeclarableOpsTests9, concat_test14) { } TEST_F(DeclarableOpsTests9, concat_test15) { - auto x = NDArrayFactory::create('c', {2}, {1, 0}); + auto x = NDArrayFactory::create( {2}, {1, 0}); auto y = NDArrayFactory::create (3.0f); - auto exp = NDArrayFactory::create('c', {3}, {1, 0, 3}); + auto exp = NDArrayFactory::create( {3}, {1, 0, 3}); sd::ops::concat op; auto result = op.evaluate({&x, &y}, {}, {0}); @@ -567,9 +568,9 @@ TEST_F(DeclarableOpsTests9, concat_test15) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test16) { - auto x = NDArrayFactory::create('c', {0,2,3}); - auto y = NDArrayFactory::create('c', {0,2,3}); - auto exp = NDArrayFactory::create('c', {0,2,3}); + auto x = NDArrayFactory::create( {0,2,3}); + auto y = NDArrayFactory::create( {0,2,3}); + auto exp = NDArrayFactory::create( {0,2,3}); sd::ops::concat op; auto result = op.evaluate({&x, &y}, {}, {0}); @@ -614,12 +615,12 @@ TEST_F(DeclarableOpsTests9, concat_test18) { // we crate bunch of arrays, filled with specific values for (int e = 0; e < 2000; e++) { - auto array = NDArrayFactory::create('c', {1, 300}); + auto array = NDArrayFactory::create( {1, 300}); array.assign(e); - context.setInputArray(e, array, true); + context.setInputArray(e, array); } - auto z = NDArrayFactory::create('c', {2000, 300}); + auto z = NDArrayFactory::create( {2000, 300}); context.setOutputArray(0, &z, false); context.setIArguments(&axis, 1); @@ -627,7 +628,7 @@ TEST_F(DeclarableOpsTests9, concat_test18) { op.execute(&context); for (int e = 0; e < 2000; e++) { - auto exp = NDArrayFactory::create('c', {300}); + auto exp = NDArrayFactory::create( {300}); exp.assign(e); auto row = z(e, {0}); ASSERT_EQ(exp, row); @@ -642,12 +643,12 @@ TEST_F(DeclarableOpsTests9, concat_test19) { // we crate bunch of arrays, filled with specific values for (int e = 0; e < 10; e++) { - auto array = NDArrayFactory::create('c', {1, 5, 20}); + auto array = NDArrayFactory::create( {1, 5, 20}); array.assign(e); - context.setInputArray(e, array, true); + context.setInputArray(e, array); } - auto z = NDArrayFactory::create('c', {10, 5, 20}); + auto z = NDArrayFactory::create( {10, 5, 20}); context.setOutputArray(0, &z, false); context.setIArguments(&axis, 1); @@ -660,10 +661,10 @@ TEST_F(DeclarableOpsTests9, concat_test19) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test20) { - auto x0 = NDArrayFactory::create('c', {1, 100, 150}); - auto x1 = NDArrayFactory::create('c', {1, 100, 150}); - auto x2 = NDArrayFactory::create('c', {1, 100, 150}); - auto x3 = NDArrayFactory::create('c', {1, 100, 150}); + auto x0 = NDArrayFactory::create( {1, 100, 150}); + auto x1 = NDArrayFactory::create( {1, 100, 150}); + auto x2 = NDArrayFactory::create( {1, 100, 150}); + auto x3 = NDArrayFactory::create( {1, 100, 150}); x0.assign(1.0); x1.assign(2.0); @@ -737,10 +738,10 @@ TEST_F(DeclarableOpsTests9, concat_test23) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test24) { - auto x = NDArrayFactory::create('c', {2, 1}, {1, 1}); - auto y = NDArrayFactory::create('c', {2, 1}, {0, 0}); - auto e = NDArrayFactory::create('c', {2, 2}, {1, 0, 1, 0}); - auto z = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 1}, {1, 1}); + auto y = NDArrayFactory::create( {2, 1}, {0, 0}); + auto e = NDArrayFactory::create( {2, 2}, {1, 0, 1, 0}); + auto z = NDArrayFactory::create( {2, 2}); sd::ops::concat op; auto status = op.execute({&x, &y}, {&z}, {}, {1}, {}); @@ -752,10 +753,10 @@ TEST_F(DeclarableOpsTests9, concat_test24) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test25) { - auto x0 = NDArrayFactory::create('c', {1,4}, {1,2,3,4}); - auto x1 = NDArrayFactory::create('c', {1,4}, {5,6,7,8}); - auto axis = NDArrayFactory::create('c', {1}, {0.}); - auto exp = NDArrayFactory::create('c', {2,4}, {1,2,3,4,5,6,7,8}); + auto x0 = NDArrayFactory::create( {1,4}, {1,2,3,4}); + auto x1 = NDArrayFactory::create( {1,4}, {5,6,7,8}); + auto axis = NDArrayFactory::create( {1}, {0.}); + auto exp = NDArrayFactory::create( {2,4}, {1,2,3,4,5,6,7,8}); sd::ops::concat op; @@ -798,10 +799,10 @@ TEST_F(DeclarableOpsTests9, concat_test26) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test27) { - auto x1 = NDArrayFactory::create('c', {0,1}); - auto x2 = NDArrayFactory::create('c', {0,1}); - auto x3 = NDArrayFactory::create('c', {0,1}); - auto x4 = NDArrayFactory::create('c', {0,1}); + auto x1 = NDArrayFactory::create( {0,1}); + auto x2 = NDArrayFactory::create( {0,1}); + auto x3 = NDArrayFactory::create( {0,1}); + auto x4 = NDArrayFactory::create( {0,1}); std::vector expShape = {0, 4}; @@ -817,9 +818,9 @@ TEST_F(DeclarableOpsTests9, concat_test27) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, tile_bp_test1) { - auto input = NDArrayFactory::create('c', {2, 3}, {1.,2.,3.,4.,5.,6.}); - auto gradO = NDArrayFactory::create('c', {4, 9}); - auto gradIExp = NDArrayFactory::create('c', {2, 3}, {0.78, 0.84, 0.9,1.32, 1.38, 1.44}); + auto input = NDArrayFactory::create( {2, 3}, {1.,2.,3.,4.,5.,6.}); + auto gradO = NDArrayFactory::create( {4, 9}); + auto gradIExp = NDArrayFactory::create( {2, 3}, {0.78, 0.84, 0.9,1.32, 1.38, 1.44}); gradO.linspace(0.01, 0.01); @@ -837,9 +838,9 @@ TEST_F(DeclarableOpsTests9, tile_bp_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, tile_bp_test2) { - auto input = NDArrayFactory::create('c', {2, 3}, {1.,2.,3.,4.,5.,6.}); - auto gradO = NDArrayFactory::create('c', {2, 9}); - auto gradIExp = NDArrayFactory::create('c', {2, 3}, {0.12, 0.15, 0.18, 0.39, 0.42, 0.45}); + auto input = NDArrayFactory::create( {2, 3}, {1.,2.,3.,4.,5.,6.}); + auto gradO = NDArrayFactory::create( {2, 9}); + auto gradIExp = NDArrayFactory::create( {2, 3}, {0.12, 0.15, 0.18, 0.39, 0.42, 0.45}); gradO.linspace(0.01, 0.01); @@ -856,9 +857,9 @@ TEST_F(DeclarableOpsTests9, tile_bp_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, tile_bp_test3) { - auto input = NDArrayFactory::create('c', {2, 3}, {1.,2.,3.,4.,5.,6.}); - auto gradO = NDArrayFactory::create('c', {2, 3}); - auto gradIExp = NDArrayFactory::create('c', {2, 3}, {0.01, 0.02, 0.03,0.04, 0.05, 0.06}); + auto input = NDArrayFactory::create( {2, 3}, {1.,2.,3.,4.,5.,6.}); + auto gradO = NDArrayFactory::create( {2, 3}); + auto gradIExp = NDArrayFactory::create( {2, 3}, {0.01, 0.02, 0.03,0.04, 0.05, 0.06}); gradO.linspace(0.01, 0.01); @@ -876,9 +877,9 @@ TEST_F(DeclarableOpsTests9, tile_bp_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, tile_bp_test4) { - auto input = NDArrayFactory::create('c', {6}, {1.,2.,3.,4.,5.,6.}); - auto gradO = NDArrayFactory::create('c', {12}); - auto gradIExp = NDArrayFactory::create('c', {6}, {0.08, 0.1 , 0.12, 0.14, 0.16, 0.18}); + auto input = NDArrayFactory::create( {6}, {1.,2.,3.,4.,5.,6.}); + auto gradO = NDArrayFactory::create( {12}); + auto gradIExp = NDArrayFactory::create( {6}, {0.08, 0.1 , 0.12, 0.14, 0.16, 0.18}); gradO.linspace(0.01, 0.01); @@ -896,9 +897,9 @@ TEST_F(DeclarableOpsTests9, tile_bp_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, tile_bp_test5) { - auto input = NDArrayFactory::create('c', {1}, {1.}); - auto gradO = NDArrayFactory::create('c', {1}); - auto gradIExp = NDArrayFactory::create('c', {1}, {0.01}); + auto input = NDArrayFactory::create( {1}, {1.}); + auto gradO = NDArrayFactory::create( {1}); + auto gradIExp = NDArrayFactory::create( {1}, {0.01}); gradO.linspace(0.01, 0.01); @@ -916,9 +917,9 @@ TEST_F(DeclarableOpsTests9, tile_bp_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, tile_bp_test6) { - auto input = NDArrayFactory::create('c', {2, 1, 3}, {1.,2.,3.,4.,5.,6.}); - auto gradO = NDArrayFactory::create('c', {2, 3, 6}); - auto gradIExp = NDArrayFactory::create('c', {2, 1, 3}, {0.51, 0.57, 0.63, 1.59, 1.65, 1.71}); + auto input = NDArrayFactory::create( {2, 1, 3}, {1.,2.,3.,4.,5.,6.}); + auto gradO = NDArrayFactory::create( {2, 3, 6}); + auto gradIExp = NDArrayFactory::create( {2, 1, 3}, {0.51, 0.57, 0.63, 1.59, 1.65, 1.71}); gradO.linspace(0.01, 0.01); @@ -936,10 +937,10 @@ TEST_F(DeclarableOpsTests9, tile_bp_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, tile_bp_test7) { - auto input = NDArrayFactory::create('c', {2, 1, 3}, {1.,2.,3.,4.,5.,6.}); - auto reps = NDArrayFactory::create('c', {1, 3}, {1, 3, 2}); - auto gradO = NDArrayFactory::create('c', {2, 3, 6}); - auto gradIExp = NDArrayFactory::create('c', {2, 1, 3}, {0.51, 0.57, 0.63, 1.59, 1.65, 1.71}); + auto input = NDArrayFactory::create( {2, 1, 3}, {1.,2.,3.,4.,5.,6.}); + auto reps = NDArrayFactory::create( {1, 3}, {1, 3, 2}); + auto gradO = NDArrayFactory::create( {2, 3, 6}); + auto gradIExp = NDArrayFactory::create( {2, 1, 3}, {0.51, 0.57, 0.63, 1.59, 1.65, 1.71}); gradO.linspace(0.01, 0.01); @@ -957,9 +958,9 @@ TEST_F(DeclarableOpsTests9, tile_bp_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, tile_test1) { - auto input = NDArrayFactory::create('c', {1, 6}, {1.,2.,3.,4.,5.,6.}); - auto reps = NDArrayFactory::create('c', {1, 2}, {2, 1}); - auto expOut = NDArrayFactory::create('c', {2, 6,}, {1.,2.,3.,4.,5.,6., 1.,2.,3.,4.,5.,6.}); + auto input = NDArrayFactory::create( {1, 6}, {1.,2.,3.,4.,5.,6.}); + auto reps = NDArrayFactory::create( {1, 2}, {2, 1}); + auto expOut = NDArrayFactory::create( {2, 6,}, {1.,2.,3.,4.,5.,6., 1.,2.,3.,4.,5.,6.}); sd::ops::tile op; auto results = op.evaluate({&input, &reps}, {}, {}); @@ -1187,22 +1188,22 @@ TEST_F(DeclarableOpsTests9, test_range_empty_1) { TEST_F(DeclarableOpsTests9, test_broadcast_bool_1) { - auto x = NDArrayFactory::create('c', {1, 3, 2, 4, 4}); - auto y = NDArrayFactory::create('c', {1, 2, 4, 4}); - auto z = NDArrayFactory::create('c', {1, 3, 2, 4, 4}); + auto x = NDArrayFactory::create( {1, 3, 2, 4, 4}); + auto y = NDArrayFactory::create( {1, 2, 4, 4}); + auto z = NDArrayFactory::create( {1, 3, 2, 4, 4}); std::vector dims = {0, 2, 3, 4}; x.applyBroadcast(broadcast::LessThan, dims, y, z); } TEST_F(DeclarableOpsTests9, test_broadcast_bool_2) { - auto orig = NDArrayFactory::create('c', {1, 7, 4, 4}); + auto orig = NDArrayFactory::create( {1, 7, 4, 4}); std::vector list = {0,0, 0,2, 0,0, 0,0}; - auto x = NDArrayFactory::create('c', {1, 3, 2, 4, 4}); + auto x = NDArrayFactory::create( {1, 3, 2, 4, 4}); auto y = orig(list, true); - auto z = NDArrayFactory::create('c', {1, 3, 2, 4, 4}); + auto z = NDArrayFactory::create( {1, 3, 2, 4, 4}); std::vector dims = {0, 2, 3, 4}; x.applyBroadcast(broadcast::LessThan, dims, y, z); @@ -1210,7 +1211,7 @@ TEST_F(DeclarableOpsTests9, test_broadcast_bool_2) { } TEST_F(DeclarableOpsTests9, test_unstack_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.linspace(1.0); sd::ops::unstack op; @@ -1244,14 +1245,14 @@ TEST_F(DeclarableOpsTests9, test_unstack_SGO_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, cumprod_1) { - auto inputC = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto inputC = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); auto axis = NDArrayFactory::create(1); - auto expFF = NDArrayFactory::create('c', {3, 5}, {1., 2., 6., 24., 120., 6., 42., 336., 3024., 30240.,11., 132.,1716., 24024.,360360.}); - auto expTF = NDArrayFactory::create('c', {3, 5}, {1, 1, 2, 6, 24,1, 6, 42, 336, 3024,1, 11, 132, 1716, 24024}); + auto expFF = NDArrayFactory::create( {3, 5}, {1., 2., 6., 24., 120., 6., 42., 336., 3024., 30240.,11., 132.,1716., 24024.,360360.}); + auto expTF = NDArrayFactory::create( {3, 5}, {1, 1, 2, 6, 24,1, 6, 42, 336, 3024,1, 11, 132, 1716, 24024}); - auto expFT = NDArrayFactory::create('c', {3, 5}, {120, 120, 60, 20, 5,30240, 5040, 720, 90, 10,360360, 32760, 2730, 210, 15}); //+++ - auto expTT = NDArrayFactory::create('c', {3, 5}, {120, 60, 20, 5, 1,5040, 720, 90, 10, 1,32760, 2730, 210, 15, 1}); + auto expFT = NDArrayFactory::create( {3, 5}, {120, 120, 60, 20, 5,30240, 5040, 720, 90, 10,360360, 32760, 2730, 210, 15}); //+++ + auto expTT = NDArrayFactory::create( {3, 5}, {120, 60, 20, 5, 1,5040, 720, 90, 10, 1,32760, 2730, 210, 15, 1}); int exclusive, reverse; @@ -1330,8 +1331,8 @@ TEST_F(DeclarableOpsTests9, cumprod_2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, cumprod_bp_check_1) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto gradO = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto gradO = NDArrayFactory::create( {4, 4}); x.linspace(1); @@ -1349,8 +1350,8 @@ TEST_F(DeclarableOpsTests9, cumprod_bp_check_1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, cumprod_bp_check_2) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto gradO = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto gradO = NDArrayFactory::create( {4, 4}); x.linspace(1); @@ -1368,8 +1369,8 @@ TEST_F(DeclarableOpsTests9, cumprod_bp_check_2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, cumprod_bp_check_3) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto gradO = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto gradO = NDArrayFactory::create( {4, 4}); x.linspace(1); @@ -1387,8 +1388,8 @@ TEST_F(DeclarableOpsTests9, cumprod_bp_check_3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, cumprod_bp_check_4) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto gradO = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto gradO = NDArrayFactory::create( {4, 4}); x.linspace(1); @@ -1407,8 +1408,8 @@ TEST_F(DeclarableOpsTests9, cumprod_bp_check_4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, cumsum_bp_check_2) { - auto x = NDArrayFactory::create('c', {4, 4}); - auto gradO = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 4}); + auto gradO = NDArrayFactory::create( {4, 4}); x.linspace(1); @@ -1426,15 +1427,15 @@ TEST_F(DeclarableOpsTests9, cumsum_bp_check_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, cumprod_test1) { - auto inputC = NDArrayFactory::create('c', {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); + auto inputC = NDArrayFactory::create( {3, 5}, {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.}); auto axis = NDArrayFactory::create(1.); - auto expFF = NDArrayFactory::create('c', {3, 5}, {1., 2., 6., 24., 120., 6., 42., 336., 3024., 30240.,11., 132.,1716., 24024.,360360.}); - auto expTF = NDArrayFactory::create('c', {3, 5}, {1, 1, 2, 6, 24,1, 6, 42, 336, 3024,1, 11, 132, 1716, 24024}); + auto expFF = NDArrayFactory::create( {3, 5}, {1., 2., 6., 24., 120., 6., 42., 336., 3024., 30240.,11., 132.,1716., 24024.,360360.}); + auto expTF = NDArrayFactory::create( {3, 5}, {1, 1, 2, 6, 24,1, 6, 42, 336, 3024,1, 11, 132, 1716, 24024}); - auto expFT = NDArrayFactory::create('c', {3, 5}, {120, 120, 60, 20, 5,30240, 5040, 720, 90, 10,360360, 32760, 2730, 210, 15}); //+++ - auto expTT = NDArrayFactory::create('c', {3, 5}, {120, 60, 20, 5, 1,5040, 720, 90, 10, 1,32760, 2730, 210, 15, 1}); - auto gradO = NDArrayFactory::create('c', {3, 5}); + auto expFT = NDArrayFactory::create( {3, 5}, {120, 120, 60, 20, 5,30240, 5040, 720, 90, 10,360360, 32760, 2730, 210, 15}); //+++ + auto expTT = NDArrayFactory::create( {3, 5}, {120, 60, 20, 5, 1,5040, 720, 90, 10, 1,32760, 2730, 210, 15, 1}); + auto gradO = NDArrayFactory::create( {3, 5}); int exclusive, reverse; @@ -1455,10 +1456,10 @@ TEST_F(DeclarableOpsTests9, cumprod_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, cumprod_test2) { - auto inputC = NDArrayFactory::create('c', {2, 2}); + auto inputC = NDArrayFactory::create( {2, 2}); auto axis = NDArrayFactory::create(1.); - auto gradO = NDArrayFactory::create('c', {2, 2}); + auto gradO = NDArrayFactory::create( {2, 2}); int exclusive, reverse; @@ -1479,9 +1480,9 @@ TEST_F(DeclarableOpsTests9, cumprod_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); - auto alpha = NDArrayFactory::create('c', {3, 4}, {-0.6f, -0.5f, -0.4f, -0.3f, -0.2f, -0.1f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {7.2f, 5.5f, 4.f, 2.7f, 1.6f, 0.7f, 0.f, -0.5f,-0.8f, -0.9f, -0.8f, -0.5f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto alpha = NDArrayFactory::create( {3, 4}, {-0.6f, -0.5f, -0.4f, -0.3f, -0.2f, -0.1f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {7.2f, 5.5f, 4.f, 2.7f, 1.6f, 0.7f, 0.f, -0.5f,-0.8f, -0.9f, -0.8f, -0.5f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); sd::ops::prelu op; @@ -1498,9 +1499,9 @@ TEST_F(DeclarableOpsTests9, prelu_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); - auto alpha = NDArrayFactory::create('c', {3}, {-0.6f, 2.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {7.2f, 6.6f, 6.f, 5.4f, -16.f, -14.f, -12.f, -10.f, -16.f, -12.f, -8.f, -4.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto alpha = NDArrayFactory::create( {3}, {-0.6f, 2.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {7.2f, 6.6f, 6.f, 5.4f, -16.f, -14.f, -12.f, -10.f, -16.f, -12.f, -8.f, -4.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {0}); @@ -1516,9 +1517,9 @@ TEST_F(DeclarableOpsTests9, prelu_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test3) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); - auto alpha = NDArrayFactory::create('c', {3,1}, {-0.6f, 2.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {7.2f, 6.6f, 6.f, 5.4f, -16.f, -14.f, -12.f, -10.f, -16.f, -12.f, -8.f, -4.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto alpha = NDArrayFactory::create( {3,1}, {-0.6f, 2.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {7.2f, 6.6f, 6.f, 5.4f, -16.f, -14.f, -12.f, -10.f, -16.f, -12.f, -8.f, -4.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {0}); @@ -1534,9 +1535,9 @@ TEST_F(DeclarableOpsTests9, prelu_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test4) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); - auto alpha = NDArrayFactory::create('c', {1, 3}, {-0.6f, 2.f, 4.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {7.2f, 6.6f, 6.f, 5.4f, -16.f, -14.f, -12.f, -10.f, -16.f, -12.f, -8.f, -4.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto alpha = NDArrayFactory::create( {1, 3}, {-0.6f, 2.f, 4.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {7.2f, 6.6f, 6.f, 5.4f, -16.f, -14.f, -12.f, -10.f, -16.f, -12.f, -8.f, -4.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {0}); @@ -1552,9 +1553,9 @@ TEST_F(DeclarableOpsTests9, prelu_test4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test5) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); - auto alpha = NDArrayFactory::create('c', {4}, {-0.6f, 2.f, 4.f, -1.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {7.2f, -22.f, -40.f, 9.f, 4.8f, -14.f, -24.f, 5.f, 2.4f, -6.f, -8.f, 1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto alpha = NDArrayFactory::create( {4}, {-0.6f, 2.f, 4.f, -1.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {7.2f, -22.f, -40.f, 9.f, 4.8f, -14.f, -24.f, 5.f, 2.4f, -6.f, -8.f, 1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {1}); @@ -1570,9 +1571,9 @@ TEST_F(DeclarableOpsTests9, prelu_test5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test6) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); - auto alpha = NDArrayFactory::create('c', {1,1,1}, {-2.}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {24.f, 22.f, 20.f, 18.f, 16.f, 14.f, 12.f, 10.f, 8.f, 6.f, 4.f, 2.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto alpha = NDArrayFactory::create( {1,1,1}, {-2.}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {24.f, 22.f, 20.f, 18.f, 16.f, 14.f, 12.f, 10.f, 8.f, 6.f, 4.f, 2.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {1,0}); @@ -1589,9 +1590,9 @@ TEST_F(DeclarableOpsTests9, prelu_test6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test7) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); auto alpha = NDArrayFactory::create(-2.f); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {24.f, 22.f, 20.f, 18.f, 16.f, 14.f, 12.f, 10.f, 8.f, 6.f, 4.f, 2.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {24.f, 22.f, 20.f, 18.f, 16.f, 14.f, 12.f, 10.f, 8.f, 6.f, 4.f, 2.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {1,0}); @@ -1607,9 +1608,9 @@ TEST_F(DeclarableOpsTests9, prelu_test7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test8) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); auto alpha = NDArrayFactory::create(-2.f); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {24.f, 22.f, 20.f, 18.f, 16.f, 14.f, 12.f, 10.f, 8.f, 6.f, 4.f, 2.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {24.f, 22.f, 20.f, 18.f, 16.f, 14.f, 12.f, 10.f, 8.f, 6.f, 4.f, 2.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {1,0,1,0,1,0}); @@ -1625,9 +1626,9 @@ TEST_F(DeclarableOpsTests9, prelu_test8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test9) { - auto x = NDArrayFactory::create('c', {2, 4}, {-4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f}); + auto x = NDArrayFactory::create( {2, 4}, {-4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f}); auto alpha = NDArrayFactory::create(-2.f); - auto exp = NDArrayFactory::create('c', {2, 4}, {8.f, 6.f, 4.f, 2.f,0.f, 1.f, 2.f, 3.f}); + auto exp = NDArrayFactory::create( {2, 4}, {8.f, 6.f, 4.f, 2.f,0.f, 1.f, 2.f, 3.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {0}); @@ -1643,9 +1644,9 @@ TEST_F(DeclarableOpsTests9, prelu_test9) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test10) { - auto x = NDArrayFactory::create('c', {2, 4}, {-4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f}); + auto x = NDArrayFactory::create( {2, 4}, {-4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f}); auto alpha = NDArrayFactory::create(-2.f); - auto exp = NDArrayFactory::create('c', {2, 4}, {8.f, 6.f, 4.f, 2.f,0.f, 1.f, 2.f, 3.f}); + auto exp = NDArrayFactory::create( {2, 4}, {8.f, 6.f, 4.f, 2.f,0.f, 1.f, 2.f, 3.f}); sd::ops::prelu op; auto result = op.evaluate({&x, &alpha}, {}, {1}); @@ -1661,10 +1662,10 @@ TEST_F(DeclarableOpsTests9, prelu_test10) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test11) { - auto x = NDArrayFactory::create('c', {2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3, 4, 5}); x.linspace(-50.); - auto alpha = NDArrayFactory::create('c', {4}, {0.f, -0.5f, 0.5f, -1.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4, 5}, {0.f, 0.f, 0.f, 0.f, 0.f, 22.5f, 22.f, 21.5f, 21.f, 20.5f, -20.f, -19.5f, -19.f, -18.5f, -18.f, 35.f, 34.f, 33.f, + auto alpha = NDArrayFactory::create( {4}, {0.f, -0.5f, 0.5f, -1.f}); + auto exp = NDArrayFactory::create( {2, 3, 4, 5}, {0.f, 0.f, 0.f, 0.f, 0.f, 22.5f, 22.f, 21.5f, 21.f, 20.5f, -20.f, -19.5f, -19.f, -18.5f, -18.f, 35.f, 34.f, 33.f, 32.f, 31.f, 0.f, 0.f, 0.f, 0.f, 0.f, 12.5f, 12.f, 11.5f, 11.f, 10.5f, -10.f, -9.5f, -9.f, -8.5f, -8.f, 15.f, 14.f, 13.f, 12.f, 11.f, 0.f, 0.f, 0.f, 0.f, 0.f, 2.5f, 2.f, 1.5f, 1.f, 0.5f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, 22.f, 23.f, @@ -1686,10 +1687,10 @@ TEST_F(DeclarableOpsTests9, prelu_test11) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test12) { - auto x = NDArrayFactory::create('c', {2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3, 4, 5}); x.linspace(-50.); - auto alpha = NDArrayFactory::create('c', {3,5}, {-0.7f, -0.6f, -0.5f, -0.4f, -0.3f, -0.2f, -0.1f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4, 5}, {35.f, 29.4f, 24.f, 18.8f, 13.8f, 31.5f, 26.4f, 21.5f, 16.8f, 12.3f, 28.f, 23.4f, 19.f, 14.8f, 10.8f, 24.5f, 20.4f, 16.5f, 12.8f, + auto alpha = NDArrayFactory::create( {3,5}, {-0.7f, -0.6f, -0.5f, -0.4f, -0.3f, -0.2f, -0.1f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f}); + auto exp = NDArrayFactory::create( {2, 3, 4, 5}, {35.f, 29.4f, 24.f, 18.8f, 13.8f, 31.5f, 26.4f, 21.5f, 16.8f, 12.3f, 28.f, 23.4f, 19.f, 14.8f, 10.8f, 24.5f, 20.4f, 16.5f, 12.8f, 9.3f, 6.f, 2.9f, 0.f, -2.7f, -5.2f, 5.f, 2.4f, 0.f, -2.2f, -4.2f, 4.f, 1.9f, 0.f, -1.7f, -3.2f, 3.f, 1.4f, 0.f, -1.2f, -2.2f, -3.f, -3.6f, -4.f, -4.2f, -4.2f, -1.5f, -1.6f, -1.5f, -1.2f, -0.7f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 28.f, 29.f, 30.f, @@ -1710,10 +1711,10 @@ TEST_F(DeclarableOpsTests9, prelu_test12) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test13) { - auto x = NDArrayFactory::create('c', {2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3, 4, 5}); x.linspace(-50.); - auto alpha = NDArrayFactory::create('c', {5,3}, {-0.7f, -0.6f, -0.5f, -0.4f, -0.3f, -0.2f, -0.1f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4, 5}, {35.f, 29.4f, 24.f, 18.8f, 13.8f, 31.5f, 26.4f, 21.5f, 16.8f, 12.3f, 28.f, 23.4f, 19.f, 14.8f, 10.8f, 24.5f, 20.4f, 16.5f, 12.8f, + auto alpha = NDArrayFactory::create( {5,3}, {-0.7f, -0.6f, -0.5f, -0.4f, -0.3f, -0.2f, -0.1f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f}); + auto exp = NDArrayFactory::create( {2, 3, 4, 5}, {35.f, 29.4f, 24.f, 18.8f, 13.8f, 31.5f, 26.4f, 21.5f, 16.8f, 12.3f, 28.f, 23.4f, 19.f, 14.8f, 10.8f, 24.5f, 20.4f, 16.5f, 12.8f, 9.3f, 6.f, 2.9f, 0.f, -2.7f, -5.2f, 5.f, 2.4f, 0.f, -2.2f, -4.2f, 4.f, 1.9f, 0.f, -1.7f, -3.2f, 3.f, 1.4f, 0.f, -1.2f, -2.2f, -3.f, -3.6f, -4.f, -4.2f, -4.2f, -1.5f, -1.6f, -1.5f, -1.2f, -0.7f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 28.f, 29.f, 30.f, @@ -1734,10 +1735,10 @@ TEST_F(DeclarableOpsTests9, prelu_test13) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_test14) { - auto x = NDArrayFactory::create('c', {2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3, 4, 5}); x.linspace(-50.); - auto alpha = NDArrayFactory::create('c', {2,10}, {-0.7f, -0.6f, -0.5f, -0.4f, -0.3f, -0.2f, -0.1f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.f, 1.1f, 1.2f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4, 5}, {35.f, 29.4f, 24.f, 18.8f, 13.8f, 9.f, 4.4f, 0.f, -4.2f, -8.2f, -12.f, -15.6f, -19.f, -22.2f, -25.2f, -28.f, -30.6f, + auto alpha = NDArrayFactory::create( {2,10}, {-0.7f, -0.6f, -0.5f, -0.4f, -0.3f, -0.2f, -0.1f, 0.f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.f, 1.1f, 1.2f}); + auto exp = NDArrayFactory::create( {2, 3, 4, 5}, {35.f, 29.4f, 24.f, 18.8f, 13.8f, 9.f, 4.4f, 0.f, -4.2f, -8.2f, -12.f, -15.6f, -19.f, -22.2f, -25.2f, -28.f, -30.6f, -33.f,-35.2f, -37.2f, 21.f, 17.4f, 14.f, 10.8f, 7.8f, 5.f, 2.4f, 0.f, -2.2f, -4.2f, -6.f, -7.6f, -9.f, -10.2f, -11.2f, -12.f, -12.6f, -13.f, -13.2f, -13.2f, 7.f, 5.4f, 4.f, 2.8f, 1.8f, 1.f, 0.4f, 0.f, -0.2f, -0.2f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, @@ -1760,8 +1761,8 @@ TEST_F(DeclarableOpsTests9, prelu_test14) { TEST_F(DeclarableOpsTests9, thresholdedrelu_test1) { const float theta = 2.f; - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {0.f, 0.f, 0.f, 0.f,0.f, 0.f, 0.f, 0.f,0.f, 0.f, 0.f, 0.f,0.f, 0.f, 0.f, 3.f,4.f, 5.f, 6.f, 7.f,8.f, 9.f,10.f,11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {0.f, 0.f, 0.f, 0.f,0.f, 0.f, 0.f, 0.f,0.f, 0.f, 0.f, 0.f,0.f, 0.f, 0.f, 3.f,4.f, 5.f, 6.f, 7.f,8.f, 9.f,10.f,11.f}); sd::ops::thresholdedrelu op; @@ -1778,9 +1779,9 @@ TEST_F(DeclarableOpsTests9, thresholdedrelu_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, compare_and_bitpack_test1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12.f, -11.f, -10.f, -9.f, -8.f, -7.f, -6.f, -5.f, -4.f, -3.f, -2.f, -1.f, 0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f}); auto threshold = NDArrayFactory::create(2.0); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + auto exp = NDArrayFactory::create( {2, 3, 4}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}); sd::ops::compare_and_bitpack op; @@ -1798,8 +1799,8 @@ TEST_F(DeclarableOpsTests9, compare_and_bitpack_test1) { TEST_F(DeclarableOpsTests9, thresholdedrelu_test2) { const float theta = -2.f; - auto x = NDArrayFactory::create('c', {2, 3, 4}, {0.f,-4.f, -10.f, -8.f, 0.f, -9.f, -8.f, 5.f, 6.f, 6.f, 9.f, 6.f, -8.f, 5.f, 10.f, -2.f, 3.f, -7.f, 4.f, -8.f, -4.f, -9.f, -9.f, 3.f}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 5.f, 6.f, 6.f, 9.f, 6.f, 0.f, 5.f, 10.f, 0.f, 3.f, 0.f, 4.f, 0.f, 0.f, 0.f, 0.f, 3.f}); + auto x = NDArrayFactory::create( {2, 3, 4}, {0.f,-4.f, -10.f, -8.f, 0.f, -9.f, -8.f, 5.f, 6.f, 6.f, 9.f, 6.f, -8.f, 5.f, 10.f, -2.f, 3.f, -7.f, 4.f, -8.f, -4.f, -9.f, -9.f, 3.f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 5.f, 6.f, 6.f, 9.f, 6.f, 0.f, 5.f, 10.f, 0.f, 3.f, 0.f, 4.f, 0.f, 0.f, 0.f, 0.f, 3.f}); sd::ops::thresholdedrelu op; @@ -1816,9 +1817,9 @@ TEST_F(DeclarableOpsTests9, thresholdedrelu_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_bp_test1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12., -11., -10., -9., -8., -7., -6., -5., -4., -3., -2., -1., 0.5, 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.}); - auto alpha = NDArrayFactory::create('c', {3, 4}, {-0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.5, 0.1, 0.2, 0.3, 0.4, 0.5}); - auto dLdO = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12., -11., -10., -9., -8., -7., -6., -5., -4., -3., -2., -1., 0.5, 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.}); + auto alpha = NDArrayFactory::create( {3, 4}, {-0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.5, 0.1, 0.2, 0.3, 0.4, 0.5}); + auto dLdO = NDArrayFactory::create( {2, 3, 4}); const OpArgsHolder argsHolderFF({&x, &alpha}, {}, {}); const OpArgsHolder argsHolderBP({&x, &alpha, &dLdO}, {}, {}); @@ -1834,9 +1835,9 @@ TEST_F(DeclarableOpsTests9, prelu_bp_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_bp_test2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}, {-12., -11., -10., -9., -8., -7., -6., -5., -4., -3., -2., -1., 0.5, 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.}); - auto alpha = NDArrayFactory::create('c', {4}, {-0.6, 2., 4., -1.}); - auto dLdO = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}, {-12., -11., -10., -9., -8., -7., -6., -5., -4., -3., -2., -1., 0.5, 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.}); + auto alpha = NDArrayFactory::create( {4}, {-0.6, 2., 4., -1.}); + auto dLdO = NDArrayFactory::create( {2, 3, 4}); const OpArgsHolder argsHolderFF({&x, &alpha}, {}, {1}); const OpArgsHolder argsHolderBP({&x, &alpha, &dLdO}, {}, {1}); @@ -1852,11 +1853,11 @@ TEST_F(DeclarableOpsTests9, prelu_bp_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_bp_test3) { - auto x = NDArrayFactory::create('c', {2, 3, 2, 5}); + auto x = NDArrayFactory::create( {2, 3, 2, 5}); x.linspace(-30.); x.p(30, 0.5); // avoid zero, since it is points of discontinuity for prelu - auto alpha = NDArrayFactory::create('c', {5,3}, {-0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.5, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7}); - auto dLdO = NDArrayFactory::create('c', {2, 3, 2, 5}); + auto alpha = NDArrayFactory::create( {5,3}, {-0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.5, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7}); + auto dLdO = NDArrayFactory::create( {2, 3, 2, 5}); const OpArgsHolder argsHolderFF({&x, &alpha}, {}, {-1, 2}); const OpArgsHolder argsHolderBP({&x, &alpha, &dLdO}, {}, {-1, 2}); @@ -1872,11 +1873,11 @@ TEST_F(DeclarableOpsTests9, prelu_bp_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, prelu_bp_test4) { - auto x = NDArrayFactory::create('c', {2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3, 4, 5}); x.linspace(-50.); x.p(50, 0.5); // avoid zero, since it is points of discontinuity for prele - auto alpha = NDArrayFactory::create('c', {2,10}, {-0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.25, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2}); - auto dLdO = NDArrayFactory::create('c', {2, 3, 4, 5}); + auto alpha = NDArrayFactory::create( {2,10}, {-0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.25, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2}); + auto dLdO = NDArrayFactory::create( {2, 3, 4, 5}); const OpArgsHolder argsHolderFF({&x, &alpha}, {}, {-2}); const OpArgsHolder argsHolderBP({&x, &alpha, &dLdO}, {}, {-2}); @@ -1894,8 +1895,8 @@ TEST_F(DeclarableOpsTests9, thresholdedrelu_bp_test1) { const double theta = 0.15; - auto x = NDArrayFactory::create('c', {2, 3, 4}, {1.2, 1.1, 1., 0.9, 0.8, -0.7, -0.6,-0.5,-0.4,-0.3,-0.2,-0.1, 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, -0.9, -1.0, -1.1}); - auto dLdO = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}, {1.2, 1.1, 1., 0.9, 0.8, -0.7, -0.6,-0.5,-0.4,-0.3,-0.2,-0.1, 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, -0.9, -1.0, -1.1}); + auto dLdO = NDArrayFactory::create( {2, 3, 4}); const OpArgsHolder argsHolderFF({&x}, {theta}, {}); const OpArgsHolder argsHolderBP({&x, &dLdO}, {theta}, {}); @@ -1911,9 +1912,9 @@ TEST_F(DeclarableOpsTests9, thresholdedrelu_bp_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_test1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto y = NDArrayFactory::create('c', {4}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {0.1f, 0.4f, 0.9f, 1.6f, 0.5f, 1.2f, 2.1f, 3.2f, 0.9f, 2.f, 3.3f, 4.8f, 1.3f, 2.8f, 4.5f, 6.4f, 1.7f, 3.6f, 5.7f, 8.f, 2.1f, 4.4f, 6.9f, 9.6f}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto y = NDArrayFactory::create( {4}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {0.1f, 0.4f, 0.9f, 1.6f, 0.5f, 1.2f, 2.1f, 3.2f, 0.9f, 2.f, 3.3f, 4.8f, 1.3f, 2.8f, 4.5f, 6.4f, 1.7f, 3.6f, 5.7f, 8.f, 2.1f, 4.4f, 6.9f, 9.6f}); x.linspace(1.f); y.linspace(0.1f, 0.1f); @@ -1931,9 +1932,9 @@ TEST_F(DeclarableOpsTests9, multiply_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_test2) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto y = NDArrayFactory::create(0.1); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.f, 2.1f, 2.2f, 2.3f, 2.4f}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.f, 2.1f, 2.2f, 2.3f, 2.4f}); x.linspace(1.f); // y.linspace(0.1f, 0.1f); @@ -1951,9 +1952,9 @@ TEST_F(DeclarableOpsTests9, multiply_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_test3) { - auto x = NDArrayFactory::create('c', {2, 1, 4}); - auto y = NDArrayFactory::create('c', {3,1}); - auto exp = NDArrayFactory::create('c', {2, 3, 4}, {0.1f, 0.2f, 0.3f, 0.4f, 0.2f, 0.4f, 0.6f, 0.8f, 0.3f, 0.6f, 0.9f, 1.2f, 0.5f, 0.6f, 0.7f, 0.8f, 1.f, 1.2f, 1.4f, 1.6f, 1.5f, 1.8f, 2.1f, 2.4f}); + auto x = NDArrayFactory::create( {2, 1, 4}); + auto y = NDArrayFactory::create( {3,1}); + auto exp = NDArrayFactory::create( {2, 3, 4}, {0.1f, 0.2f, 0.3f, 0.4f, 0.2f, 0.4f, 0.6f, 0.8f, 0.3f, 0.6f, 0.9f, 1.2f, 0.5f, 0.6f, 0.7f, 0.8f, 1.f, 1.2f, 1.4f, 1.6f, 1.5f, 1.8f, 2.1f, 2.4f}); x.linspace(1.f); y.linspace(0.1f, 0.1f); @@ -1971,9 +1972,9 @@ TEST_F(DeclarableOpsTests9, multiply_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_test4) { - auto x = NDArrayFactory::create('c', {1, 1}); + auto x = NDArrayFactory::create( {1, 1}); auto y = NDArrayFactory::create(0.1f); - auto exp = NDArrayFactory::create('c', {1, 1}, {0.1f}); + auto exp = NDArrayFactory::create( {1, 1}, {0.1f}); x.linspace(1.f); sd::ops::multiply op; @@ -2008,9 +2009,9 @@ TEST_F(DeclarableOpsTests9, multiply_test5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_bp_test1) { - auto x = NDArrayFactory::create('c', {1, 1}, {100.}); + auto x = NDArrayFactory::create( {1, 1}, {100.}); auto y = NDArrayFactory::create(0.1); - auto dLdz = NDArrayFactory::create('c', {1, 1}); + auto dLdz = NDArrayFactory::create( {1, 1}); const OpArgsHolder argsHolderFF({&x, &y}, {}, {}); const OpArgsHolder argsHolderBP({&x, &y, &dLdz}, {}, {}); @@ -2029,9 +2030,9 @@ TEST_F(DeclarableOpsTests9, multiply_bp_test1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_bp_test2) { - auto x = NDArrayFactory::create('c', {2, 2}, {1.,2.,3.,4.}); + auto x = NDArrayFactory::create( {2, 2}, {1.,2.,3.,4.}); auto y = NDArrayFactory::create(0.1); - auto dLdz = NDArrayFactory::create('c', {2, 2}); + auto dLdz = NDArrayFactory::create( {2, 2}); const OpArgsHolder argsHolderFF({&x, &y}, {}, {}); const OpArgsHolder argsHolderBP({&x, &y, &dLdz}, {}, {}); @@ -2047,9 +2048,9 @@ TEST_F(DeclarableOpsTests9, multiply_bp_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_bp_test3) { - auto y = NDArrayFactory::create('c', {2, 2}, {1.,2.,3.,4.}); + auto y = NDArrayFactory::create( {2, 2}, {1.,2.,3.,4.}); auto x = NDArrayFactory::create(0.1); - auto dLdz = NDArrayFactory::create('c', {2, 2}); + auto dLdz = NDArrayFactory::create( {2, 2}); const OpArgsHolder argsHolderFF({&x, &y}, {}, {}); const OpArgsHolder argsHolderBP({&x, &y, &dLdz}, {}, {}); @@ -2065,9 +2066,9 @@ TEST_F(DeclarableOpsTests9, multiply_bp_test3) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_bp_test4) { - auto x = NDArrayFactory::create('c', {2, 2}, {1.,2.,3.,4.}); - auto y = NDArrayFactory::create('c', {2, 2}, {0.1,0.2,0.3,0.4}); - auto dLdz = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}, {1.,2.,3.,4.}); + auto y = NDArrayFactory::create( {2, 2}, {0.1,0.2,0.3,0.4}); + auto dLdz = NDArrayFactory::create( {2, 2}); const OpArgsHolder argsHolderFF({&x, &y}, {}, {}); const OpArgsHolder argsHolderBP({&x, &y, &dLdz}, {}, {}); @@ -2083,9 +2084,9 @@ TEST_F(DeclarableOpsTests9, multiply_bp_test4) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_bp_test5) { - auto x = NDArrayFactory::create('c', {2, 2}, {1.,2.,3.,4.}); - auto y = NDArrayFactory::create('c', {2}, {0.1,0.2}); - auto dLdz = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}, {1.,2.,3.,4.}); + auto y = NDArrayFactory::create( {2}, {0.1,0.2}); + auto dLdz = NDArrayFactory::create( {2, 2}); const OpArgsHolder argsHolderFF({&x, &y}, {}, {}); const OpArgsHolder argsHolderBP({&x, &y, &dLdz}, {}, {}); @@ -2101,9 +2102,9 @@ TEST_F(DeclarableOpsTests9, multiply_bp_test5) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_bp_test6) { - auto y = NDArrayFactory::create('c', {2, 2}, {1.,2.,3.,4.}); - auto x = NDArrayFactory::create('c', {2}, {0.1,0.2}); - auto dLdz = NDArrayFactory::create('c', {2, 2}); + auto y = NDArrayFactory::create( {2, 2}, {1.,2.,3.,4.}); + auto x = NDArrayFactory::create( {2}, {0.1,0.2}); + auto dLdz = NDArrayFactory::create( {2, 2}); const OpArgsHolder argsHolderFF({&x, &y}, {}, {}); const OpArgsHolder argsHolderBP({&x, &y, &dLdz}, {}, {}); @@ -2119,9 +2120,9 @@ TEST_F(DeclarableOpsTests9, multiply_bp_test6) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_bp_test7) { - auto y = NDArrayFactory::create('c', {2, 3}, {1.,2.,3.,4.,5.,6.}); - auto x = NDArrayFactory::create('c', {2, 1}, {0.1,0.2}); - auto dLdz = NDArrayFactory::create('c', {2, 3}); + auto y = NDArrayFactory::create( {2, 3}, {1.,2.,3.,4.,5.,6.}); + auto x = NDArrayFactory::create( {2, 1}, {0.1,0.2}); + auto dLdz = NDArrayFactory::create( {2, 3}); const OpArgsHolder argsHolderFF({&x, &y}, {}, {}); const OpArgsHolder argsHolderBP({&x, &y, &dLdz}, {}, {}); @@ -2137,9 +2138,9 @@ TEST_F(DeclarableOpsTests9, multiply_bp_test7) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, multiply_bp_test8) { - auto y = NDArrayFactory::create('c', {2, 1, 4}); - auto x = NDArrayFactory::create('c', {1, 3, 4}); - auto dLdz = NDArrayFactory::create('c', {2, 3, 4}); + auto y = NDArrayFactory::create( {2, 1, 4}); + auto x = NDArrayFactory::create( {1, 3, 4}); + auto dLdz = NDArrayFactory::create( {2, 3, 4}); x.linspace(1., 0.5); y.linspace(0.1, 0.05); @@ -2157,10 +2158,10 @@ TEST_F(DeclarableOpsTests9, multiply_bp_test8) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, Floormod_BP_Test_2) { - auto y = NDArrayFactory::create('c', {10, 10}); - auto x = NDArrayFactory::create('c', {10, 10}); - auto dLdz = NDArrayFactory::create('c', {10, 10}); - //auto eps = NDArrayFactory::create('c', {10, 10}); + auto y = NDArrayFactory::create( {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); + auto dLdz = NDArrayFactory::create( {10, 10}); + //auto eps = NDArrayFactory::create( {10, 10}); x.linspace(4); //2., 2.0); y.linspace(3); dLdz.linspace(1); @@ -2188,12 +2189,12 @@ TEST_F(DeclarableOpsTests9, Floormod_BP_Test_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, Dynamic_Partition_BP_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); - auto y = NDArrayFactory::create('c', {2, 3}, {0, 1, 2, 1, 0, 2}); - auto dLdzX = NDArrayFactory::create('c', {2, 4}); - auto dLdzY = NDArrayFactory::create('c', {2, 4}); - auto dLdzZ = NDArrayFactory::create('c', {2, 4}); - auto exp = NDArrayFactory::create('c', {2,3,4}, {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 3, 3, 3, 3}); + auto x = NDArrayFactory::create( {2, 3, 4}); + auto y = NDArrayFactory::create( {2, 3}, {0, 1, 2, 1, 0, 2}); + auto dLdzX = NDArrayFactory::create( {2, 4}); + auto dLdzY = NDArrayFactory::create( {2, 4}); + auto dLdzZ = NDArrayFactory::create( {2, 4}); + auto exp = NDArrayFactory::create( {2,3,4}, {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 3, 3, 3, 3}); x.linspace(1); // dLdzX.linspace(1); // dLdzY.linspace(2); @@ -2218,11 +2219,11 @@ TEST_F(DeclarableOpsTests9, Dynamic_Partition_BP_1) { ////////////////////////////////////////////////////////////////////// //TEST_F(DeclarableOpsTests9, Dynamic_Partition_BP_2) { // -// auto x = NDArrayFactory::create('c', {2, 3, 4}); -// auto y = NDArrayFactory::create('c', {2, 3}, {0, 1, 2, 1, 0, 2}); -// auto dLdzX = NDArrayFactory::create('c', {2, 4}); -// auto dLdzY = NDArrayFactory::create('c', {2, 4}); -// auto dLdzZ = NDArrayFactory::create('c', {2, 4}); +// auto x = NDArrayFactory::create( {2, 3, 4}); +// auto y = NDArrayFactory::create( {2, 3}, {0, 1, 2, 1, 0, 2}); +// auto dLdzX = NDArrayFactory::create( {2, 4}); +// auto dLdzY = NDArrayFactory::create( {2, 4}); +// auto dLdzZ = NDArrayFactory::create( {2, 4}); // x.linspace(1); // dLdzX.linspace(1); // dLdzY.linspace(1); @@ -2242,10 +2243,10 @@ TEST_F(DeclarableOpsTests9, Dynamic_Partition_BP_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, Floormod_BP_Test_4) { - auto x = NDArrayFactory::create('c', {2, 1, 3}, {2.0, 6.0, -3.0, 2.0, 6.0, -3.0}); - auto y = NDArrayFactory::create('c', {1, 3}, {-3.0, 2.0, -2.0}); - auto exp = NDArrayFactory::create('c', {1, 3}, {-1., 0., -1.}); - auto eps = NDArrayFactory::create('c', {2, 1, 3}); + auto x = NDArrayFactory::create( {2, 1, 3}, {2.0, 6.0, -3.0, 2.0, 6.0, -3.0}); + auto y = NDArrayFactory::create( {1, 3}, {-3.0, 2.0, -2.0}); + auto exp = NDArrayFactory::create( {1, 3}, {-1., 0., -1.}); + auto eps = NDArrayFactory::create( {2, 1, 3}); eps.assign(1.f); sd::ops::floormod_bp op; @@ -2328,8 +2329,8 @@ TEST_F(DeclarableOpsTests9, gru_cell_bp_test1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, Cholesky_Test_1) { - NDArray x = NDArrayFactory::create('c', {3, 3}, {4,12,-16, 12 ,37,-43, -16, -43, 98}); - NDArray exp = NDArrayFactory::create('c', {3,3}, {2., 0., 0., 6., 1., 0., -8., 5., 3.}); + NDArray x = NDArrayFactory::create( {3, 3}, {4,12,-16, 12 ,37,-43, -16, -43, 98}); + NDArray exp = NDArrayFactory::create( {3,3}, {2., 0., 0., 6., 1., 0., -8., 5., 3.}); sd::ops::cholesky op; @@ -2344,8 +2345,8 @@ TEST_F(DeclarableOpsTests9, Cholesky_Test_1) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, Cholesky_Test_2) { - NDArray x = NDArrayFactory::create('c', {2, 3, 3}, {4, 12,-16, 12 ,37,-43, -16, -43, 98, 1, 1, 1, 1, 2, 2, 1, 2., 6}); - NDArray exp = NDArrayFactory::create('c', {2, 3, 3}, {2., 0., 0., 6., 1., 0., -8., 5., 3., 1., 0., 0., 1., 1., 0,1., 1., 2.}); + NDArray x = NDArrayFactory::create( {2, 3, 3}, {4, 12,-16, 12 ,37,-43, -16, -43, 98, 1, 1, 1, 1, 2, 2, 1, 2., 6}); + NDArray exp = NDArrayFactory::create( {2, 3, 3}, {2., 0., 0., 6., 1., 0., -8., 5., 3., 1., 0., 0., 1., 1., 0,1., 1., 2.}); sd::ops::cholesky op; @@ -2360,8 +2361,8 @@ TEST_F(DeclarableOpsTests9, Cholesky_Test_2) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, Cholesky_Test_3) { - NDArray x = NDArrayFactory::create('c', {2, 3, 3}, {4.f, 12.f, -16.f, 12.f, 37.f, -43.f, -16.f, -43.f, 98.f, 1.f, 1.f, 1.f, 1.f, 2.f, 2.f, 1.f, 2.f, 6.f}); - NDArray exp = NDArrayFactory::create('c', {2, 3, 3}, {2.f, 0.f, 0.f, 6.f, 1.f, 0.f, -8.f, 5.f, 3.f, 1.f, 0.f, 0.f, 1.f, 1.f, 0.f, 1.f, 1.f, 2.f}); + NDArray x = NDArrayFactory::create( {2, 3, 3}, {4.f, 12.f, -16.f, 12.f, 37.f, -43.f, -16.f, -43.f, 98.f, 1.f, 1.f, 1.f, 1.f, 2.f, 2.f, 1.f, 2.f, 6.f}); + NDArray exp = NDArrayFactory::create( {2, 3, 3}, {2.f, 0.f, 0.f, 6.f, 1.f, 0.f, -8.f, 5.f, 3.f, 1.f, 0.f, 0.f, 1.f, 1.f, 0.f, 1.f, 1.f, 2.f}); sd::ops::cholesky op; From 2d46758d88812c2c9a07d1fa25f62ea6620c3c93 Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 22 Jun 2020 12:17:02 +0300 Subject: [PATCH 63/99] Fixed tests due refactored create methods. Signed-off-by: shugeo --- libnd4j/tests_cpu/layers_tests/EmptyTests.cpp | 57 +++++++++++-------- .../layers_tests/FlatBuffersTests.cpp | 14 ++--- .../tests_cpu/layers_tests/FlatUtilsTests.cpp | 8 +-- 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp b/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp index 1fb99daf4984..d5176f080e40 100644 --- a/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp @@ -21,7 +21,6 @@ #include "testlayers.h" #include #include -// #include using namespace sd; @@ -35,7 +34,7 @@ class EmptyTests : public testing::Test { } }; -TEST_F(EmptyTests, Test_Create_Empty_1 { +TEST_F(EmptyTests, Test_Create_Empty_1) { auto empty = NDArrayFactory::empty(); ASSERT_TRUE(empty.isEmpty()); @@ -47,8 +46,8 @@ TEST_F(EmptyTests, Test_Create_Empty_1 { } TEST_F(EmptyTests, Test_Concat_1) { - NDArray empty('c', {0}, sd::DataType::FLOAT32);//NDArrayFactory::create_('c', {(Nd4jLong)0}}; - auto vector = NDArrayFactory::create('c', {1}, {1.0f}); + NDArray empty('c', {0}, sd::DataType::FLOAT32);//NDArrayFactory::create_( {(Nd4jLong)0}}; + auto vector = NDArrayFactory::create( {1}, {1.0f}); ASSERT_TRUE(empty.isEmpty()); @@ -61,17 +60,17 @@ TEST_F(EmptyTests, Test_Concat_1) { // z->printShapeInfo("z shape"); // z->printIndexedBuffer("z buffr"); - ASSERT_EQ(*vector, *z); + ASSERT_EQ(vector, *z); } TEST_F(EmptyTests, Test_Concat_2) { NDArray empty('c', {0}, sd::DataType::FLOAT32); //NDArrayFactory::empty_(); - auto scalar1 = NDArrayFactory::create('c', {1}, {1.0f}); - auto scalar2 = NDArrayFactory::create('c', {1}, {2.0f}); - auto exp = NDArrayFactory::create('c', {2}, {1.f, 2.f}); + auto scalar1 = NDArrayFactory::create( {1}, {1.0f}); + auto scalar2 = NDArrayFactory::create( {1}, {2.0f}); + auto exp = NDArrayFactory::create( {2}, {1.f, 2.f}); - ASSERT_TRUE(empty->isEmpty()); + ASSERT_TRUE(empty.isEmpty()); sd::ops::concat op; auto result = op.evaluate({&empty, &scalar1, &scalar2}, {}, {0}); @@ -90,7 +89,7 @@ TEST_F(EmptyTests, Test_Concat_3) { auto empty = NDArrayFactory::empty(); //NDArrayFactory::empty_(); auto scalar1 = NDArrayFactory::create(1.0f); auto scalar2 = NDArrayFactory::create(2.0f); - auto exp = NDArrayFactory::create('c', {2}, {1.f, 2.f}); + auto exp = NDArrayFactory::create( {2}, {1.f, 2.f}); ASSERT_TRUE(empty.isEmpty()); @@ -108,7 +107,7 @@ TEST_F(EmptyTests, Test_Concat_4) { auto empty = NDArrayFactory::empty(); //NDArrayFactory::empty_(); auto scalar1 = NDArrayFactory::create(1.0f); auto scalar2 = NDArrayFactory::create(2.0f); - auto exp = NDArrayFactory::create('c', {2}, {1.f, 2.f}); + auto exp = NDArrayFactory::create( {2}, {1.f, 2.f}); ASSERT_TRUE(empty.isEmpty()); @@ -131,10 +130,18 @@ TEST_F(EmptyTests, Test_dup_1) { delete dup; } +TEST_F(EmptyTests, Test_dup_2) { + auto empty = NDArrayFactory::empty(); + auto dup = empty.dup(); + + ASSERT_TRUE(dup.isEmpty()); + ASSERT_EQ(empty, dup); +} + TEST_F(EmptyTests, test_empty_scatter_1) { - auto x = NDArrayFactory::create('c', {5}); - auto indices = NDArrayFactory::create('c', {0}); - auto updates = NDArrayFactory::create('c', {0}); + auto x = NDArrayFactory::create( {5}); + auto indices = NDArrayFactory::create( {0}); + auto updates = NDArrayFactory::create( {0}); x.linspace(1.0f); @@ -150,8 +157,8 @@ TEST_F(EmptyTests, test_empty_scatter_1) { TEST_F(EmptyTests, test_empty_scatter_2) { NDArray x ('c', {5}, sd::DataType::FLOAT32); NDArray z ('c', {5}, sd::DataType::FLOAT32); - auto indices = NDArrayFactory::create('c', {0}); - auto updates = NDArrayFactory::create('c', {0}); + auto indices = NDArrayFactory::create( {0}); + auto updates = NDArrayFactory::create( {0}); x.linspace(1.0f); @@ -164,7 +171,7 @@ TEST_F(EmptyTests, test_empty_scatter_2) { } TEST_F(EmptyTests, test_shaped_empty_1) { - auto empty = NDArrayFactory::create('c', {2, 0, 3}); + auto empty = NDArrayFactory::create( {2, 0, 3}); std::vector shape = {2, 0, 3}; ASSERT_EQ(sd::DataType::FLOAT32, empty.dataType()); @@ -175,7 +182,7 @@ TEST_F(EmptyTests, test_shaped_empty_1) { } TEST_F(EmptyTests, test_shaped_empty_2) { - auto empty = NDArrayFactory::create('c', {0, 3}); + auto empty = NDArrayFactory::create( {0, 3}); std::vector shape = {0, 3}; ASSERT_EQ(sd::DataType::FLOAT32, empty.dataType()); @@ -186,7 +193,7 @@ TEST_F(EmptyTests, test_shaped_empty_2) { } TEST_F(EmptyTests, test_shaped_empty_3) { - auto empty = NDArrayFactory::create('c', {0}); + auto empty = NDArrayFactory::create( {0}); std::vector shape = {0}; ASSERT_EQ(sd::DataType::FLOAT32, empty.dataType()); @@ -208,9 +215,9 @@ TEST_F(EmptyTests, test_shaped_empty_4) { TEST_F(EmptyTests, test_empty_matmul_1) { - auto x = NDArrayFactory::create('c', {0, 1}); - auto y = NDArrayFactory::create('c', {1, 0}); - auto e = NDArrayFactory::create('c', {0, 0}); + auto x = NDArrayFactory::create( {0, 1}); + auto y = NDArrayFactory::create( {1, 0}); + auto e = NDArrayFactory::create( {0, 0}); sd::ops::matmul op; auto result = op.evaluate({&x, &y}, {}, {}); @@ -222,9 +229,9 @@ TEST_F(EmptyTests, test_empty_matmul_1) { } TEST_F(EmptyTests, test_empty_matmul_2) { - auto x = NDArrayFactory::create('c', {1, 0, 4}); - auto y = NDArrayFactory::create('c', {1, 4, 0}); - auto e = NDArrayFactory::create('c', {1, 0, 0}); + auto x = NDArrayFactory::create( {1, 0, 4}); + auto y = NDArrayFactory::create( {1, 4, 0}); + auto e = NDArrayFactory::create( {1, 0, 0}); sd::ops::matmul op; auto result = op.evaluate({&x, &y}, {}, {}); diff --git a/libnd4j/tests_cpu/layers_tests/FlatBuffersTests.cpp b/libnd4j/tests_cpu/layers_tests/FlatBuffersTests.cpp index bdb8bde681f0..702937b52b9e 100644 --- a/libnd4j/tests_cpu/layers_tests/FlatBuffersTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/FlatBuffersTests.cpp @@ -88,7 +88,7 @@ TEST_F(FlatBuffersTest, BasicTest1) { TEST_F(FlatBuffersTest, FlatGraphTest1) { flatbuffers::FlatBufferBuilder builder(4096); - auto array = NDArrayFactory::create_('c', {5, 5}); + auto array = NDArrayFactory::create_( {5, 5}); array->assign(-2.0f); auto fShape = builder.CreateVector(array->getShapeInfoAsFlatVector()); @@ -538,7 +538,7 @@ TEST_F(FlatBuffersTest, ReadStridedSlice_1) { TEST_F(FlatBuffersTest, ReduceDim_1) { - auto exp = NDArrayFactory::create('c', {3}); + auto exp = NDArrayFactory::create( {3}); exp.assign(3.0); @@ -571,7 +571,7 @@ TEST_F(FlatBuffersTest, ReduceDim_1) { } TEST_F(FlatBuffersTest, ReduceDim_2) { - auto exp = NDArrayFactory::create('c', {3, 1}); + auto exp = NDArrayFactory::create( {3, 1}); exp.assign(3.0); @@ -609,7 +609,7 @@ TEST_F(FlatBuffersTest, Ae_00) { auto graph = GraphExecutioner::importFromFlatBuffers("./resources/ae_00.fb"); - auto exp = NDArrayFactory::create('c', {5, 4}, {0.32454616f, -0.06604697f, 0.22593613f, 0.43166467f, -0.18320604f, 0.00102305f, -0.06963076f, 0.25266643f, 0.07568010f, -0.03009197f, 0.07805517f, 0.33180334f, -0.06220427f, 0.07249600f, -0.06726961f, -0.22998397f, -0.06343779f, 0.07384885f, -0.06891008f, -0.23745790f}); + auto exp = NDArrayFactory::create( {5, 4}, {0.32454616f, -0.06604697f, 0.22593613f, 0.43166467f, -0.18320604f, 0.00102305f, -0.06963076f, 0.25266643f, 0.07568010f, -0.03009197f, 0.07805517f, 0.33180334f, -0.06220427f, 0.07249600f, -0.06726961f, -0.22998397f, -0.06343779f, 0.07384885f, -0.06891008f, -0.23745790f}); // graph->printOut(); @@ -631,7 +631,7 @@ TEST_F(FlatBuffersTest, Ae_00) { TEST_F(FlatBuffersTest, expand_dims) { sd::ops::rank op1; - auto exp = NDArrayFactory::create('c', {3, 1, 4}, {-0.95938617f, -1.20301781f, 1.22260064f, 0.50172403f, 0.59972949f, 0.78568028f, 0.31609724f, 1.51674747f, 0.68013491f, -0.05227458f, 0.25903158f, 1.13243439f}); + auto exp = NDArrayFactory::create( {3, 1, 4}, {-0.95938617f, -1.20301781f, 1.22260064f, 0.50172403f, 0.59972949f, 0.78568028f, 0.31609724f, 1.51674747f, 0.68013491f, -0.05227458f, 0.25903158f, 1.13243439f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/expand_dim.fb"); @@ -714,7 +714,7 @@ TEST_F(FlatBuffersTest, Test_TensorDotMisc) { Environment::getInstance()->setVerbose(false); Environment::getInstance()->setDebug(false); - auto e = NDArrayFactory::create('c', {1, 3, 16, 20}, {4.f, 6.f, 6.f, 5.f, 6.f, 4.f, 2.f, 3.f, 5.f, 5.f, 1.f, 4.f, 6.f, 3.f, 2.f, 1.f, 5.f, 4.f, 4.f, 4.f, 4.f, 4.f, 3.f, 4.f, 2.f, 3.f, 3.f, 5.f, 3.f, 6.f, 5.f, 4.f, 4.f, 3.f, 6.f, 1.f, 2.f, 4.f, 2.f, 6.f, 4.f, 2.f, 3.f, 2.f, 3.f, 1.f, 2.f, 4.f, 3.f, 5.f, 3.f, 3.f, 5.f, 2.f, 6.f, 3.f, 4.f, 4.f, 4.f, 4.f, 6.f, 4.f, 5.f, 2.f, 5.f, 5.f, 5.f, 5.f, 2.f, 4.f, 4.f, 4.f, 5.f, 4.f, 3.f, 6.f, 3.f, 4.f, 5.f, 2.f, 5.f, 4.f, 4.f, 5.f, 4.f, 3.f, 4.f, 5.f, 5.f, 3.f, 5.f, 6.f, 6.f, 3.f, 4.f, 5.f, 7.f, 6.f, 5.f, 2.f, 4.f, 5.f, 5.f, 4.f, 5.f, 4.f, 4.f, 6.f, 3.f, 4.f, 5.f, 4.f, 6.f, 2.f, 3.f, 4.f, 3.f, 3.f, 2.f, 2.f, 3.f, 4.f, 7.f, 3.f, 5.f, 4.f, 5.f, 4.f, 4.f, 4.f, 4.f, 6.f, 2.f, 3.f, 2.f, 5.f, 5.f, 4.f, 5.f, 2.f, 2.f, 1.f, 6.f, 2.f, 2.f, 3.f, 4.f, 5.f, 5.f, 3.f, 6.f, 6.f, 4.f, 3.f, 3.f, 3.f, 3.f, 3.f, 4.f, 5.f, 4.f, 4.f, 3.f, 5.f, 2.f, 3.f, 4.f, 5.f, 3.f, 4.f, 5.f, 5.f, 8.f, 4.f, 5.f, 3.f, 3.f, 4.f, 4.f, 5.f, 4.f, 5.f, 3.f, 3.f, 7.f, 2.f, 3.f, 2.f, 6.f, 6.f, 4.f, 4.f, 3.f, 5.f, 6.f, 2.f, 4.f, 3.f, 3.f, 4.f, 5.f, 3.f, 3.f, 6.f, 5.f, 3.f, 2.f, 5.f, 4.f, 4.f, 3.f, 5.f, 5.f, 6.f, 7.f, 3.f, 4.f, 3.f, 5.f, 6.f, 7.f, 5.f, 6.f, 5.f, 7.f, 4.f, 6.f, 5.f, 5.f, 6.f, 4.f, 2.f, 5.f, 4.f, 3.f, 4.f, 1.f, 5.f, 5.f, 3.f, 2.f, 2.f, 6.f, 5.f, 5.f, 2.f, 5.f, 2.f, 4.f, 4.f, 5.f, 5.f, 4.f, 3.f, 7.f, 4.f, 5.f, 3.f, 3.f, 3.f, 2.f, 3.f, 2.f, 3.f, 3.f, 4.f, 4.f, 2.f, 4.f, 5.f, 3.f, 4.f, 5.f, 3.f, 7.f, 2.f, 1.f, 3.f, 2.f, 3.f, 2.f, 3.f, 3.f, 4.f, 3.f, 4.f, 2.f, 4.f, 4.f, 4.f, 5.f, 3.f, 5.f, 3.f, 6.f, 6.f, 5.f, 3.f, 5.f, 3.f, 4.f, 3.f, 5.f, 3.f, 5.f, 6.f, 5.f, 3.f, 4.f, 5.f, 5.f, 3.f, 3.f, 3.f, 4.f, 6.f, 4.f, 3.f, 7.f, 4.f, 4.f, 6.f, 7.f, 5.f, 5.f, 3.f, 1.f, 2.f, 5.f, 5.f, 2.f, 5.f, 7.f, 5.f, 3.f, 1.f, 4.f, 6.f, 5.f, 7.f, 5.f, 6.f, 5.f, 6.f, 4.f, 3.f, 3.f, 4.f, 3.f, 4.f, 4.f, 4.f, 4.f, 3.f, 5.f, 2.f, 4.f, 5.f, 2.f, 5.f, 5.f, 4.f, 5.f, 4.f, 5.f, 2.f, 3.f, 5.f, 3.f, 6.f, 3.f, 4.f, 5.f, 3.f, 6.f, 5.f, 5.f, 6.f, 4.f, 6.f, 7.f, 4.f, 5.f, 3.f, 5.f, 4.f, 4.f, 4.f, 2.f, 2.f, 5.f, 3.f, 5.f, 3.f, 4.f, 6.f, 3.f, 5.f, 5.f, 3.f, 5.f, 4.f, 4.f, 4.f, 5.f, 2.f, 3.f, 5.f, 4.f, 2.f, 4.f, 5.f, 4.f, 2.f, 3.f, 4.f, 4.f, 5.f, 5.f, 1.f, 4.f, 4.f, 4.f, 3.f, 4.f, 5.f, 5.f, 8.f, 4.f, 4.f, 4.f, 3.f, 6.f, 2.f, 3.f, 4.f, 4.f, 4.f, 3.f, 2.f, 3.f, 4.f, 8.f, 3.f, 5.f, 5.f, 5.f, 3.f, 3.f, 4.f, 5.f, 7.f, 3.f, 3.f, 3.f, 6.f, 6.f, 5.f, 5.f, 3.f, 4.f, 3.f, 8.f, 3.f, 4.f, 2.f, 3.f, 4.f, 4.f, 3.f, 5.f, 5.f, 3.f, 2.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 6.f, 6.f, 5.f, 6.f, 4.f, 5.f, 4.f, 6.f, 4.f, 5.f, 5.f, 4.f, 7.f, 3.f, 5.f, 5.f, 3.f, 5.f, 5.f, 6.f, 4.f, 5.f, 4.f, 2.f, 7.f, 2.f, 3.f, 1.f, 4.f, 5.f, 5.f, 4.f, 4.f, 5.f, 7.f, 2.f, 3.f, 3.f, 4.f, 4.f, 5.f, 3.f, 3.f, 6.f, 6.f, 3.f, 2.f, 4.f, 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 5.f, 1.f, 2.f, 3.f, 3.f, 4.f, 5.f, 4.f, 5.f, 4.f, 5.f, 6.f, 6.f, 6.f, 6.f, 7.f, 4.f, 3.f, 4.f, 5.f, 4.f, 4.f, 2.f, 5.f, 6.f, 4.f, 2.f, 2.f, 6.f, 5.f, 5.f, 1.f, 4.f, 2.f, 3.f, 4.f, 5.f, 5.f, 4.f, 5.f, 9.f, 4.f, 6.f, 4.f, 5.f, 5.f, 3.f, 4.f, 5.f, 5.f, 5.f, 4.f, 3.f, 1.f, 3.f, 4.f, 3.f, 4.f, 4.f, 3.f, 6.f, 2.f, 3.f, 3.f, 2.f, 3.f, 3.f, 4.f, 5.f, 6.f, 5.f, 5.f, 3.f, 4.f, 5.f, 5.f, 4.f, 3.f, 4.f, 3.f, 6.f, 7.f, 6.f, 4.f, 6.f, 4.f, 3.f, 3.f, 4.f, 3.f, 5.f, 5.f, 4.f, 2.f, 3.f, 4.f, 5.f, 3.f, 4.f, 2.f, 4.f, 5.f, 3.f, 3.f, 7.f, 4.f, 2.f, 5.f, 6.f, 5.f, 5.f, 3.f, 1.f, 2.f, 4.f, 4.f, 1.f, 3.f, 6.f, 3.f, 3.f, 1.f, 4.f, 4.f, 4.f, 5.f, 3.f, 4.f, 3.f, 4.f, 2.f, 3.f, 3.f, 4.f, 3.f, 4.f, 3.f, 3.f, 4.f, 2.f, 5.f, 1.f, 3.f, 4.f, 2.f, 6.f, 4.f, 3.f, 4.f, 3.f, 3.f, 1.f, 2.f, 5.f, 2.f, 6.f, 4.f, 5.f, 6.f, 3.f, 6.f, 4.f, 4.f, 5.f, 3.f, 5.f, 6.f, 3.f, 4.f, 2.f, 4.f, 5.f, 5.f, 5.f, 2.f, 3.f, 4.f, 3.f, 5.f, 3.f, 3.f, 9.f, 6.f, 7.f, 7.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 3.f, 4.f, 6.f, 5.f, 3.f, 5.f, 5.f, 5.f, 2.f, 4.f, 6.f, 7.f, 7.f, 5.f, 3.f, 4.f, 5.f, 4.f, 4.f, 5.f, 5.f, 5.f, 8.f, 4.f, 4.f, 4.f, 3.f, 5.f, 3.f, 3.f, 4.f, 4.f, 5.f, 3.f, 3.f, 2.f, 3.f, 6.f, 2.f, 5.f, 4.f, 4.f, 3.f, 3.f, 3.f, 5.f, 7.f, 2.f, 3.f, 2.f, 5.f, 5.f, 4.f, 4.f, 2.f, 2.f, 1.f, 6.f, 1.f, 2.f, 2.f, 3.f, 5.f, 4.f, 3.f, 5.f, 5.f, 3.f, 2.f, 2.f, 2.f, 2.f, 4.f, 3.f, 4.f, 4.f, 4.f, 4.f, 5.f, 2.f, 4.f, 4.f, 5.f, 2.f, 4.f, 4.f, 5.f, 9.f, 4.f, 5.f, 4.f, 3.f, 5.f, 5.f, 6.f, 4.f, 4.f, 3.f, 3.f, 6.f, 2.f, 3.f, 2.f, 5.f, 6.f, 4.f, 4.f, 3.f, 5.f, 6.f, 4.f, 5.f, 5.f, 6.f, 7.f, 4.f, 2.f, 3.f, 5.f, 4.f, 4.f, 3.f, 5.f, 5.f, 4.f, 3.f, 4.f, 5.f, 4.f, 6.f, 3.f, 4.f, 4.f, 5.f, 6.f, 6.f, 4.f, 6.f, 6.f, 6.f, 5.f, 6.f, 6.f, 7.f, 7.f, 4.f, 3.f, 4.f, 4.f, 4.f, 5.f, 2.f, 5.f, 7.f, 5.f, 2.f, 1.f, 5.f, 5.f, 4.f, 1.f, 4.f, 1.f, 3.f, 3.f, 5.f, 4.f, 4.f, 3.f, 7.f, 3.f, 6.f, 3.f, 3.f, 4.f, 1.f, 3.f, 2.f, 3.f, 3.f, 4.f, 3.f, 1.f, 3.f, 4.f, 2.f, 4.f, 4.f, 2.f, 6.f, 1.f, 2.f, 2.f, 2.f, 3.f, 2.f, 3.f, 3.f, 4.f, 4.f, 4.f, 2.f, 4.f, 4.f, 4.f, 5.f, 5.f, 5.f, 4.f, 8.f, 5.f, 5.f, 3.f, 5.f, 3.f, 3.f, 2.f, 4.f, 3.f, 5.f, 6.f, 5.f, 3.f, 4.f, 5.f, 5.f, 3.f, 4.f, 3.f, 4.f, 8.f, 6.f, 5.f, 9.f, 6.f}); + auto e = NDArrayFactory::create( {1, 3, 16, 20}, {4.f, 6.f, 6.f, 5.f, 6.f, 4.f, 2.f, 3.f, 5.f, 5.f, 1.f, 4.f, 6.f, 3.f, 2.f, 1.f, 5.f, 4.f, 4.f, 4.f, 4.f, 4.f, 3.f, 4.f, 2.f, 3.f, 3.f, 5.f, 3.f, 6.f, 5.f, 4.f, 4.f, 3.f, 6.f, 1.f, 2.f, 4.f, 2.f, 6.f, 4.f, 2.f, 3.f, 2.f, 3.f, 1.f, 2.f, 4.f, 3.f, 5.f, 3.f, 3.f, 5.f, 2.f, 6.f, 3.f, 4.f, 4.f, 4.f, 4.f, 6.f, 4.f, 5.f, 2.f, 5.f, 5.f, 5.f, 5.f, 2.f, 4.f, 4.f, 4.f, 5.f, 4.f, 3.f, 6.f, 3.f, 4.f, 5.f, 2.f, 5.f, 4.f, 4.f, 5.f, 4.f, 3.f, 4.f, 5.f, 5.f, 3.f, 5.f, 6.f, 6.f, 3.f, 4.f, 5.f, 7.f, 6.f, 5.f, 2.f, 4.f, 5.f, 5.f, 4.f, 5.f, 4.f, 4.f, 6.f, 3.f, 4.f, 5.f, 4.f, 6.f, 2.f, 3.f, 4.f, 3.f, 3.f, 2.f, 2.f, 3.f, 4.f, 7.f, 3.f, 5.f, 4.f, 5.f, 4.f, 4.f, 4.f, 4.f, 6.f, 2.f, 3.f, 2.f, 5.f, 5.f, 4.f, 5.f, 2.f, 2.f, 1.f, 6.f, 2.f, 2.f, 3.f, 4.f, 5.f, 5.f, 3.f, 6.f, 6.f, 4.f, 3.f, 3.f, 3.f, 3.f, 3.f, 4.f, 5.f, 4.f, 4.f, 3.f, 5.f, 2.f, 3.f, 4.f, 5.f, 3.f, 4.f, 5.f, 5.f, 8.f, 4.f, 5.f, 3.f, 3.f, 4.f, 4.f, 5.f, 4.f, 5.f, 3.f, 3.f, 7.f, 2.f, 3.f, 2.f, 6.f, 6.f, 4.f, 4.f, 3.f, 5.f, 6.f, 2.f, 4.f, 3.f, 3.f, 4.f, 5.f, 3.f, 3.f, 6.f, 5.f, 3.f, 2.f, 5.f, 4.f, 4.f, 3.f, 5.f, 5.f, 6.f, 7.f, 3.f, 4.f, 3.f, 5.f, 6.f, 7.f, 5.f, 6.f, 5.f, 7.f, 4.f, 6.f, 5.f, 5.f, 6.f, 4.f, 2.f, 5.f, 4.f, 3.f, 4.f, 1.f, 5.f, 5.f, 3.f, 2.f, 2.f, 6.f, 5.f, 5.f, 2.f, 5.f, 2.f, 4.f, 4.f, 5.f, 5.f, 4.f, 3.f, 7.f, 4.f, 5.f, 3.f, 3.f, 3.f, 2.f, 3.f, 2.f, 3.f, 3.f, 4.f, 4.f, 2.f, 4.f, 5.f, 3.f, 4.f, 5.f, 3.f, 7.f, 2.f, 1.f, 3.f, 2.f, 3.f, 2.f, 3.f, 3.f, 4.f, 3.f, 4.f, 2.f, 4.f, 4.f, 4.f, 5.f, 3.f, 5.f, 3.f, 6.f, 6.f, 5.f, 3.f, 5.f, 3.f, 4.f, 3.f, 5.f, 3.f, 5.f, 6.f, 5.f, 3.f, 4.f, 5.f, 5.f, 3.f, 3.f, 3.f, 4.f, 6.f, 4.f, 3.f, 7.f, 4.f, 4.f, 6.f, 7.f, 5.f, 5.f, 3.f, 1.f, 2.f, 5.f, 5.f, 2.f, 5.f, 7.f, 5.f, 3.f, 1.f, 4.f, 6.f, 5.f, 7.f, 5.f, 6.f, 5.f, 6.f, 4.f, 3.f, 3.f, 4.f, 3.f, 4.f, 4.f, 4.f, 4.f, 3.f, 5.f, 2.f, 4.f, 5.f, 2.f, 5.f, 5.f, 4.f, 5.f, 4.f, 5.f, 2.f, 3.f, 5.f, 3.f, 6.f, 3.f, 4.f, 5.f, 3.f, 6.f, 5.f, 5.f, 6.f, 4.f, 6.f, 7.f, 4.f, 5.f, 3.f, 5.f, 4.f, 4.f, 4.f, 2.f, 2.f, 5.f, 3.f, 5.f, 3.f, 4.f, 6.f, 3.f, 5.f, 5.f, 3.f, 5.f, 4.f, 4.f, 4.f, 5.f, 2.f, 3.f, 5.f, 4.f, 2.f, 4.f, 5.f, 4.f, 2.f, 3.f, 4.f, 4.f, 5.f, 5.f, 1.f, 4.f, 4.f, 4.f, 3.f, 4.f, 5.f, 5.f, 8.f, 4.f, 4.f, 4.f, 3.f, 6.f, 2.f, 3.f, 4.f, 4.f, 4.f, 3.f, 2.f, 3.f, 4.f, 8.f, 3.f, 5.f, 5.f, 5.f, 3.f, 3.f, 4.f, 5.f, 7.f, 3.f, 3.f, 3.f, 6.f, 6.f, 5.f, 5.f, 3.f, 4.f, 3.f, 8.f, 3.f, 4.f, 2.f, 3.f, 4.f, 4.f, 3.f, 5.f, 5.f, 3.f, 2.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 6.f, 6.f, 5.f, 6.f, 4.f, 5.f, 4.f, 6.f, 4.f, 5.f, 5.f, 4.f, 7.f, 3.f, 5.f, 5.f, 3.f, 5.f, 5.f, 6.f, 4.f, 5.f, 4.f, 2.f, 7.f, 2.f, 3.f, 1.f, 4.f, 5.f, 5.f, 4.f, 4.f, 5.f, 7.f, 2.f, 3.f, 3.f, 4.f, 4.f, 5.f, 3.f, 3.f, 6.f, 6.f, 3.f, 2.f, 4.f, 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 5.f, 1.f, 2.f, 3.f, 3.f, 4.f, 5.f, 4.f, 5.f, 4.f, 5.f, 6.f, 6.f, 6.f, 6.f, 7.f, 4.f, 3.f, 4.f, 5.f, 4.f, 4.f, 2.f, 5.f, 6.f, 4.f, 2.f, 2.f, 6.f, 5.f, 5.f, 1.f, 4.f, 2.f, 3.f, 4.f, 5.f, 5.f, 4.f, 5.f, 9.f, 4.f, 6.f, 4.f, 5.f, 5.f, 3.f, 4.f, 5.f, 5.f, 5.f, 4.f, 3.f, 1.f, 3.f, 4.f, 3.f, 4.f, 4.f, 3.f, 6.f, 2.f, 3.f, 3.f, 2.f, 3.f, 3.f, 4.f, 5.f, 6.f, 5.f, 5.f, 3.f, 4.f, 5.f, 5.f, 4.f, 3.f, 4.f, 3.f, 6.f, 7.f, 6.f, 4.f, 6.f, 4.f, 3.f, 3.f, 4.f, 3.f, 5.f, 5.f, 4.f, 2.f, 3.f, 4.f, 5.f, 3.f, 4.f, 2.f, 4.f, 5.f, 3.f, 3.f, 7.f, 4.f, 2.f, 5.f, 6.f, 5.f, 5.f, 3.f, 1.f, 2.f, 4.f, 4.f, 1.f, 3.f, 6.f, 3.f, 3.f, 1.f, 4.f, 4.f, 4.f, 5.f, 3.f, 4.f, 3.f, 4.f, 2.f, 3.f, 3.f, 4.f, 3.f, 4.f, 3.f, 3.f, 4.f, 2.f, 5.f, 1.f, 3.f, 4.f, 2.f, 6.f, 4.f, 3.f, 4.f, 3.f, 3.f, 1.f, 2.f, 5.f, 2.f, 6.f, 4.f, 5.f, 6.f, 3.f, 6.f, 4.f, 4.f, 5.f, 3.f, 5.f, 6.f, 3.f, 4.f, 2.f, 4.f, 5.f, 5.f, 5.f, 2.f, 3.f, 4.f, 3.f, 5.f, 3.f, 3.f, 9.f, 6.f, 7.f, 7.f, 4.f, 4.f, 3.f, 3.f, 4.f, 4.f, 3.f, 4.f, 6.f, 5.f, 3.f, 5.f, 5.f, 5.f, 2.f, 4.f, 6.f, 7.f, 7.f, 5.f, 3.f, 4.f, 5.f, 4.f, 4.f, 5.f, 5.f, 5.f, 8.f, 4.f, 4.f, 4.f, 3.f, 5.f, 3.f, 3.f, 4.f, 4.f, 5.f, 3.f, 3.f, 2.f, 3.f, 6.f, 2.f, 5.f, 4.f, 4.f, 3.f, 3.f, 3.f, 5.f, 7.f, 2.f, 3.f, 2.f, 5.f, 5.f, 4.f, 4.f, 2.f, 2.f, 1.f, 6.f, 1.f, 2.f, 2.f, 3.f, 5.f, 4.f, 3.f, 5.f, 5.f, 3.f, 2.f, 2.f, 2.f, 2.f, 4.f, 3.f, 4.f, 4.f, 4.f, 4.f, 5.f, 2.f, 4.f, 4.f, 5.f, 2.f, 4.f, 4.f, 5.f, 9.f, 4.f, 5.f, 4.f, 3.f, 5.f, 5.f, 6.f, 4.f, 4.f, 3.f, 3.f, 6.f, 2.f, 3.f, 2.f, 5.f, 6.f, 4.f, 4.f, 3.f, 5.f, 6.f, 4.f, 5.f, 5.f, 6.f, 7.f, 4.f, 2.f, 3.f, 5.f, 4.f, 4.f, 3.f, 5.f, 5.f, 4.f, 3.f, 4.f, 5.f, 4.f, 6.f, 3.f, 4.f, 4.f, 5.f, 6.f, 6.f, 4.f, 6.f, 6.f, 6.f, 5.f, 6.f, 6.f, 7.f, 7.f, 4.f, 3.f, 4.f, 4.f, 4.f, 5.f, 2.f, 5.f, 7.f, 5.f, 2.f, 1.f, 5.f, 5.f, 4.f, 1.f, 4.f, 1.f, 3.f, 3.f, 5.f, 4.f, 4.f, 3.f, 7.f, 3.f, 6.f, 3.f, 3.f, 4.f, 1.f, 3.f, 2.f, 3.f, 3.f, 4.f, 3.f, 1.f, 3.f, 4.f, 2.f, 4.f, 4.f, 2.f, 6.f, 1.f, 2.f, 2.f, 2.f, 3.f, 2.f, 3.f, 3.f, 4.f, 4.f, 4.f, 2.f, 4.f, 4.f, 4.f, 5.f, 5.f, 5.f, 4.f, 8.f, 5.f, 5.f, 3.f, 5.f, 3.f, 3.f, 2.f, 4.f, 3.f, 5.f, 6.f, 5.f, 3.f, 4.f, 5.f, 5.f, 3.f, 4.f, 3.f, 4.f, 8.f, 6.f, 5.f, 9.f, 6.f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/tensor_dot_misc.fb"); // graph->printOut(); @@ -733,7 +733,7 @@ TEST_F(FlatBuffersTest, Test_TensorDotMisc) { TEST_F(FlatBuffersTest, Test_MNIST_00_1) { - auto e = NDArrayFactory::create('c', {100, 10}, {0.00066107f, 0.00002358f, 0.00031518f, 0.00238039f, 0.00027216f, 0.00030300f, 0.00004659f, 0.98962247f, 0.00050380f, 0.00587174f, 0.05895791f, 0.00323104f, 0.52636790f, 0.12912551f, 0.00003951f, 0.03615341f, 0.22013727f, 0.00007333f, 0.02566659f, 0.00024759f, 0.00192367f, 0.90509874f, 0.01985082f, 0.02080356f, 0.00260053f, 0.00497826f, 0.01107823f, 0.00872595f, 0.01559795f, 0.00934229f, 0.98202229f, 0.00000150f, 0.00137381f, 0.00082931f, 0.00001806f, 0.00384426f, 0.00758274f, 0.00305049f, 0.00052152f, 0.00075617f, 0.01094264f, 0.00044708f, 0.03576852f, 0.00711267f, 0.65963465f, 0.00734364f, 0.02747800f, 0.06494589f, 0.02966754f, 0.15665947f, 0.00035806f, 0.95196360f, 0.00622721f, 0.01610696f, 0.00084180f, 0.00139947f, 0.00127350f, 0.00577912f, 0.00980321f, 0.00624705f, 0.00167418f, 0.00125611f, 0.00109477f, 0.04061511f, 0.57403159f, 0.08173440f, 0.00423709f, 0.10187119f, 0.07103974f, 0.12244581f, 0.00073566f, 0.00624759f, 0.00559816f, 0.01215601f, 0.08299568f, 0.06209232f, 0.01742392f, 0.01341172f, 0.02181461f, 0.77752429f, 0.08474547f, 0.00957346f, 0.29235491f, 0.00243696f, 0.06653537f, 0.03792902f, 0.43910959f, 0.00344940f, 0.02626713f, 0.03759870f, 0.00143713f, 0.00011047f, 0.00018820f, 0.00047970f, 0.02127167f, 0.00308758f, 0.00093357f, 0.17067374f, 0.00545499f, 0.79636300f, 0.95257199f, 0.00002157f, 0.00647615f, 0.01024892f, 0.00005942f, 0.01910058f, 0.00044579f, 0.00008416f, 0.01097712f, 0.00001441f, 0.16705236f, 0.01782482f, 0.17580827f, 0.06262068f, 0.03860324f, 0.01763505f, 0.32766294f, 0.00555595f, 0.17227779f, 0.01495883f, 0.00180449f, 0.00010494f, 0.00075124f, 0.00161161f, 0.08859238f, 0.00364861f, 0.00162414f, 0.06005199f, 0.00805061f, 0.83375996f, 0.97355360f, 0.00000305f, 0.00144336f, 0.00051544f, 0.00010043f, 0.00714774f, 0.00021183f, 0.00042562f, 0.01294680f, 0.00365222f, 0.00026871f, 0.95752406f, 0.00408361f, 0.02153200f, 0.00015639f, 0.00153930f, 0.00323335f, 0.00178700f, 0.00516464f, 0.00471107f, 0.07408376f, 0.00468759f, 0.02638813f, 0.33325842f, 0.01172767f, 0.36993489f, 0.01118315f, 0.01460529f, 0.14850292f, 0.00562817f, 0.00551083f, 0.00015134f, 0.01184739f, 0.00643833f, 0.11686873f, 0.00163741f, 0.00582776f, 0.11497385f, 0.02010887f, 0.71663547f, 0.00154932f, 0.00001290f, 0.00023825f, 0.01393047f, 0.00012438f, 0.00033184f, 0.00010033f, 0.98197538f, 0.00022847f, 0.00150876f, 0.00597587f, 0.00819661f, 0.03041674f, 0.43121871f, 0.00986523f, 0.13834484f, 0.29576671f, 0.01305170f, 0.03919542f, 0.02796829f, 0.00139392f, 0.00031466f, 0.00229704f, 0.00647669f, 0.86193180f, 0.01064646f, 0.00494287f, 0.00901443f, 0.00526376f, 0.09771839f, 0.00184158f, 0.00040986f, 0.00008309f, 0.01634205f, 0.01102151f, 0.01133229f, 0.00011603f, 0.30489817f, 0.00813993f, 0.64581543f, 0.00132390f, 0.00009014f, 0.00471620f, 0.00419161f, 0.01024686f, 0.02504917f, 0.94500881f, 0.00010234f, 0.00620976f, 0.00306121f, 0.00971363f, 0.05415262f, 0.05265132f, 0.01217585f, 0.16251956f, 0.00188165f, 0.61800343f, 0.04541704f, 0.01950107f, 0.02398386f, 0.05354780f, 0.00129718f, 0.00762409f, 0.06902183f, 0.01746517f, 0.71758413f, 0.04491642f, 0.00194128f, 0.07204670f, 0.01455537f, 0.00356139f, 0.00223315f, 0.01881612f, 0.01844147f, 0.65686893f, 0.01172961f, 0.01321550f, 0.06555344f, 0.00993031f, 0.19965005f, 0.99641657f, 0.00000005f, 0.00027076f, 0.00000523f, 0.00001288f, 0.00173779f, 0.00140848f, 0.00001787f, 0.00012701f, 0.00000342f, 0.00364264f, 0.00040242f, 0.00199880f, 0.01658181f, 0.00522031f, 0.00494563f, 0.00134627f, 0.87392259f, 0.00277323f, 0.08916643f, 0.00200165f, 0.00006030f, 0.00265544f, 0.00137030f, 0.85328883f, 0.00988892f, 0.00416652f, 0.00394441f, 0.00617034f, 0.11645336f, 0.97291315f, 0.00000182f, 0.00194084f, 0.01498440f, 0.00001028f, 0.00389095f, 0.00023297f, 0.00044887f, 0.00528154f, 0.00029516f, 0.00188889f, 0.79829764f, 0.01104437f, 0.04222726f, 0.00522182f, 0.04550264f, 0.03192228f, 0.01099020f, 0.04107348f, 0.01183154f, 0.00058263f, 0.00048307f, 0.00013920f, 0.96885711f, 0.00005209f, 0.01755359f, 0.00061751f, 0.00787173f, 0.00087605f, 0.00296709f, 0.00342248f, 0.68736714f, 0.01477064f, 0.11038199f, 0.00979373f, 0.03290173f, 0.02064420f, 0.03154078f, 0.03068676f, 0.05849051f, 0.00054699f, 0.00028973f, 0.00066918f, 0.79915440f, 0.00078404f, 0.18881910f, 0.00078736f, 0.00024780f, 0.00598373f, 0.00271761f, 0.37178108f, 0.00029151f, 0.11573081f, 0.00016159f, 0.08614764f, 0.05626433f, 0.33961067f, 0.00184490f, 0.01931754f, 0.00884999f, 0.00103338f, 0.00105793f, 0.01583840f, 0.01417849f, 0.00086645f, 0.00075313f, 0.00009471f, 0.92975640f, 0.00786521f, 0.02855594f, 0.00831110f, 0.00041050f, 0.95547730f, 0.01004958f, 0.00024040f, 0.00674337f, 0.01100292f, 0.00229303f, 0.00543977f, 0.00003204f, 0.00073861f, 0.00003656f, 0.00233217f, 0.00864751f, 0.00044351f, 0.00055325f, 0.00046273f, 0.97456056f, 0.00097461f, 0.01125053f, 0.00035382f, 0.94428235f, 0.00286066f, 0.01286138f, 0.00111129f, 0.00731637f, 0.00518610f, 0.00538214f, 0.01197775f, 0.00866815f, 0.06013579f, 0.03228600f, 0.20441757f, 0.54548728f, 0.00006484f, 0.02362618f, 0.05482962f, 0.00106437f, 0.07713205f, 0.00095635f, 0.00029120f, 0.94839782f, 0.00271641f, 0.02038633f, 0.00010249f, 0.00270848f, 0.00299053f, 0.00069419f, 0.01599395f, 0.00571855f, 0.00580072f, 0.81594771f, 0.03097420f, 0.03646614f, 0.00565077f, 0.01715674f, 0.02362122f, 0.01730293f, 0.02312471f, 0.02395495f, 0.00083797f, 0.00032276f, 0.00475549f, 0.00577861f, 0.00193654f, 0.00201117f, 0.00095864f, 0.89032167f, 0.00238766f, 0.09068950f, 0.00007685f, 0.00309113f, 0.00165920f, 0.00566203f, 0.79406202f, 0.00106585f, 0.00073159f, 0.02779965f, 0.01331810f, 0.15253356f, 0.01362522f, 0.17258310f, 0.57671696f, 0.04606603f, 0.02204953f, 0.00909986f, 0.04971812f, 0.00135137f, 0.09417208f, 0.01461779f, 0.00351132f, 0.01659229f, 0.02209206f, 0.77456558f, 0.00303461f, 0.07932901f, 0.06269170f, 0.01151956f, 0.01363456f, 0.01302921f, 0.04056359f, 0.00052574f, 0.00214679f, 0.41835260f, 0.00373941f, 0.47472891f, 0.00819933f, 0.00047488f, 0.04602791f, 0.00524084f, 0.00085833f, 0.19585223f, 0.03986045f, 0.44138056f, 0.01866945f, 0.11297230f, 0.03688592f, 0.03147812f, 0.04306961f, 0.07897298f, 0.00580970f, 0.00654101f, 0.80165571f, 0.01388136f, 0.04366852f, 0.00407737f, 0.07712067f, 0.01289223f, 0.01437380f, 0.01997955f, 0.00013239f, 0.00000585f, 0.00003676f, 0.00288744f, 0.76327205f, 0.00911173f, 0.00025323f, 0.00345270f, 0.00977252f, 0.21107534f, 0.00238540f, 0.00011487f, 0.01707160f, 0.00274678f, 0.85196322f, 0.00066304f, 0.01279381f, 0.02112481f, 0.00446795f, 0.08666852f, 0.01046857f, 0.00011744f, 0.00377885f, 0.00806424f, 0.00110093f, 0.01087467f, 0.96216726f, 0.00024677f, 0.00213707f, 0.00104427f, 0.00835356f, 0.00037980f, 0.00540865f, 0.91882282f, 0.00084274f, 0.03935680f, 0.00700863f, 0.00609934f, 0.00307425f, 0.01065346f, 0.09310398f, 0.00066428f, 0.00076882f, 0.02210450f, 0.04447530f, 0.77650899f, 0.00945148f, 0.00689890f, 0.00886871f, 0.03715509f, 0.07214937f, 0.00624633f, 0.01399398f, 0.29444799f, 0.03825752f, 0.36904955f, 0.02109544f, 0.01373637f, 0.14653027f, 0.02449317f, 0.01878268f, 0.01089148f, 0.36442387f, 0.01426089f, 0.02649262f, 0.00308395f, 0.51123023f, 0.00987128f, 0.02856500f, 0.01239803f, 0.65732223f, 0.00001665f, 0.00257388f, 0.02261361f, 0.00056261f, 0.08028404f, 0.00753943f, 0.00092872f, 0.22300763f, 0.00515121f, 0.00238470f, 0.00001802f, 0.00303019f, 0.00282769f, 0.93392336f, 0.00829813f, 0.00937593f, 0.00232166f, 0.00606702f, 0.03175319f, 0.00192149f, 0.89188498f, 0.01474108f, 0.03585867f, 0.00123343f, 0.00441551f, 0.00399710f, 0.00857630f, 0.01781271f, 0.01955875f, 0.00221238f, 0.00005268f, 0.00038176f, 0.00141851f, 0.07513693f, 0.00153898f, 0.00254140f, 0.04116146f, 0.00216117f, 0.87339473f, 0.17824675f, 0.04543359f, 0.01501061f, 0.03382575f, 0.09682461f, 0.29989448f, 0.02655865f, 0.16809541f, 0.09566309f, 0.04044705f, 0.00052125f, 0.00006512f, 0.00041621f, 0.03254773f, 0.00120942f, 0.00177929f, 0.00091721f, 0.95285058f, 0.00068729f, 0.00900588f, 0.04185560f, 0.00125587f, 0.33473280f, 0.00119652f, 0.00552071f, 0.03358750f, 0.04974457f, 0.00243473f, 0.41644078f, 0.11323092f, 0.00945223f, 0.00509389f, 0.04602458f, 0.02943204f, 0.23871920f, 0.06141117f, 0.05274383f, 0.03511769f, 0.09954999f, 0.42245534f, 0.00686926f, 0.01075546f, 0.49830484f, 0.37111449f, 0.00928881f, 0.00910977f, 0.00822666f, 0.00448587f, 0.04094843f, 0.04089646f, 0.00190534f, 0.00074783f, 0.02465805f, 0.02045769f, 0.02690129f, 0.00249506f, 0.00202899f, 0.84847659f, 0.01121813f, 0.06111111f, 0.00527403f, 0.00617689f, 0.00719898f, 0.17549324f, 0.25461593f, 0.15036304f, 0.04163047f, 0.01647436f, 0.08906800f, 0.25370511f, 0.10200825f, 0.03916828f, 0.22575049f, 0.08762794f, 0.06703069f, 0.01087492f, 0.27197123f, 0.15926389f, 0.02289790f, 0.01340644f, 0.00233572f, 0.00071111f, 0.01389953f, 0.00187034f, 0.89338356f, 0.00067592f, 0.00535080f, 0.02598928f, 0.01003115f, 0.04575264f, 0.00010197f, 0.00006095f, 0.00021980f, 0.99164659f, 0.00011408f, 0.00474983f, 0.00004892f, 0.00012496f, 0.00257160f, 0.00036128f, 0.91125363f, 0.00012225f, 0.02511939f, 0.00156989f, 0.00002669f, 0.03335980f, 0.01791442f, 0.00531134f, 0.00345027f, 0.00187230f, 0.00210833f, 0.00001888f, 0.00016036f, 0.00394190f, 0.00016232f, 0.00026980f, 0.00012382f, 0.99098623f, 0.00036967f, 0.00185874f, 0.99578768f, 0.00000018f, 0.00162244f, 0.00012927f, 0.00000136f, 0.00158810f, 0.00016544f, 0.00000476f, 0.00069853f, 0.00000226f, 0.19834445f, 0.00044551f, 0.40857196f, 0.34896207f, 0.00023418f, 0.00828141f, 0.02426279f, 0.00148875f, 0.00938030f, 0.00002860f, 0.00201644f, 0.06109568f, 0.01542680f, 0.05984236f, 0.00112191f, 0.00419699f, 0.00110061f, 0.28937989f, 0.13231210f, 0.43350723f, 0.00055382f, 0.92216444f, 0.00396460f, 0.01456171f, 0.00061405f, 0.00972675f, 0.00677260f, 0.00454273f, 0.02471014f, 0.01238921f, 0.00027888f, 0.02572848f, 0.00290584f, 0.00748292f, 0.08441166f, 0.00232722f, 0.00188305f, 0.81133318f, 0.01191756f, 0.05173124f, 0.00315098f, 0.00499059f, 0.00158580f, 0.92859417f, 0.00035086f, 0.04807130f, 0.00101955f, 0.00034313f, 0.01119398f, 0.00069962f, 0.00112821f, 0.00214349f, 0.03968662f, 0.00325992f, 0.00253143f, 0.00199443f, 0.00964058f, 0.90529889f, 0.00384289f, 0.03047365f, 0.00174196f, 0.06674320f, 0.00283191f, 0.09274873f, 0.01944309f, 0.03424436f, 0.00694406f, 0.07912937f, 0.15087396f, 0.54529935f, 0.00007096f, 0.00001000f, 0.00001498f, 0.00007066f, 0.00002792f, 0.00005677f, 0.00000490f, 0.99606401f, 0.00030978f, 0.00337013f, 0.00286575f, 0.00011636f, 0.00064778f, 0.00992065f, 0.04501861f, 0.03149971f, 0.00287679f, 0.37334359f, 0.00214695f, 0.53156382f, 0.00600238f, 0.00003215f, 0.02112119f, 0.00084685f, 0.00497269f, 0.00753993f, 0.95174772f, 0.00150877f, 0.00212018f, 0.00410815f, 0.00006566f, 0.00001179f, 0.99827027f, 0.00028396f, 0.00004237f, 0.00000550f, 0.00091406f, 0.00003423f, 0.00036640f, 0.00000567f, 0.00079063f, 0.00006855f, 0.00051338f, 0.00590454f, 0.00732460f, 0.00195139f, 0.00034534f, 0.90222436f, 0.00163695f, 0.07924022f, 0.00362202f, 0.01493629f, 0.01135249f, 0.00781013f, 0.05138498f, 0.22704794f, 0.00442778f, 0.00350683f, 0.59828150f, 0.07762999f, 0.00016529f, 0.00001219f, 0.00006521f, 0.00446292f, 0.94456083f, 0.00407963f, 0.00102245f, 0.00057420f, 0.00344479f, 0.04161252f, 0.00000981f, 0.00030270f, 0.00017082f, 0.00029943f, 0.00010159f, 0.00003605f, 0.00001875f, 0.99310946f, 0.00063157f, 0.00531995f, 0.01100852f, 0.00021492f, 0.00049603f, 0.59714299f, 0.00454595f, 0.33691072f, 0.03074775f, 0.00427598f, 0.00512297f, 0.00953417f, 0.00064403f, 0.00001687f, 0.00822414f, 0.00012918f, 0.02522905f, 0.00046274f, 0.95950085f, 0.00174588f, 0.00070707f, 0.00334025f, 0.00014754f, 0.96842438f, 0.00752080f, 0.00713038f, 0.00074491f, 0.00107368f, 0.00245372f, 0.00181830f, 0.00883226f, 0.00185409f, 0.00210863f, 0.00017522f, 0.00039881f, 0.98836052f, 0.00003650f, 0.00535216f, 0.00001887f, 0.00069545f, 0.00265663f, 0.00019714f, 0.00028919f, 0.00026057f, 0.00356666f, 0.00034738f, 0.00413719f, 0.00133701f, 0.98608136f, 0.00009625f, 0.00153734f, 0.00234698f, 0.01427079f, 0.04020482f, 0.04733688f, 0.03817881f, 0.16299380f, 0.04943828f, 0.03522370f, 0.05902825f, 0.23904003f, 0.31428465f, 0.00029359f, 0.00005619f, 0.00007707f, 0.98437482f, 0.00000957f, 0.00828004f, 0.00002787f, 0.00510217f, 0.00087425f, 0.00090444f, 0.00011413f, 0.83918202f, 0.01017746f, 0.03100164f, 0.00308035f, 0.01615586f, 0.02608237f, 0.00337026f, 0.05493741f, 0.01589854f, 0.00053240f, 0.00144792f, 0.00108170f, 0.00027300f, 0.86477506f, 0.00072790f, 0.01062538f, 0.00428096f, 0.00233054f, 0.11392505f, 0.00411633f, 0.33660546f, 0.01735369f, 0.18114267f, 0.03090077f, 0.11699959f, 0.03416851f, 0.06780743f, 0.07481573f, 0.13608985f, 0.00073468f, 0.20941530f, 0.01012138f, 0.17237675f, 0.01661461f, 0.02184150f, 0.03694551f, 0.30870155f, 0.04255475f, 0.18069389f, 0.06343270f, 0.00037455f, 0.06623310f, 0.00041474f, 0.00209181f, 0.04566626f, 0.81232506f, 0.00054500f, 0.00807252f, 0.00084416f, 0.00008067f, 0.00003926f, 0.00225794f, 0.00115743f, 0.01925980f, 0.00010427f, 0.00062067f, 0.02234522f, 0.00210706f, 0.95202768f}); + auto e = NDArrayFactory::create( {100, 10}, {0.00066107f, 0.00002358f, 0.00031518f, 0.00238039f, 0.00027216f, 0.00030300f, 0.00004659f, 0.98962247f, 0.00050380f, 0.00587174f, 0.05895791f, 0.00323104f, 0.52636790f, 0.12912551f, 0.00003951f, 0.03615341f, 0.22013727f, 0.00007333f, 0.02566659f, 0.00024759f, 0.00192367f, 0.90509874f, 0.01985082f, 0.02080356f, 0.00260053f, 0.00497826f, 0.01107823f, 0.00872595f, 0.01559795f, 0.00934229f, 0.98202229f, 0.00000150f, 0.00137381f, 0.00082931f, 0.00001806f, 0.00384426f, 0.00758274f, 0.00305049f, 0.00052152f, 0.00075617f, 0.01094264f, 0.00044708f, 0.03576852f, 0.00711267f, 0.65963465f, 0.00734364f, 0.02747800f, 0.06494589f, 0.02966754f, 0.15665947f, 0.00035806f, 0.95196360f, 0.00622721f, 0.01610696f, 0.00084180f, 0.00139947f, 0.00127350f, 0.00577912f, 0.00980321f, 0.00624705f, 0.00167418f, 0.00125611f, 0.00109477f, 0.04061511f, 0.57403159f, 0.08173440f, 0.00423709f, 0.10187119f, 0.07103974f, 0.12244581f, 0.00073566f, 0.00624759f, 0.00559816f, 0.01215601f, 0.08299568f, 0.06209232f, 0.01742392f, 0.01341172f, 0.02181461f, 0.77752429f, 0.08474547f, 0.00957346f, 0.29235491f, 0.00243696f, 0.06653537f, 0.03792902f, 0.43910959f, 0.00344940f, 0.02626713f, 0.03759870f, 0.00143713f, 0.00011047f, 0.00018820f, 0.00047970f, 0.02127167f, 0.00308758f, 0.00093357f, 0.17067374f, 0.00545499f, 0.79636300f, 0.95257199f, 0.00002157f, 0.00647615f, 0.01024892f, 0.00005942f, 0.01910058f, 0.00044579f, 0.00008416f, 0.01097712f, 0.00001441f, 0.16705236f, 0.01782482f, 0.17580827f, 0.06262068f, 0.03860324f, 0.01763505f, 0.32766294f, 0.00555595f, 0.17227779f, 0.01495883f, 0.00180449f, 0.00010494f, 0.00075124f, 0.00161161f, 0.08859238f, 0.00364861f, 0.00162414f, 0.06005199f, 0.00805061f, 0.83375996f, 0.97355360f, 0.00000305f, 0.00144336f, 0.00051544f, 0.00010043f, 0.00714774f, 0.00021183f, 0.00042562f, 0.01294680f, 0.00365222f, 0.00026871f, 0.95752406f, 0.00408361f, 0.02153200f, 0.00015639f, 0.00153930f, 0.00323335f, 0.00178700f, 0.00516464f, 0.00471107f, 0.07408376f, 0.00468759f, 0.02638813f, 0.33325842f, 0.01172767f, 0.36993489f, 0.01118315f, 0.01460529f, 0.14850292f, 0.00562817f, 0.00551083f, 0.00015134f, 0.01184739f, 0.00643833f, 0.11686873f, 0.00163741f, 0.00582776f, 0.11497385f, 0.02010887f, 0.71663547f, 0.00154932f, 0.00001290f, 0.00023825f, 0.01393047f, 0.00012438f, 0.00033184f, 0.00010033f, 0.98197538f, 0.00022847f, 0.00150876f, 0.00597587f, 0.00819661f, 0.03041674f, 0.43121871f, 0.00986523f, 0.13834484f, 0.29576671f, 0.01305170f, 0.03919542f, 0.02796829f, 0.00139392f, 0.00031466f, 0.00229704f, 0.00647669f, 0.86193180f, 0.01064646f, 0.00494287f, 0.00901443f, 0.00526376f, 0.09771839f, 0.00184158f, 0.00040986f, 0.00008309f, 0.01634205f, 0.01102151f, 0.01133229f, 0.00011603f, 0.30489817f, 0.00813993f, 0.64581543f, 0.00132390f, 0.00009014f, 0.00471620f, 0.00419161f, 0.01024686f, 0.02504917f, 0.94500881f, 0.00010234f, 0.00620976f, 0.00306121f, 0.00971363f, 0.05415262f, 0.05265132f, 0.01217585f, 0.16251956f, 0.00188165f, 0.61800343f, 0.04541704f, 0.01950107f, 0.02398386f, 0.05354780f, 0.00129718f, 0.00762409f, 0.06902183f, 0.01746517f, 0.71758413f, 0.04491642f, 0.00194128f, 0.07204670f, 0.01455537f, 0.00356139f, 0.00223315f, 0.01881612f, 0.01844147f, 0.65686893f, 0.01172961f, 0.01321550f, 0.06555344f, 0.00993031f, 0.19965005f, 0.99641657f, 0.00000005f, 0.00027076f, 0.00000523f, 0.00001288f, 0.00173779f, 0.00140848f, 0.00001787f, 0.00012701f, 0.00000342f, 0.00364264f, 0.00040242f, 0.00199880f, 0.01658181f, 0.00522031f, 0.00494563f, 0.00134627f, 0.87392259f, 0.00277323f, 0.08916643f, 0.00200165f, 0.00006030f, 0.00265544f, 0.00137030f, 0.85328883f, 0.00988892f, 0.00416652f, 0.00394441f, 0.00617034f, 0.11645336f, 0.97291315f, 0.00000182f, 0.00194084f, 0.01498440f, 0.00001028f, 0.00389095f, 0.00023297f, 0.00044887f, 0.00528154f, 0.00029516f, 0.00188889f, 0.79829764f, 0.01104437f, 0.04222726f, 0.00522182f, 0.04550264f, 0.03192228f, 0.01099020f, 0.04107348f, 0.01183154f, 0.00058263f, 0.00048307f, 0.00013920f, 0.96885711f, 0.00005209f, 0.01755359f, 0.00061751f, 0.00787173f, 0.00087605f, 0.00296709f, 0.00342248f, 0.68736714f, 0.01477064f, 0.11038199f, 0.00979373f, 0.03290173f, 0.02064420f, 0.03154078f, 0.03068676f, 0.05849051f, 0.00054699f, 0.00028973f, 0.00066918f, 0.79915440f, 0.00078404f, 0.18881910f, 0.00078736f, 0.00024780f, 0.00598373f, 0.00271761f, 0.37178108f, 0.00029151f, 0.11573081f, 0.00016159f, 0.08614764f, 0.05626433f, 0.33961067f, 0.00184490f, 0.01931754f, 0.00884999f, 0.00103338f, 0.00105793f, 0.01583840f, 0.01417849f, 0.00086645f, 0.00075313f, 0.00009471f, 0.92975640f, 0.00786521f, 0.02855594f, 0.00831110f, 0.00041050f, 0.95547730f, 0.01004958f, 0.00024040f, 0.00674337f, 0.01100292f, 0.00229303f, 0.00543977f, 0.00003204f, 0.00073861f, 0.00003656f, 0.00233217f, 0.00864751f, 0.00044351f, 0.00055325f, 0.00046273f, 0.97456056f, 0.00097461f, 0.01125053f, 0.00035382f, 0.94428235f, 0.00286066f, 0.01286138f, 0.00111129f, 0.00731637f, 0.00518610f, 0.00538214f, 0.01197775f, 0.00866815f, 0.06013579f, 0.03228600f, 0.20441757f, 0.54548728f, 0.00006484f, 0.02362618f, 0.05482962f, 0.00106437f, 0.07713205f, 0.00095635f, 0.00029120f, 0.94839782f, 0.00271641f, 0.02038633f, 0.00010249f, 0.00270848f, 0.00299053f, 0.00069419f, 0.01599395f, 0.00571855f, 0.00580072f, 0.81594771f, 0.03097420f, 0.03646614f, 0.00565077f, 0.01715674f, 0.02362122f, 0.01730293f, 0.02312471f, 0.02395495f, 0.00083797f, 0.00032276f, 0.00475549f, 0.00577861f, 0.00193654f, 0.00201117f, 0.00095864f, 0.89032167f, 0.00238766f, 0.09068950f, 0.00007685f, 0.00309113f, 0.00165920f, 0.00566203f, 0.79406202f, 0.00106585f, 0.00073159f, 0.02779965f, 0.01331810f, 0.15253356f, 0.01362522f, 0.17258310f, 0.57671696f, 0.04606603f, 0.02204953f, 0.00909986f, 0.04971812f, 0.00135137f, 0.09417208f, 0.01461779f, 0.00351132f, 0.01659229f, 0.02209206f, 0.77456558f, 0.00303461f, 0.07932901f, 0.06269170f, 0.01151956f, 0.01363456f, 0.01302921f, 0.04056359f, 0.00052574f, 0.00214679f, 0.41835260f, 0.00373941f, 0.47472891f, 0.00819933f, 0.00047488f, 0.04602791f, 0.00524084f, 0.00085833f, 0.19585223f, 0.03986045f, 0.44138056f, 0.01866945f, 0.11297230f, 0.03688592f, 0.03147812f, 0.04306961f, 0.07897298f, 0.00580970f, 0.00654101f, 0.80165571f, 0.01388136f, 0.04366852f, 0.00407737f, 0.07712067f, 0.01289223f, 0.01437380f, 0.01997955f, 0.00013239f, 0.00000585f, 0.00003676f, 0.00288744f, 0.76327205f, 0.00911173f, 0.00025323f, 0.00345270f, 0.00977252f, 0.21107534f, 0.00238540f, 0.00011487f, 0.01707160f, 0.00274678f, 0.85196322f, 0.00066304f, 0.01279381f, 0.02112481f, 0.00446795f, 0.08666852f, 0.01046857f, 0.00011744f, 0.00377885f, 0.00806424f, 0.00110093f, 0.01087467f, 0.96216726f, 0.00024677f, 0.00213707f, 0.00104427f, 0.00835356f, 0.00037980f, 0.00540865f, 0.91882282f, 0.00084274f, 0.03935680f, 0.00700863f, 0.00609934f, 0.00307425f, 0.01065346f, 0.09310398f, 0.00066428f, 0.00076882f, 0.02210450f, 0.04447530f, 0.77650899f, 0.00945148f, 0.00689890f, 0.00886871f, 0.03715509f, 0.07214937f, 0.00624633f, 0.01399398f, 0.29444799f, 0.03825752f, 0.36904955f, 0.02109544f, 0.01373637f, 0.14653027f, 0.02449317f, 0.01878268f, 0.01089148f, 0.36442387f, 0.01426089f, 0.02649262f, 0.00308395f, 0.51123023f, 0.00987128f, 0.02856500f, 0.01239803f, 0.65732223f, 0.00001665f, 0.00257388f, 0.02261361f, 0.00056261f, 0.08028404f, 0.00753943f, 0.00092872f, 0.22300763f, 0.00515121f, 0.00238470f, 0.00001802f, 0.00303019f, 0.00282769f, 0.93392336f, 0.00829813f, 0.00937593f, 0.00232166f, 0.00606702f, 0.03175319f, 0.00192149f, 0.89188498f, 0.01474108f, 0.03585867f, 0.00123343f, 0.00441551f, 0.00399710f, 0.00857630f, 0.01781271f, 0.01955875f, 0.00221238f, 0.00005268f, 0.00038176f, 0.00141851f, 0.07513693f, 0.00153898f, 0.00254140f, 0.04116146f, 0.00216117f, 0.87339473f, 0.17824675f, 0.04543359f, 0.01501061f, 0.03382575f, 0.09682461f, 0.29989448f, 0.02655865f, 0.16809541f, 0.09566309f, 0.04044705f, 0.00052125f, 0.00006512f, 0.00041621f, 0.03254773f, 0.00120942f, 0.00177929f, 0.00091721f, 0.95285058f, 0.00068729f, 0.00900588f, 0.04185560f, 0.00125587f, 0.33473280f, 0.00119652f, 0.00552071f, 0.03358750f, 0.04974457f, 0.00243473f, 0.41644078f, 0.11323092f, 0.00945223f, 0.00509389f, 0.04602458f, 0.02943204f, 0.23871920f, 0.06141117f, 0.05274383f, 0.03511769f, 0.09954999f, 0.42245534f, 0.00686926f, 0.01075546f, 0.49830484f, 0.37111449f, 0.00928881f, 0.00910977f, 0.00822666f, 0.00448587f, 0.04094843f, 0.04089646f, 0.00190534f, 0.00074783f, 0.02465805f, 0.02045769f, 0.02690129f, 0.00249506f, 0.00202899f, 0.84847659f, 0.01121813f, 0.06111111f, 0.00527403f, 0.00617689f, 0.00719898f, 0.17549324f, 0.25461593f, 0.15036304f, 0.04163047f, 0.01647436f, 0.08906800f, 0.25370511f, 0.10200825f, 0.03916828f, 0.22575049f, 0.08762794f, 0.06703069f, 0.01087492f, 0.27197123f, 0.15926389f, 0.02289790f, 0.01340644f, 0.00233572f, 0.00071111f, 0.01389953f, 0.00187034f, 0.89338356f, 0.00067592f, 0.00535080f, 0.02598928f, 0.01003115f, 0.04575264f, 0.00010197f, 0.00006095f, 0.00021980f, 0.99164659f, 0.00011408f, 0.00474983f, 0.00004892f, 0.00012496f, 0.00257160f, 0.00036128f, 0.91125363f, 0.00012225f, 0.02511939f, 0.00156989f, 0.00002669f, 0.03335980f, 0.01791442f, 0.00531134f, 0.00345027f, 0.00187230f, 0.00210833f, 0.00001888f, 0.00016036f, 0.00394190f, 0.00016232f, 0.00026980f, 0.00012382f, 0.99098623f, 0.00036967f, 0.00185874f, 0.99578768f, 0.00000018f, 0.00162244f, 0.00012927f, 0.00000136f, 0.00158810f, 0.00016544f, 0.00000476f, 0.00069853f, 0.00000226f, 0.19834445f, 0.00044551f, 0.40857196f, 0.34896207f, 0.00023418f, 0.00828141f, 0.02426279f, 0.00148875f, 0.00938030f, 0.00002860f, 0.00201644f, 0.06109568f, 0.01542680f, 0.05984236f, 0.00112191f, 0.00419699f, 0.00110061f, 0.28937989f, 0.13231210f, 0.43350723f, 0.00055382f, 0.92216444f, 0.00396460f, 0.01456171f, 0.00061405f, 0.00972675f, 0.00677260f, 0.00454273f, 0.02471014f, 0.01238921f, 0.00027888f, 0.02572848f, 0.00290584f, 0.00748292f, 0.08441166f, 0.00232722f, 0.00188305f, 0.81133318f, 0.01191756f, 0.05173124f, 0.00315098f, 0.00499059f, 0.00158580f, 0.92859417f, 0.00035086f, 0.04807130f, 0.00101955f, 0.00034313f, 0.01119398f, 0.00069962f, 0.00112821f, 0.00214349f, 0.03968662f, 0.00325992f, 0.00253143f, 0.00199443f, 0.00964058f, 0.90529889f, 0.00384289f, 0.03047365f, 0.00174196f, 0.06674320f, 0.00283191f, 0.09274873f, 0.01944309f, 0.03424436f, 0.00694406f, 0.07912937f, 0.15087396f, 0.54529935f, 0.00007096f, 0.00001000f, 0.00001498f, 0.00007066f, 0.00002792f, 0.00005677f, 0.00000490f, 0.99606401f, 0.00030978f, 0.00337013f, 0.00286575f, 0.00011636f, 0.00064778f, 0.00992065f, 0.04501861f, 0.03149971f, 0.00287679f, 0.37334359f, 0.00214695f, 0.53156382f, 0.00600238f, 0.00003215f, 0.02112119f, 0.00084685f, 0.00497269f, 0.00753993f, 0.95174772f, 0.00150877f, 0.00212018f, 0.00410815f, 0.00006566f, 0.00001179f, 0.99827027f, 0.00028396f, 0.00004237f, 0.00000550f, 0.00091406f, 0.00003423f, 0.00036640f, 0.00000567f, 0.00079063f, 0.00006855f, 0.00051338f, 0.00590454f, 0.00732460f, 0.00195139f, 0.00034534f, 0.90222436f, 0.00163695f, 0.07924022f, 0.00362202f, 0.01493629f, 0.01135249f, 0.00781013f, 0.05138498f, 0.22704794f, 0.00442778f, 0.00350683f, 0.59828150f, 0.07762999f, 0.00016529f, 0.00001219f, 0.00006521f, 0.00446292f, 0.94456083f, 0.00407963f, 0.00102245f, 0.00057420f, 0.00344479f, 0.04161252f, 0.00000981f, 0.00030270f, 0.00017082f, 0.00029943f, 0.00010159f, 0.00003605f, 0.00001875f, 0.99310946f, 0.00063157f, 0.00531995f, 0.01100852f, 0.00021492f, 0.00049603f, 0.59714299f, 0.00454595f, 0.33691072f, 0.03074775f, 0.00427598f, 0.00512297f, 0.00953417f, 0.00064403f, 0.00001687f, 0.00822414f, 0.00012918f, 0.02522905f, 0.00046274f, 0.95950085f, 0.00174588f, 0.00070707f, 0.00334025f, 0.00014754f, 0.96842438f, 0.00752080f, 0.00713038f, 0.00074491f, 0.00107368f, 0.00245372f, 0.00181830f, 0.00883226f, 0.00185409f, 0.00210863f, 0.00017522f, 0.00039881f, 0.98836052f, 0.00003650f, 0.00535216f, 0.00001887f, 0.00069545f, 0.00265663f, 0.00019714f, 0.00028919f, 0.00026057f, 0.00356666f, 0.00034738f, 0.00413719f, 0.00133701f, 0.98608136f, 0.00009625f, 0.00153734f, 0.00234698f, 0.01427079f, 0.04020482f, 0.04733688f, 0.03817881f, 0.16299380f, 0.04943828f, 0.03522370f, 0.05902825f, 0.23904003f, 0.31428465f, 0.00029359f, 0.00005619f, 0.00007707f, 0.98437482f, 0.00000957f, 0.00828004f, 0.00002787f, 0.00510217f, 0.00087425f, 0.00090444f, 0.00011413f, 0.83918202f, 0.01017746f, 0.03100164f, 0.00308035f, 0.01615586f, 0.02608237f, 0.00337026f, 0.05493741f, 0.01589854f, 0.00053240f, 0.00144792f, 0.00108170f, 0.00027300f, 0.86477506f, 0.00072790f, 0.01062538f, 0.00428096f, 0.00233054f, 0.11392505f, 0.00411633f, 0.33660546f, 0.01735369f, 0.18114267f, 0.03090077f, 0.11699959f, 0.03416851f, 0.06780743f, 0.07481573f, 0.13608985f, 0.00073468f, 0.20941530f, 0.01012138f, 0.17237675f, 0.01661461f, 0.02184150f, 0.03694551f, 0.30870155f, 0.04255475f, 0.18069389f, 0.06343270f, 0.00037455f, 0.06623310f, 0.00041474f, 0.00209181f, 0.04566626f, 0.81232506f, 0.00054500f, 0.00807252f, 0.00084416f, 0.00008067f, 0.00003926f, 0.00225794f, 0.00115743f, 0.01925980f, 0.00010427f, 0.00062067f, 0.02234522f, 0.00210706f, 0.95202768f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/mnist_00.fb"); //graph->printOut(); diff --git a/libnd4j/tests_cpu/layers_tests/FlatUtilsTests.cpp b/libnd4j/tests_cpu/layers_tests/FlatUtilsTests.cpp index f31a1c7ec47b..d5c9107a9646 100644 --- a/libnd4j/tests_cpu/layers_tests/FlatUtilsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/FlatUtilsTests.cpp @@ -32,7 +32,7 @@ class FlatUtilsTests : public testing::Test { }; TEST_F(FlatUtilsTests, flat_float_serde_1) { - auto array = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); + auto array = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); flatbuffers::FlatBufferBuilder builder(1024); auto flatArray = FlatUtils::toFlatArray(builder, array); @@ -49,7 +49,7 @@ TEST_F(FlatUtilsTests, flat_float_serde_1) { } TEST_F(FlatUtilsTests, flat_int_serde_1) { - auto array = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); + auto array = NDArrayFactory::create( {4}, {1, 2, 3, 4}); flatbuffers::FlatBufferBuilder builder(1024); auto flatArray = FlatUtils::toFlatArray(builder, array); @@ -66,7 +66,7 @@ TEST_F(FlatUtilsTests, flat_int_serde_1) { } TEST_F(FlatUtilsTests, flat_bool_serde_1) { - auto array = NDArrayFactory::create('c', {4}, {true, false, true, false}); + auto array = NDArrayFactory::create( {4}, {true, false, true, false}); flatbuffers::FlatBufferBuilder builder(1024); auto flatArray = FlatUtils::toFlatArray(builder, array); @@ -83,7 +83,7 @@ TEST_F(FlatUtilsTests, flat_bool_serde_1) { } TEST_F(FlatUtilsTests, flat_string_serde_1) { - auto array = NDArrayFactory::string( {3}, {"alpha", "beta", "gamma"}); + auto array = NDArrayFactory::string( {3}, {std::string("alpha"), std::string("beta"), std::string("gamma")}); flatbuffers::FlatBufferBuilder builder(1024); auto flatArray = FlatUtils::toFlatArray(builder, array); From 8e4459cf789487cc0cd2a9093b5c1f6df4ddc5d1 Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 22 Jun 2020 13:20:42 +0300 Subject: [PATCH 64/99] Fixed graph tests with refactored methods create. Signed-off-by: shugeo --- libnd4j/tests_cpu/layers_tests/GraphTests.cpp | 291 +++++++++--------- 1 file changed, 145 insertions(+), 146 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/GraphTests.cpp b/libnd4j/tests_cpu/layers_tests/GraphTests.cpp index ad666e2dd99a..55f60be9b7ed 100644 --- a/libnd4j/tests_cpu/layers_tests/GraphTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/GraphTests.cpp @@ -47,10 +47,10 @@ class GraphTests : public testing::Test { TEST_F(GraphTests, SingleInput1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - graph->getVariableSpace()->putVariable(-1, x); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_STRICT, transform::Cosine, 2, {1}, {3}); @@ -77,17 +77,17 @@ TEST_F(GraphTests, SingleInput1) { TEST_F(GraphTests, DoubleInput1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto y = NDArrayFactory::create('c', {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); y.assign(-1.0); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, y); - graph->getVariableSpace()->putVariable(-3, z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(y)); + graph->getVariableSpace()->putVariable(-3, new NDArray(z)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {3}); auto nodeB = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {-2}, {3}); @@ -110,15 +110,15 @@ TEST_F(GraphTests, DoubleInput1) { TEST_F(GraphTests, SingleInput3) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto v0 = NDArrayFactory::create('c', {5, 5}); - auto v1 = NDArrayFactory::create('c', {5, 5}); + auto v0 = NDArrayFactory::create( {5, 5}); + auto v1 = NDArrayFactory::create( {5, 5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, v0); - graph->getVariableSpace()->putVariable(-3, v1); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(v0)); + graph->getVariableSpace()->putVariable(-3, new NDArray(v1)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2, 3}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {-2}); @@ -133,8 +133,8 @@ TEST_F(GraphTests, SingleInput3) { GraphExecutioner::execute(graph); - ASSERT_NEAR(1.4142135, v0->reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(1.0, v1->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(1.4142135, v0.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(1.0, v1.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -142,15 +142,15 @@ TEST_F(GraphTests, SingleInput3) { TEST_F(GraphTests, SingleInput4) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto v0 = NDArrayFactory::create('c', {5, 5}); - auto v1 = NDArrayFactory::create('c', {5, 5}); + auto v0 = NDArrayFactory::create( {5, 5}); + auto v1 = NDArrayFactory::create( {5, 5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, v0); - graph->getVariableSpace()->putVariable(-3, v1); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(v0)); + graph->getVariableSpace()->putVariable(-3, new NDArray(v1)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {3}); @@ -170,8 +170,8 @@ TEST_F(GraphTests, SingleInput4) { GraphExecutioner::execute(graph); - ASSERT_NEAR(1.0, v0->reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(-1.4142135, v1->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(1.0, v0.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.4142135, v1.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -180,19 +180,19 @@ TEST_F(GraphTests, SingleInput4) { TEST_F(GraphTests, DoubleInput2) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto y = NDArrayFactory::create('c', {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); y.assign(-1.0); - auto z0 = NDArrayFactory::create('c', {5, 5}); - auto z1 = NDArrayFactory::create('c', {5, 5}); + auto z0 = NDArrayFactory::create( {5, 5}); + auto z1 = NDArrayFactory::create( {5, 5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, y); - graph->getVariableSpace()->putVariable(-3, z0); - graph->getVariableSpace()->putVariable(-4, z1); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(y)); + graph->getVariableSpace()->putVariable(-3, new NDArray(z0)); + graph->getVariableSpace()->putVariable(-4, new NDArray(z1)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); @@ -215,8 +215,8 @@ TEST_F(GraphTests, DoubleInput2) { GraphExecutioner::execute(graph); - ASSERT_NEAR(-1.4142135, z0->reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(-1.0, z1->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.4142135, z0.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.0, z1.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -225,22 +225,22 @@ TEST_F(GraphTests, DoubleInput2) { TEST_F(GraphTests, DoubleInput3) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto y = NDArrayFactory::create('c', {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); y.assign(-1.0); - auto z0 = NDArrayFactory::create('c', {5, 5}); - auto z1 = NDArrayFactory::create('c', {5, 5}); + auto z0 = NDArrayFactory::create( {5, 5}); + auto z1 = NDArrayFactory::create( {5, 5}); - auto w = NDArrayFactory::create('c', {5, 5}); + auto w = NDArrayFactory::create( {5, 5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, y); - graph->getVariableSpace()->putVariable(-3, z0); - graph->getVariableSpace()->putVariable(-4, z1); - graph->getVariableSpace()->putVariable(-5, w); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(y)); + graph->getVariableSpace()->putVariable(-3, new NDArray(z0)); + graph->getVariableSpace()->putVariable(-4, new NDArray(z1)); + graph->getVariableSpace()->putVariable(-5, new NDArray(w)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {3}); @@ -279,26 +279,26 @@ TEST_F(GraphTests, DoubleInput3) { TEST_F(GraphTests, QuadInput1) { auto graph = new Graph(); - auto x0 = NDArrayFactory::create('c', {5, 5}); + auto x0 = NDArrayFactory::create( {5, 5}); x0.assign(0.0); - auto x1 = NDArrayFactory::create('c', {5, 5}); + auto x1 = NDArrayFactory::create( {5, 5}); x1.assign(-1.0); - auto x2 = NDArrayFactory::create('c', {5, 5}); + auto x2 = NDArrayFactory::create( {5, 5}); x2.assign(-2.0); - auto x3 = NDArrayFactory::create('c', {5, 5}); + auto x3 = NDArrayFactory::create( {5, 5}); x3.assign(-3.0); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); z.assign(119.0); - graph->getVariableSpace()->putVariable(-1, x0); - graph->getVariableSpace()->putVariable(-2, x1); - graph->getVariableSpace()->putVariable(-3, x2); - graph->getVariableSpace()->putVariable(-4, x3); - graph->getVariableSpace()->putVariable(-5, z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x0)); + graph->getVariableSpace()->putVariable(-2, new NDArray(x1)); + graph->getVariableSpace()->putVariable(-3, new NDArray(x2)); + graph->getVariableSpace()->putVariable(-4, new NDArray(x3)); + graph->getVariableSpace()->putVariable(-5, new NDArray(z)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {11}); auto nodeB = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {-2}, {11}); @@ -331,13 +331,13 @@ TEST_F(GraphTests, QuadInput1) { TEST_F(GraphTests, InternalBranching1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(0.0); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(z)); // 1.0 auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Ones, 1, {-1}, {11, 21}); @@ -380,17 +380,17 @@ TEST_F(GraphTests, InternalBranching1) { TEST_F(GraphTests, ReductionsTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); for (int r = 0; r < x.rows(); r++) { for (int c = 0; c < x.columns(); c++) { x.p(r, c, -c); } } - auto z = NDArrayFactory::create('c', {5}); + auto z = NDArrayFactory::create( {5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(z)); // sd::graph::Node::Node(OpType opType, int opNum, int id, std::initializer_list input, std::initializer_list output, std::initializer_list dimensions, float scalar, std::initializer_list tArgs, std::initializer_list iArgs) { @@ -414,17 +414,17 @@ TEST_F(GraphTests, ReductionsTest1) { TEST_F(GraphTests, IndexReductionsTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); for (int r = 0; r < x.rows(); r++) { for (int c = 0; c < x.columns(); c++) { x.p(r, c, -c); } } - auto z = NDArrayFactory::create('c', {5, 1}); - auto axis = NDArrayFactory::create('c', {1}, {1}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, z); + auto z = NDArrayFactory::create( {5, 1}); + auto axis = NDArrayFactory::create( {1}, {1}); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(z)); //graph->getVariableSpace()->putVariable(-3, axis); @@ -442,16 +442,15 @@ TEST_F(GraphTests, IndexReductionsTest1) { ASSERT_NEAR(4.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; - delete axis; } #if 0 TEST_F(GraphTests, AutoOutput1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - graph->getVariableSpace()->putVariable(-1, x); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); auto nodeA = new Node(OpType_TRANSFORM_FLOAT, 0, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, 35, 2, {1}, {}); @@ -483,10 +482,10 @@ TEST_F(GraphTests, AutoOutput1) { TEST_F(GraphTests, AutoOutput2) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - graph->getVariableSpace()->putVariable(-1, x); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); auto nodeA = new Node(OpType_TRANSFORM_SAME, 0, 1, {-1}, {2, 3, -1}); auto nodeB = new Node(OpType_TRANSFORM_SAME, 35, 2, {1}, {}); @@ -523,19 +522,19 @@ TEST_F(GraphTests, AutoOutput2) { TEST_F(GraphTests, BroadcastTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(0.f); - auto y = NDArrayFactory::create('c', {1, 5}); + auto y = NDArrayFactory::create( {1, 5}); for (int e = 0; e < y.columns(); e++) { y.p(e, (float)e+1); } - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, y); - graph->getVariableSpace()->putVariable(-3, z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(y)); + graph->getVariableSpace()->putVariable(-3, new NDArray(z)); auto nodeA = new Node(OpType_BROADCAST, broadcast::Subtract, 1, {-1, -2}, {2}, {1}); auto nodeB = new Node(OpType_TRANSFORM_SAME, transform::Neg, 2, {1}, {-3}); @@ -554,13 +553,13 @@ TEST_F(GraphTests, BroadcastTest1) { TEST_F(GraphTests, ScalarTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(z)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {3}); @@ -583,13 +582,13 @@ TEST_F(GraphTests, ScalarTest1) { TEST_F(GraphTests, SymbolicLookupTest1) { auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - auto vX = new Variable(x); - auto vZ = new Variable(z); + auto vX = new Variable(new NDArray(x)); + auto vZ = new Variable(new NDArray(z)); std::string a("alpha"); std::string o("omega"); @@ -641,13 +640,13 @@ TEST_F(GraphTests, OutputValidation1) { graph->getExecutorConfiguration()->_outputMode = OutputMode_EXPLICIT; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - auto vX = new Variable(x); - auto vZ = new Variable(z); + auto vX = new Variable(new NDArray(x)); + auto vZ = new Variable(new NDArray(z)); std::string a("alpha"); std::string o("omega"); @@ -678,13 +677,13 @@ TEST_F(GraphTests, OutputValidation2) { graph->getExecutorConfiguration()->_outputMode = OutputMode_EXPLICIT; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.f); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - auto vX = new Variable(x); - auto vZ = new Variable(z); + auto vX = new Variable(new NDArray(x)); + auto vZ = new Variable(new NDArray(z)); std::string a("alpha"); std::string o("omega"); @@ -720,13 +719,13 @@ TEST_F(GraphTests, OutputValidation3) { graph->getExecutorConfiguration()->_outputMode = OutputMode_IMPLICIT; - auto x = NDArrayFactory::create('c', {5, 5}); - x->assign(-2.0); + auto x = NDArrayFactory::create( {5, 5}); + x.assign(-2.0); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - auto vX = new Variable(x); - auto vZ = new Variable(z); + auto vX = new Variable(new NDArray(x)); + auto vZ = new Variable(new NDArray(z)); std::string a("alpha"); std::string o("omega"); @@ -760,13 +759,13 @@ TEST_F(GraphTests, OutputValidation4) { graph->getExecutorConfiguration()->_outputMode = OutputMode_EXPLICIT_AND_IMPLICIT; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - auto vX = new Variable(x); - auto vZ = new Variable(z); + auto vX = new Variable(new NDArray(x)); + auto vZ = new Variable(new NDArray(z)); std::string a("alpha"); std::string o("omega"); @@ -806,13 +805,13 @@ TEST_F(GraphTests, OutputValidation5) { graph->getExecutorConfiguration()->_outputMode = OutputMode_VARIABLE_SPACE; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - auto vX = new Variable(x); - auto vZ = new Variable(z); + auto vX = new Variable(new NDArray(x)); + auto vZ = new Variable(new NDArray(z)); std::string a("alpha"); std::string o("omega"); @@ -846,13 +845,13 @@ TEST_F(GraphTests, OutputValidation6) { graph->getExecutorConfiguration()->_outputMode = OutputMode_VARIABLE_SPACE; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - auto z = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); - auto vX = new Variable(x); - auto vZ = new Variable(z); + auto vX = new Variable(new NDArray(x)); + auto vZ = new Variable(new NDArray(z)); std::string a("alpha"); std::string o("omega"); @@ -892,14 +891,14 @@ TEST_F(GraphTests, TestMultiOutput1) { sd::ops::testop2i2o op1; auto graph = new Graph(); - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - auto y = NDArrayFactory::create('c', {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); y.assign(-3.0f); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, y); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, new NDArray(y)); // Abs @@ -962,10 +961,10 @@ TEST_F(GraphTests, TestDivergentNode1) { TEST_F(GraphTests, MemoryEstimationTest1) { Graph graph; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0); - graph.getVariableSpace()->putVariable(-1, x); + graph.getVariableSpace()->putVariable(-1, new NDArray(x)); auto nodeA0 = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeA1 = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {1}, {}); @@ -985,10 +984,10 @@ TEST_F(GraphTests, MemoryEstimationTest1) { TEST_F(GraphTests, MemoryEstimationTest2) { Graph graph; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - graph.getVariableSpace()->putVariable(-1, x); + graph.getVariableSpace()->putVariable(-1, new NDArray(x)); auto nodeA0 = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeA1 = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {1}, {}); @@ -1008,10 +1007,10 @@ TEST_F(GraphTests, MemoryEstimationTest2) { TEST_F(GraphTests, MemoryEstimationTest3) { Graph graph; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - graph.getVariableSpace()->putVariable(-1, x); + graph.getVariableSpace()->putVariable(-1, new NDArray(x)); auto nodeA0 = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeA1 = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {1}, {3}); @@ -1033,10 +1032,10 @@ TEST_F(GraphTests, MemoryEstimationTest3) { TEST_F(GraphTests, MemoryEstimationTest4) { Graph graph; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - graph.getVariableSpace()->putVariable(-1, x); + graph.getVariableSpace()->putVariable(-1, new NDArray(x)); auto nodeA0 = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeA1 = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {1}, {3}); @@ -1058,10 +1057,10 @@ TEST_F(GraphTests, MemoryEstimationTest4) { TEST_F(GraphTests, MemoryEstimationTest5) { Graph graph; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-2.0f); - graph.getVariableSpace()->putVariable(-1, x); + graph.getVariableSpace()->putVariable(-1, new NDArray(x)); sd::ops::testcustom op; @@ -1092,14 +1091,14 @@ TEST_F(GraphTests, TestGraphInGraph_1) { // and this ons is embedded Graph graphB; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-5.0f); - auto modifier = NDArrayFactory::create('c', {5, 5}); + auto modifier = NDArrayFactory::create( {5, 5}); modifier.assign(3.0f); - graphA.getVariableSpace()->putVariable(-1, x); - graphB.getVariableSpace()->putVariable(-2, modifier); + graphA.getVariableSpace()->putVariable(-1, new NDArray(x)); + graphB.getVariableSpace()->putVariable(-2, new NDArray(modifier)); // this is placeholder variable graphB.getVariableSpace()->putVariable(-1, new Variable(true)); @@ -1158,16 +1157,16 @@ TEST_F(GraphTests, TestGraphInGraph_2) { // and this ons is embedded Graph graphB; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-5.0f); - auto modifier = NDArrayFactory::create('c', {5, 5}); + auto modifier = NDArrayFactory::create( {5, 5}); modifier.assign(3.0f); std::string nameA1("_nodeA1"); - graphA.getVariableSpace()->putVariable(-1, x); - graphB.getVariableSpace()->putVariable(-2, modifier); + graphA.getVariableSpace()->putVariable(-1, new NDArray(x)); + graphB.getVariableSpace()->putVariable(-2, new NDArray(modifier)); // this is placeholder variable auto placeHolder = new Variable(true); @@ -1223,7 +1222,7 @@ TEST_F(GraphTests, TestGraphInGraph_2) { #if 0 TEST_F(GraphTests, Test_Clone_1) { - auto exp = NDArrayFactory::create('c', {3}); + auto exp = NDArrayFactory::create( {3}); exp.assign(3.0); @@ -1261,7 +1260,7 @@ TEST_F(GraphTests, Test_Clone_1) { TEST_F(GraphTests, Test_Clone_2) { - auto exp = NDArrayFactory::create('c', {3}); + auto exp = NDArrayFactory::create( {3}); exp.assign(3.0); @@ -1296,8 +1295,8 @@ TEST_F(GraphTests, Test_Clone_2) { } TEST_F(GraphTests, Test_Dtype_Conversion_1) { - /*auto expD = NDArrayFactory::create('c', {3}, {3.0, 3.0, 3.0}); - auto expF = NDArrayFactory::create('c', {3}, {3.0, 3.0, 3.0}); + /*auto expD = NDArrayFactory::create( {3}, {3.0, 3.0, 3.0}); + auto expF = NDArrayFactory::create( {3}, {3.0, 3.0, 3.0}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/reduce_dim_false.fb"); graph->buildGraph(); @@ -1486,7 +1485,7 @@ TEST_F(GraphTests, OpListTest_4) { TEST_F(GraphTests, Test_Inplace_Execution_1) { - auto exp = NDArrayFactory::create('c', {5, 4}, {0.32454616f, -0.06604697f, 0.22593613f, 0.43166467f, -0.18320604f, 0.00102305f, -0.06963076f, 0.25266643f, 0.07568010f, -0.03009197f, 0.07805517f, 0.33180334f, -0.06220427f, 0.07249600f, -0.06726961f, -0.22998397f, -0.06343779f, 0.07384885f, -0.06891008f, -0.23745790f}); + auto exp = NDArrayFactory::create( {5, 4}, {0.32454616f, -0.06604697f, 0.22593613f, 0.43166467f, -0.18320604f, 0.00102305f, -0.06963076f, 0.25266643f, 0.07568010f, -0.03009197f, 0.07805517f, 0.33180334f, -0.06220427f, 0.07249600f, -0.06726961f, -0.22998397f, -0.06343779f, 0.07384885f, -0.06891008f, -0.23745790f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/ae_00.fb"); // graph->printOut(); @@ -1517,10 +1516,10 @@ TEST_F(GraphTests, Test_Inplace_Execution_1) { TEST_F(GraphTests, Test_Inplace_Execution_2) { Graph graphA; - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(-5.0f); - graphA.getVariableSpace()->putVariable(-1, x); + graphA.getVariableSpace()->putVariable(-1, new NDArray(x)); // abs, result is 5 auto nodeA0 = new Node(OpType_TRANSFORM_SAME, 0, 1, {-1}, {}); @@ -1564,9 +1563,9 @@ TEST_F(GraphTests, Test_Inplace_Execution_2) { #endif TEST_F(GraphTests, Test_Inplace_Outputs_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto exp = NDArrayFactory::create('c', {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto exp = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto z = NDArrayFactory::create( {2, 3}); sd::ops::test_output_reshape op; auto result = op.execute({&x}, {&z}, {}, {}, {}); @@ -1580,9 +1579,9 @@ TEST_F(GraphTests, Test_Inplace_Outputs_2) { #ifndef __APPLE_OS__ // we dont want testing this on apple. due to try/catch - auto x = NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto exp = NDArrayFactory::create('c', {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create('c', {3, 3}); + auto x = NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto exp = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto z = NDArrayFactory::create( {3, 3}); bool failed = false; sd::ops::test_output_reshape op; From 397ff08e11d2f6c3012b660011fbea0ad87cbf55 Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 22 Jun 2020 16:19:37 +0300 Subject: [PATCH 65/99] Fixed tests to use refactored create methods. Signed-off-by: shugeo --- .../tests_cpu/layers_tests/HelpersTests1.cpp | 734 +++++++++--------- .../tests_cpu/layers_tests/IndexingTests.cpp | 116 +-- .../layers_tests/JavaInteropTests.cpp | 258 +++--- 3 files changed, 554 insertions(+), 554 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp b/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp index fae8c49183d5..5c2e60a6b465 100644 --- a/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp @@ -77,9 +77,9 @@ class HelpersTests1 : public testing::Test { ///////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, evalHHmatrixData_test1) { - auto x = NDArrayFactory::create('c', {4}, {14,17,3,1}); - auto tail = NDArrayFactory::create('c', {3}); - auto expTail = NDArrayFactory::create('c', {3}, {0.468984, 0.0827618, 0.0275873}); + auto x = NDArrayFactory::create( {4}, {14,17,3,1}); + auto tail = NDArrayFactory::create( {3}); + auto expTail = NDArrayFactory::create( {3}, {0.468984, 0.0827618, 0.0275873}); const double normXExpected = -22.2486; const double coeffExpected = 1.62925; @@ -95,9 +95,9 @@ TEST_F(HelpersTests1, evalHHmatrixData_test1) { ///////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, Householder_mulLeft_test1) { - auto x = NDArrayFactory::create('c', {4,4}, {12 ,19 ,14 ,3 ,10 ,4 ,17 ,19 ,19 ,18 ,5 ,3 ,6 ,4 ,2 ,16}); - auto tail = NDArrayFactory::create('c', {1,3}, {0.5,0.5,0.5}); - auto exp = NDArrayFactory::create('c', {4,4}, {9.05,15.8,11.4, 0.8, 8.525, 2.4,15.7,17.9, 17.525,16.4, 3.7, 1.9, 4.525, 2.4, 0.7,14.9}); + auto x = NDArrayFactory::create( {4,4}, {12 ,19 ,14 ,3 ,10 ,4 ,17 ,19 ,19 ,18 ,5 ,3 ,6 ,4 ,2 ,16}); + auto tail = NDArrayFactory::create( {1,3}, {0.5,0.5,0.5}); + auto exp = NDArrayFactory::create( {4,4}, {9.05,15.8,11.4, 0.8, 8.525, 2.4,15.7,17.9, 17.525,16.4, 3.7, 1.9, 4.525, 2.4, 0.7,14.9}); ops::helpers::Householder::mulLeft(x, tail, 0.1); @@ -108,9 +108,9 @@ TEST_F(HelpersTests1, Householder_mulLeft_test1) { ///////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, Householder_mulLeft_test2) { - auto x = NDArrayFactory::create('c', {4,4}, {12 ,19 ,14 ,3 ,10 ,4 ,17 ,19 ,19 ,18 ,5 ,3 ,6 ,4 ,2 ,16}); - auto tail = NDArrayFactory::create('c', {3,1}, {0.5,0.5,0.5}); - auto exp = NDArrayFactory::create('c', {4,4}, {9.05,15.8,11.4, 0.8, 8.525, 2.4,15.7,17.9, 17.525,16.4, 3.7, 1.9, 4.525, 2.4, 0.7,14.9}); + auto x = NDArrayFactory::create( {4,4}, {12 ,19 ,14 ,3 ,10 ,4 ,17 ,19 ,19 ,18 ,5 ,3 ,6 ,4 ,2 ,16}); + auto tail = NDArrayFactory::create( {3,1}, {0.5,0.5,0.5}); + auto exp = NDArrayFactory::create( {4,4}, {9.05,15.8,11.4, 0.8, 8.525, 2.4,15.7,17.9, 17.525,16.4, 3.7, 1.9, 4.525, 2.4, 0.7,14.9}); ops::helpers::Householder::mulLeft(x, tail, 0.1); @@ -122,9 +122,9 @@ TEST_F(HelpersTests1, Householder_mulLeft_test2) { ///////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, Householder_mulRight_test1) { - auto x = NDArrayFactory::create('c', {4,4}, {12 ,19 ,14 ,3 ,10 ,4 ,17 ,19 ,19 ,18 ,5 ,3 ,6 ,4 ,2 ,16}); - auto tail = NDArrayFactory::create('c', {1,3}, {0.5,0.5,0.5}); - auto exp = NDArrayFactory::create('c', {4,4}, {9,17.5,12.5, 1.5, 7, 2.5,15.5, 17.5, 15.8,16.4, 3.4, 1.4, 4.3,3.15,1.15,15.15}); + auto x = NDArrayFactory::create( {4,4}, {12 ,19 ,14 ,3 ,10 ,4 ,17 ,19 ,19 ,18 ,5 ,3 ,6 ,4 ,2 ,16}); + auto tail = NDArrayFactory::create( {1,3}, {0.5,0.5,0.5}); + auto exp = NDArrayFactory::create( {4,4}, {9,17.5,12.5, 1.5, 7, 2.5,15.5, 17.5, 15.8,16.4, 3.4, 1.4, 4.3,3.15,1.15,15.15}); ops::helpers::Householder::mulRight(x, tail, 0.1); @@ -135,9 +135,9 @@ TEST_F(HelpersTests1, Householder_mulRight_test1) { ///////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, BiDiagonalizeUp_test1) { - auto matrix = NDArrayFactory::create('c', {4,4}, {9,13,3,6,13,11,7,6,3,7,4,7,6,6,7,10}); - auto hhMatrixExp = NDArrayFactory::create('c', {4,4}, {1.524000, 1.75682,0.233741,0.289458, 0.496646, 1.5655, 1.02929,0.971124, 0.114611,-0.451039, 1.06367,0, 0.229221,-0.272237,0.938237,0}); - auto hhBidiagExp = NDArrayFactory::create('c', {4,4}, {-17.1756, 24.3869, 0, 0, 0,-8.61985,-3.89823, 0, 0, 0, 4.03047,4.13018, 0, 0, 0,1.21666}); + auto matrix = NDArrayFactory::create( {4,4}, {9,13,3,6,13,11,7,6,3,7,4,7,6,6,7,10}); + auto hhMatrixExp = NDArrayFactory::create( {4,4}, {1.524000, 1.75682,0.233741,0.289458, 0.496646, 1.5655, 1.02929,0.971124, 0.114611,-0.451039, 1.06367,0, 0.229221,-0.272237,0.938237,0}); + auto hhBidiagExp = NDArrayFactory::create( {4,4}, {-17.1756, 24.3869, 0, 0, 0,-8.61985,-3.89823, 0, 0, 0, 4.03047,4.13018, 0, 0, 0,1.21666}); ops::helpers::BiDiagonalUp object(matrix); // object._HHmatrix.printBuffer(); @@ -151,9 +151,9 @@ TEST_F(HelpersTests1, BiDiagonalizeUp_test1) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, BiDiagonalizeUp_test2) { - auto matrix = NDArrayFactory::create('c', {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); - auto hhMatrixExp = NDArrayFactory::create('c', {5,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.66025, 1.66979,-0.444696, 0.114105,0.130601, 1.58392, 0, -0.22821, 0.215638,0.0524781, 1.99303, 0.0760699,0.375605, 0.509835,0.0591568}); - auto hhBidiagExp = NDArrayFactory::create('c', {4,4}, {-17.2916,7.03123, 0, 0, 0, 16.145,-22.9275, 0, 0, 0, -9.9264,-11.5516, 0, 0, 0,-12.8554}); + auto matrix = NDArrayFactory::create( {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); + auto hhMatrixExp = NDArrayFactory::create( {5,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.66025, 1.66979,-0.444696, 0.114105,0.130601, 1.58392, 0, -0.22821, 0.215638,0.0524781, 1.99303, 0.0760699,0.375605, 0.509835,0.0591568}); + auto hhBidiagExp = NDArrayFactory::create( {4,4}, {-17.2916,7.03123, 0, 0, 0, 16.145,-22.9275, 0, 0, 0, -9.9264,-11.5516, 0, 0, 0,-12.8554}); ops::helpers::BiDiagonalUp object(matrix); @@ -166,9 +166,9 @@ TEST_F(HelpersTests1, BiDiagonalizeUp_test2) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, BiDiagonalizeUp_test3) { - auto matrix = NDArrayFactory::create('c', {6,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12, 0,-15,10,2}); - auto hhMatrixExp = NDArrayFactory::create('c', {6,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.65232, 1.59666,-0.502606, 0.114105, 0.129651, 1.35075, 0, -0.22821, 0.214071, 0.103749, 1.61136, 0.0760699, 0.372875, 0.389936, 0.2398, 0,0.0935171,-0.563777, 0.428587}); - auto hhBidiagExp = NDArrayFactory::create('c', {4,4}, {-17.2916,7.03123, 0, 0, 0,16.3413,-20.7828, 0, 0, 0,-18.4892,4.13261, 0, 0, 0,-21.323}); + auto matrix = NDArrayFactory::create( {6,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12, 0,-15,10,2}); + auto hhMatrixExp = NDArrayFactory::create( {6,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.65232, 1.59666,-0.502606, 0.114105, 0.129651, 1.35075, 0, -0.22821, 0.214071, 0.103749, 1.61136, 0.0760699, 0.372875, 0.389936, 0.2398, 0,0.0935171,-0.563777, 0.428587}); + auto hhBidiagExp = NDArrayFactory::create( {4,4}, {-17.2916,7.03123, 0, 0, 0,16.3413,-20.7828, 0, 0, 0,-18.4892,4.13261, 0, 0, 0,-21.323}); ops::helpers::BiDiagonalUp object(matrix); // object._HHmatrix.printBuffer(); @@ -182,11 +182,11 @@ TEST_F(HelpersTests1, BiDiagonalizeUp_test3) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test1) { - auto matrix = NDArrayFactory::create('c', {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); - auto vectorsUseqExp = NDArrayFactory::create('c', {5,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.66025, 1.66979,-0.444696, 0.114105,0.130601, 1.58392, 0, -0.22821,0.215638,0.0524781, 1.99303, 0.0760699,0.375605, 0.509835,0.0591568}); - auto vectorsVseqExp = NDArrayFactory::create('c', {5,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.66025, 1.66979,-0.444696, 0.114105,0.130601, 1.58392, 0, -0.22821,0.215638,0.0524781, 1.99303, 0.0760699,0.375605, 0.509835,0.0591568}); - auto coeffsUseqExp = NDArrayFactory::create('c', {4,1}, {1.52048,1.66025,1.58392,1.99303}); - auto coeffsVseqExp = NDArrayFactory::create('c', {3,1}, {1.37012,1.66979,0}); + auto matrix = NDArrayFactory::create( {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); + auto vectorsUseqExp = NDArrayFactory::create( {5,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.66025, 1.66979,-0.444696, 0.114105,0.130601, 1.58392, 0, -0.22821,0.215638,0.0524781, 1.99303, 0.0760699,0.375605, 0.509835,0.0591568}); + auto vectorsVseqExp = NDArrayFactory::create( {5,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.66025, 1.66979,-0.444696, 0.114105,0.130601, 1.58392, 0, -0.22821,0.215638,0.0524781, 1.99303, 0.0760699,0.375605, 0.509835,0.0591568}); + auto coeffsUseqExp = NDArrayFactory::create( {4,1}, {1.52048,1.66025,1.58392,1.99303}); + auto coeffsVseqExp = NDArrayFactory::create( {3,1}, {1.37012,1.66979,0}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -206,11 +206,11 @@ TEST_F(HelpersTests1, HHsequence_test1) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test2) { - auto matrix = NDArrayFactory::create('c', {6,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12 ,0,-15,10,2}); - auto vectorsUseqExp = NDArrayFactory::create('c', {6,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.65232, 1.59666,-0.502606, 0.114105, 0.129651, 1.35075, 0, -0.22821, 0.214071, 0.103749, 1.61136, 0.0760699, 0.372875, 0.389936, 0.2398, 0,0.0935171,-0.563777, 0.428587}); - auto vectorsVseqExp = NDArrayFactory::create('c', {6,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.65232, 1.59666,-0.502606, 0.114105, 0.129651, 1.35075, 0, -0.22821, 0.214071, 0.103749, 1.61136, 0.0760699, 0.372875, 0.389936, 0.2398, 0,0.0935171,-0.563777, 0.428587}); - auto coeffsUseqExp = NDArrayFactory::create('c', {4,1}, {1.52048,1.65232,1.35075,1.61136}); - auto coeffsVseqExp = NDArrayFactory::create('c', {3,1}, {1.37012,1.59666,0}); + auto matrix = NDArrayFactory::create( {6,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12 ,0,-15,10,2}); + auto vectorsUseqExp = NDArrayFactory::create( {6,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.65232, 1.59666,-0.502606, 0.114105, 0.129651, 1.35075, 0, -0.22821, 0.214071, 0.103749, 1.61136, 0.0760699, 0.372875, 0.389936, 0.2398, 0,0.0935171,-0.563777, 0.428587}); + auto vectorsVseqExp = NDArrayFactory::create( {6,4}, {1.52048, 1.37012, 0.636326, -0.23412, 0.494454, 1.65232, 1.59666,-0.502606, 0.114105, 0.129651, 1.35075, 0, -0.22821, 0.214071, 0.103749, 1.61136, 0.0760699, 0.372875, 0.389936, 0.2398, 0,0.0935171,-0.563777, 0.428587}); + auto coeffsUseqExp = NDArrayFactory::create( {4,1}, {1.52048,1.65232,1.35075,1.61136}); + auto coeffsVseqExp = NDArrayFactory::create( {3,1}, {1.37012,1.59666,0}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -230,11 +230,11 @@ TEST_F(HelpersTests1, HHsequence_test2) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test3) { - auto matrix = NDArrayFactory::create('c', {4,4}, {9,13,3,6, 13,11,7,6, 3,7,4,7, 6,6,7,10}); - auto vectorsUseqExp = NDArrayFactory::create('c', {4,4}, {1.524, 1.75682,0.233741,0.289458, 0.496646, 1.5655, 1.02929,0.971124, 0.114611,-0.451039, 1.06367, 0, 0.229221,-0.272237,0.938237, 0}); - auto vectorsVseqExp = NDArrayFactory::create('c', {4,4}, {1.524, 1.75682,0.233741,0.289458, 0.496646, 1.5655, 1.02929,0.971124, 0.114611,-0.451039, 1.06367, 0, 0.229221,-0.272237,0.938237, 0}); - auto coeffsUseqExp = NDArrayFactory::create('c', {4,1}, { 1.524, 1.5655,1.06367,0}); - auto coeffsVseqExp = NDArrayFactory::create('c', {3,1}, {1.75682,1.02929, 0}); + auto matrix = NDArrayFactory::create( {4,4}, {9,13,3,6, 13,11,7,6, 3,7,4,7, 6,6,7,10}); + auto vectorsUseqExp = NDArrayFactory::create( {4,4}, {1.524, 1.75682,0.233741,0.289458, 0.496646, 1.5655, 1.02929,0.971124, 0.114611,-0.451039, 1.06367, 0, 0.229221,-0.272237,0.938237, 0}); + auto vectorsVseqExp = NDArrayFactory::create( {4,4}, {1.524, 1.75682,0.233741,0.289458, 0.496646, 1.5655, 1.02929,0.971124, 0.114611,-0.451039, 1.06367, 0, 0.229221,-0.272237,0.938237, 0}); + auto coeffsUseqExp = NDArrayFactory::create( {4,1}, { 1.524, 1.5655,1.06367,0}); + auto coeffsVseqExp = NDArrayFactory::create( {3,1}, {1.75682,1.02929, 0}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -254,8 +254,8 @@ TEST_F(HelpersTests1, HHsequence_test3) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test4) { - auto matrix = NDArrayFactory::create('c', {4,4}, {9,13,3,6, 13,11,7,6, 3,7,4,7, 6,6,7,10}); - auto exp = NDArrayFactory::create('c', {4,4}, {2.49369, 2.62176, 5.88386, 7.69905, -16.0588,-18.7319,-9.15007,-12.6164, 4.7247, 3.46252, 1.02038, -1.4533, 2.9279,-2.29178, 1.90139,-0.66187}); + auto matrix = NDArrayFactory::create( {4,4}, {9,13,3,6, 13,11,7,6, 3,7,4,7, 6,6,7,10}); + auto exp = NDArrayFactory::create( {4,4}, {2.49369, 2.62176, 5.88386, 7.69905, -16.0588,-18.7319,-9.15007,-12.6164, 4.7247, 3.46252, 1.02038, -1.4533, 2.9279,-2.29178, 1.90139,-0.66187}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -268,8 +268,8 @@ TEST_F(HelpersTests1, HHsequence_test4) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test5) { - auto matrix = NDArrayFactory::create('c', {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); - auto exp = NDArrayFactory::create('c', {5,4}, {4.52891, 8.09473,-2.73704,-13.0302, -11.0752, 7.41549,-3.75125,0.815252, -7.76818,-15.9102,-9.90869,-11.8677, 1.63942,-17.0312,-9.05102,-4.49088, -9.63311,0.540226,-1.52764, 5.79111}); + auto matrix = NDArrayFactory::create( {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); + auto exp = NDArrayFactory::create( {5,4}, {4.52891, 8.09473,-2.73704,-13.0302, -11.0752, 7.41549,-3.75125,0.815252, -7.76818,-15.9102,-9.90869,-11.8677, 1.63942,-17.0312,-9.05102,-4.49088, -9.63311,0.540226,-1.52764, 5.79111}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -282,9 +282,9 @@ TEST_F(HelpersTests1, HHsequence_test5) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test6) { - auto matrix = NDArrayFactory::create('c', {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); - auto matrix2 = NDArrayFactory::create('c',{6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); - auto exp = NDArrayFactory::create('c', {6,4}, {9,-1,3,9, -4.43019,-15.1713, -3.2854,-7.65743, -9.39162,-7.03599, 8.03827, 9.48453, -2.97785, -16.424, 5.35265,-20.1171, -0.0436177, -13.118,-8.37287,-17.3012, -1.14074, 4.18282,-10.0914,-5.69014}); + auto matrix = NDArrayFactory::create( {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); + auto matrix2 = NDArrayFactory::create( {6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); + auto exp = NDArrayFactory::create( {6,4}, {9,-1,3,9, -4.43019,-15.1713, -3.2854,-7.65743, -9.39162,-7.03599, 8.03827, 9.48453, -2.97785, -16.424, 5.35265,-20.1171, -0.0436177, -13.118,-8.37287,-17.3012, -1.14074, 4.18282,-10.0914,-5.69014}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -297,8 +297,8 @@ TEST_F(HelpersTests1, HHsequence_test6) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test7) { - auto matrix = NDArrayFactory::create('c', {4,4}, {9,13,3,6, 13,11,7,6, 3,7,4,7, 6,6,7,10}); - auto exp = NDArrayFactory::create('c', {4,4}, {9,13,3,6,-5.90424,-2.30926,-0.447417, 3.05712, -10.504,-9.31339, -8.85493,-10.8886, -8.29494,-10.6737, -5.94895,-7.55591}); + auto matrix = NDArrayFactory::create( {4,4}, {9,13,3,6, 13,11,7,6, 3,7,4,7, 6,6,7,10}); + auto exp = NDArrayFactory::create( {4,4}, {9,13,3,6,-5.90424,-2.30926,-0.447417, 3.05712, -10.504,-9.31339, -8.85493,-10.8886, -8.29494,-10.6737, -5.94895,-7.55591}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -310,8 +310,8 @@ TEST_F(HelpersTests1, HHsequence_test7) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test8) { - auto matrix = NDArrayFactory::create('c', {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); - auto exp = NDArrayFactory::create('c', {5,4}, {9, -13, 3, 6, 13, 11, 7, -6, -6.90831,-5.01113, 0.381677,0.440128, -0.80107,0.961605,-0.308019,-1.96153, -0.795985, 18.6538, 12.0731, 16.9988}); + auto matrix = NDArrayFactory::create( {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); + auto exp = NDArrayFactory::create( {5,4}, {9, -13, 3, 6, 13, 11, 7, -6, -6.90831,-5.01113, 0.381677,0.440128, -0.80107,0.961605,-0.308019,-1.96153, -0.795985, 18.6538, 12.0731, 16.9988}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -323,8 +323,8 @@ TEST_F(HelpersTests1, HHsequence_test8) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test9) { - auto matrix = NDArrayFactory::create('c', {6,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12 ,0,-15,10,2}); - auto exp = NDArrayFactory::create('c', {6,4}, {9, -13, 3, 6, 13, 11, 7, -6, 3, 7, 4, 7, 3.77597, 18.6226,-0.674868, 4.61365, 5.02738,-14.1486, -2.22877,-8.98245, -0.683766, 1.73722, 14.9859, 12.0843}); + auto matrix = NDArrayFactory::create( {6,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12 ,0,-15,10,2}); + auto exp = NDArrayFactory::create( {6,4}, {9, -13, 3, 6, 13, 11, 7, -6, 3, 7, 4, 7, 3.77597, 18.6226,-0.674868, 4.61365, 5.02738,-14.1486, -2.22877,-8.98245, -0.683766, 1.73722, 14.9859, 12.0843}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -336,9 +336,9 @@ TEST_F(HelpersTests1, HHsequence_test9) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test10) { - auto matrix = NDArrayFactory::create('c', {4,4}, {9,13,3,6, 13,11,7,6, 3,7,4,7, 6,6,7,10}); - auto matrix2 = NDArrayFactory::create('c',{6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); - auto exp = NDArrayFactory::create('c', {6,4}, {9, -1, 3, 9, 10, 11, -7, -5, 3, 2, 4, 7, 2.58863, 11.0295,-4.17483,-0.641012, -1.21892,-16.3151, 6.12049, -20.0239, -0.901799,-15.0389,-12.4944, -20.2394}); + auto matrix = NDArrayFactory::create( {4,4}, {9,13,3,6, 13,11,7,6, 3,7,4,7, 6,6,7,10}); + auto matrix2 = NDArrayFactory::create( {6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); + auto exp = NDArrayFactory::create( {6,4}, {9, -1, 3, 9, 10, 11, -7, -5, 3, 2, 4, 7, 2.58863, 11.0295,-4.17483,-0.641012, -1.21892,-16.3151, 6.12049, -20.0239, -0.901799,-15.0389,-12.4944, -20.2394}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -350,9 +350,9 @@ TEST_F(HelpersTests1, HHsequence_test10) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test11) { - auto matrix = NDArrayFactory::create('c', {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); - auto matrix2 = NDArrayFactory::create('c',{6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); - auto exp = NDArrayFactory::create('c', {6,4}, {9, -1, 3, 9, 10, 11, -7, -5, 3, 2, 4, 7, 1.14934, 4.40257, 8.70127,-1.18824, 1.5132,0.220419,-11.6285,-11.7549, 2.32148, 24.3838,0.256531, 25.9116}); + auto matrix = NDArrayFactory::create( {5,4}, {9,-13,3,6, 13,11,7,-6, 3,7,4,7, -6,6,7,10, 2,17,9,12}); + auto matrix2 = NDArrayFactory::create( {6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); + auto exp = NDArrayFactory::create( {6,4}, {9, -1, 3, 9, 10, 11, -7, -5, 3, 2, 4, 7, 1.14934, 4.40257, 8.70127,-1.18824, 1.5132,0.220419,-11.6285,-11.7549, 2.32148, 24.3838,0.256531, 25.9116}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -364,9 +364,9 @@ TEST_F(HelpersTests1, HHsequence_test11) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test12) { - auto matrix = NDArrayFactory::create('c', {5,3}, {9,-13,3, 13,11,7, 3,7,4, -6,6,7, 2,17,9}); - auto matrix2 = NDArrayFactory::create('c',{6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); - auto exp = NDArrayFactory::create('c', {6,4}, {9, -1, 3, 9, 10, 11, -7, -5, 3, 2, 4, 7, -1, 6, 7, 19, -2.62252,-22.2914, 4.76743,-19.6689, -1.05943,-9.00514,-11.8013,-7.94571}); + auto matrix = NDArrayFactory::create( {5,3}, {9,-13,3, 13,11,7, 3,7,4, -6,6,7, 2,17,9}); + auto matrix2 = NDArrayFactory::create( {6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); + auto exp = NDArrayFactory::create( {6,4}, {9, -1, 3, 9, 10, 11, -7, -5, 3, 2, 4, 7, -1, 6, 7, 19, -2.62252,-22.2914, 4.76743,-19.6689, -1.05943,-9.00514,-11.8013,-7.94571}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -378,9 +378,9 @@ TEST_F(HelpersTests1, HHsequence_test12) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test13) { - auto matrix = NDArrayFactory::create('c', {5,3}, {9,-13,3, 13,11,7, 3,7,4, -6,6,7, 2,17,9}); - auto matrix2 = NDArrayFactory::create('c',{6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); - auto exp = NDArrayFactory::create('c', {6,4}, {9 , -1 , 3 , 9, -4.65167, 3.44652, 7.83593, 22.6899, -9.48514, -21.902, 5.66559,-13.0533, -0.343184, 15.2895, 7.2888, 14.0489, 0.289638,-1.87752, 3.944,-1.49707, -2.48845, 3.18285,-10.6685,0.406502}); + auto matrix = NDArrayFactory::create( {5,3}, {9,-13,3, 13,11,7, 3,7,4, -6,6,7, 2,17,9}); + auto matrix2 = NDArrayFactory::create( {6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); + auto exp = NDArrayFactory::create( {6,4}, {9 , -1 , 3 , 9, -4.65167, 3.44652, 7.83593, 22.6899, -9.48514, -21.902, 5.66559,-13.0533, -0.343184, 15.2895, 7.2888, 14.0489, 0.289638,-1.87752, 3.944,-1.49707, -2.48845, 3.18285,-10.6685,0.406502}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -392,9 +392,9 @@ TEST_F(HelpersTests1, HHsequence_test13) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test14) { - auto matrix = NDArrayFactory::create('c', {5,3}, {9,-13,3, 13,11,7, 3,7,4, -6,6,7, 2,17,9}); - auto matrix2 = NDArrayFactory::create('c',{5,5}, {9,-1,3,9,10, 11,-7,-5,3, 2, 4,7,-1,6,7, 19,2,17,9,15, 2,17,-9,15,2}); - auto exp = NDArrayFactory::create('c', {5,5}, {1.78958, 8.06962,-6.13687, 4.36267, 1.06472, -14.9578, -8.1522, 1.30442,-18.3343,-13.2578, 13.5536, 5.50764, 15.7859, 7.60831, 11.7871, -1.3626,-0.634986, 7.60934, -2.1841, 5.62694, -13.0577, 15.1554, -7.6511, 3.76365,-5.87368}); + auto matrix = NDArrayFactory::create( {5,3}, {9,-13,3, 13,11,7, 3,7,4, -6,6,7, 2,17,9}); + auto matrix2 = NDArrayFactory::create( {5,5}, {9,-1,3,9,10, 11,-7,-5,3, 2, 4,7,-1,6,7, 19,2,17,9,15, 2,17,-9,15,2}); + auto exp = NDArrayFactory::create( {5,5}, {1.78958, 8.06962,-6.13687, 4.36267, 1.06472, -14.9578, -8.1522, 1.30442,-18.3343,-13.2578, 13.5536, 5.50764, 15.7859, 7.60831, 11.7871, -1.3626,-0.634986, 7.60934, -2.1841, 5.62694, -13.0577, 15.1554, -7.6511, 3.76365,-5.87368}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -407,9 +407,9 @@ TEST_F(HelpersTests1, HHsequence_test14) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test15) { - auto matrix = NDArrayFactory::create('c', {5,3}, {9,-13,3, 13,11,7, 3,7,4, -6,6,7, 2,17,9}); - auto matrix2 = NDArrayFactory::create('c',{5,5}, {9,-1,3,9,10, 11,-7,-5,3, 2, 4,7,-1,6,7, 19,2,17,9,15, 2,17,-9,15,2}); - auto exp = NDArrayFactory::create('c', {5,5}, {9, -1, 3, 9, 10, 11, -7, -5, 3, 2, 4, 7, -1, 6, 7, -9.26566,-16.4298, 1.64125,-17.3243,-7.70257, -16.7077, 4.80216,-19.1652,-2.42279,-13.0258}); + auto matrix = NDArrayFactory::create( {5,3}, {9,-13,3, 13,11,7, 3,7,4, -6,6,7, 2,17,9}); + auto matrix2 = NDArrayFactory::create( {5,5}, {9,-1,3,9,10, 11,-7,-5,3, 2, 4,7,-1,6,7, 19,2,17,9,15, 2,17,-9,15,2}); + auto exp = NDArrayFactory::create( {5,5}, {9, -1, 3, 9, 10, 11, -7, -5, 3, 2, 4, 7, -1, 6, 7, -9.26566,-16.4298, 1.64125,-17.3243,-7.70257, -16.7077, 4.80216,-19.1652,-2.42279,-13.0258}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -421,10 +421,10 @@ TEST_F(HelpersTests1, HHsequence_test15) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test16) { - auto matrix = NDArrayFactory::create('c', {5,5}, {9,-1,3,9,10, 11,-7,-5,3, 2, 4,7,-1,6,7, 19,2,17,9,15, 2,17,-9,15,2}); - auto matrix2 = NDArrayFactory::create('c', {10,10}); + auto matrix = NDArrayFactory::create( {5,5}, {9,-1,3,9,10, 11,-7,-5,3, 2, 4,7,-1,6,7, 19,2,17,9,15, 2,17,-9,15,2}); + auto matrix2 = NDArrayFactory::create( {10,10}); matrix2 = 100.; - auto exp = NDArrayFactory::create('c',{5,5}, {-0.372742, 0.295145, 0.325359, 0.790947, 0.20615, -0.455573,-0.824221,-0.239444, 0.216163,-0.0951492, -0.165663, 0.285319, -0.18501, 0.130431, -0.916465, -0.7869, 0.245393, 0.116952,-0.541267, 0.117997, -0.0828315, 0.303191,-0.888202, 0.133021, 0.3076}); + auto exp = NDArrayFactory::create( {5,5}, {-0.372742, 0.295145, 0.325359, 0.790947, 0.20615, -0.455573,-0.824221,-0.239444, 0.216163,-0.0951492, -0.165663, 0.285319, -0.18501, 0.130431, -0.916465, -0.7869, 0.245393, 0.116952,-0.541267, 0.117997, -0.0828315, 0.303191,-0.888202, 0.133021, 0.3076}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -436,10 +436,10 @@ TEST_F(HelpersTests1, HHsequence_test16) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test17) { - auto matrix = NDArrayFactory::create('c', {5,5}, {9,-1,3,9,10, 11,-7,-5,3, 2, 4,7,-1,6,7, 19,2,17,9,15, 2,17,-9,15,2}); - auto matrix2 = NDArrayFactory::create('c', {10,10}); + auto matrix = NDArrayFactory::create( {5,5}, {9,-1,3,9,10, 11,-7,-5,3, 2, 4,7,-1,6,7, 19,2,17,9,15, 2,17,-9,15,2}); + auto matrix2 = NDArrayFactory::create( {10,10}); matrix2 = 100.; - auto exp = NDArrayFactory::create('c',{5,5}, {1, 0, 0, 0, 0, 0,-0.022902, 0.986163, 0.0411914, 0.158935, 0, -0.44659, 0.021539, 0.797676,-0.404731, 0,-0.554556, 0.103511, -0.600701, -0.56649, 0,-0.701784,-0.127684,-0.0342758, 0.700015}); + auto exp = NDArrayFactory::create( {5,5}, {1, 0, 0, 0, 0, 0,-0.022902, 0.986163, 0.0411914, 0.158935, 0, -0.44659, 0.021539, 0.797676,-0.404731, 0,-0.554556, 0.103511, -0.600701, -0.56649, 0,-0.701784,-0.127684,-0.0342758, 0.700015}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -451,10 +451,10 @@ TEST_F(HelpersTests1, HHsequence_test17) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test18) { - auto matrix = NDArrayFactory::create('c',{6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); - auto matrix2 = NDArrayFactory::create('c', {10,10}); + auto matrix = NDArrayFactory::create( {6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); + auto matrix2 = NDArrayFactory::create( {10,10}); matrix2 = 100.; - auto exp = NDArrayFactory::create('c',{6,6}, {-0.637993, 0.190621,-0.524821,-0.312287, 0.407189, 0.133659, -0.708881, 0.0450803, 0.47462, 0.232701,-0.204602,-0.417348, -0.212664,-0.0405892,-0.297123,0.0240276,-0.821557, 0.435099, 0.0708881, -0.432466, -0.49252,-0.145004,-0.199312,-0.710367, -0.141776, -0.56468,-0.180549, 0.706094, 0.274317, 0.233707, -0.141776, -0.673865, 0.368567,-0.572848,0.0490246, 0.243733}); + auto exp = NDArrayFactory::create( {6,6}, {-0.637993, 0.190621,-0.524821,-0.312287, 0.407189, 0.133659, -0.708881, 0.0450803, 0.47462, 0.232701,-0.204602,-0.417348, -0.212664,-0.0405892,-0.297123,0.0240276,-0.821557, 0.435099, 0.0708881, -0.432466, -0.49252,-0.145004,-0.199312,-0.710367, -0.141776, -0.56468,-0.180549, 0.706094, 0.274317, 0.233707, -0.141776, -0.673865, 0.368567,-0.572848,0.0490246, 0.243733}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence uSeq = object.makeHHsequence('u'); @@ -466,10 +466,10 @@ TEST_F(HelpersTests1, HHsequence_test18) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHsequence_test19) { - auto matrix = NDArrayFactory::create('c',{6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); - auto matrix2 = NDArrayFactory::create('c', {10,10}); + auto matrix = NDArrayFactory::create( {6,4}, {9,-1,3,9, 10,11,-7,-5, 3,2,4,7, -1,6,7,19, 2,17,9,15, 2,17,-9,15}); + auto matrix2 = NDArrayFactory::create( {10,10}); matrix2 = 100.; - auto exp = NDArrayFactory::create('c',{4,4}, {1, 0, 0, 0, 0,-0.859586, 0.28601, -0.42345, 0, 0.19328,-0.585133,-0.787567, 0,-0.473027,-0.758826, 0.447693}); + auto exp = NDArrayFactory::create( {4,4}, {1, 0, 0, 0, 0,-0.859586, 0.28601, -0.42345, 0, 0.19328,-0.585133,-0.787567, 0,-0.473027,-0.758826, 0.447693}); ops::helpers::BiDiagonalUp object(matrix); ops::helpers::HHsequence vSeq = object.makeHHsequence('v'); @@ -481,11 +481,11 @@ TEST_F(HelpersTests1, HHsequence_test19) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHcolPivQR_1) { - auto matrix1 = NDArrayFactory::create('c', {5,6}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); + auto matrix1 = NDArrayFactory::create( {5,6}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); - auto expQR = NDArrayFactory::create('c', {5,6}, {-32.6649659, -4.9594419, -8.2657365, 7.2248659, 16.5927006, 11.7251002, -0.1354883, -29.0586293, 10.9775804, -14.6886248, 4.1884104, 20.7115773, 0.3483986, 0.3236753, 25.5376258, 1.6432380, 9.6395914, -9.0237996, -0.0580664, 0.0798999, -0.0799029, 19.5280665, -4.9773587, 16.0968604, 0.3483986, -0.6667832, 0.0252425, 0.0159188, 10.6978354, -4.6919842}); - auto expCoeffs = NDArrayFactory::create('c', {1,5}, {1.58166, 1.28555, 1.98605, 1.99949, 0}); - auto expPermut = NDArrayFactory::create('c', {6,6}, {0,1,0,0,0,0, 0,0,1,0,0,0, 1,0,0,0,0,0, 0,0,0,0,0,1, 0,0,0,0,1,0, 0,0,0,1,0,0}); + auto expQR = NDArrayFactory::create( {5,6}, {-32.6649659, -4.9594419, -8.2657365, 7.2248659, 16.5927006, 11.7251002, -0.1354883, -29.0586293, 10.9775804, -14.6886248, 4.1884104, 20.7115773, 0.3483986, 0.3236753, 25.5376258, 1.6432380, 9.6395914, -9.0237996, -0.0580664, 0.0798999, -0.0799029, 19.5280665, -4.9773587, 16.0968604, 0.3483986, -0.6667832, 0.0252425, 0.0159188, 10.6978354, -4.6919842}); + auto expCoeffs = NDArrayFactory::create( {1,5}, {1.58166, 1.28555, 1.98605, 1.99949, 0}); + auto expPermut = NDArrayFactory::create( {6,6}, {0,1,0,0,0,0, 0,0,1,0,0,0, 1,0,0,0,0,0, 0,0,0,0,0,1, 0,0,0,0,1,0, 0,0,0,1,0,0}); ops::helpers::HHcolPivQR qr(matrix1); @@ -501,11 +501,11 @@ TEST_F(HelpersTests1, HHcolPivQR_1) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, HHcolPivQR_2) { - auto matrix1 = NDArrayFactory::create('c', {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); + auto matrix1 = NDArrayFactory::create( {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); - auto expQR = NDArrayFactory::create('c', {6,6}, {38.1707, -3.03898, 5.16103, 23.0805, -7.57126, -13.885, -0.41519, 34.3623, 3.77403, 2.62327, -8.17784, 9.10312, 0.394431, 0.509952,-30.2179, -6.78341, 12.8421, 28.5491, -0.290633, 0.111912,0.450367, 28.1139, 15.5195, 2.60562, 0.332152, 0.405161,0.308163,0.0468127, 22.294,-2.94931, 0.249114,0.0627956,0.657873, 0.76767,-0.752594,-7.46986}); - auto expCoeffs = NDArrayFactory::create('c', {1,6}, {1.26198, 1.38824, 1.15567, 1.25667, 1.27682, 0}); - auto expPermut = NDArrayFactory::create('c', {6,6}, {0,0,1,0,0,0, 0,0,0,0,1,0, 0,0,0,1,0,0, 0,1,0,0,0,0, 0,0,0,0,0,1, 1,0,0,0,0,0}); + auto expQR = NDArrayFactory::create( {6,6}, {38.1707, -3.03898, 5.16103, 23.0805, -7.57126, -13.885, -0.41519, 34.3623, 3.77403, 2.62327, -8.17784, 9.10312, 0.394431, 0.509952,-30.2179, -6.78341, 12.8421, 28.5491, -0.290633, 0.111912,0.450367, 28.1139, 15.5195, 2.60562, 0.332152, 0.405161,0.308163,0.0468127, 22.294,-2.94931, 0.249114,0.0627956,0.657873, 0.76767,-0.752594,-7.46986}); + auto expCoeffs = NDArrayFactory::create( {1,6}, {1.26198, 1.38824, 1.15567, 1.25667, 1.27682, 0}); + auto expPermut = NDArrayFactory::create( {6,6}, {0,0,1,0,0,0, 0,0,0,0,1,0, 0,0,0,1,0,0, 0,1,0,0,0,0, 0,0,0,0,0,1, 1,0,0,0,0,0}); ops::helpers::HHcolPivQR qr(matrix1); @@ -523,9 +523,9 @@ TEST_F(HelpersTests1, HHcolPivQR_3) { NDArray matrix1('c', {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); - auto expQR = NDArrayFactory::create('c', {6,5}, {-37.054 , 0.323852 , 8.04231 , -22.9395 ,-13.089, 0.105164, 32.6021, 6.42277, -0.262898,-1.58766, 0.140218, -0.485058, 29.2073, -9.92301,-23.7111, -0.262909,-0.00866538, 0.103467, 8.55831,-1.86455, -0.315491, 0.539207, 0.40754,-0.0374124,-7.10401, 0.315491, 0.385363,-0.216459, -0.340008,0.628595}); - auto expCoeffs = NDArrayFactory::create('c', {1,5}, {1.53975, 1.19431, 1.63446, 1.7905, 1.43356}); - auto expPermut = NDArrayFactory::create('c', {5,5}, {0,0,0,1,0, 1,0,0,0,0, 0,0,0,0,1, 0,0,1,0,0, 0,1,0,0,0}); + auto expQR = NDArrayFactory::create( {6,5}, {-37.054 , 0.323852 , 8.04231 , -22.9395 ,-13.089, 0.105164, 32.6021, 6.42277, -0.262898,-1.58766, 0.140218, -0.485058, 29.2073, -9.92301,-23.7111, -0.262909,-0.00866538, 0.103467, 8.55831,-1.86455, -0.315491, 0.539207, 0.40754,-0.0374124,-7.10401, 0.315491, 0.385363,-0.216459, -0.340008,0.628595}); + auto expCoeffs = NDArrayFactory::create( {1,5}, {1.53975, 1.19431, 1.63446, 1.7905, 1.43356}); + auto expPermut = NDArrayFactory::create( {5,5}, {0,0,0,1,0, 1,0,0,0,0, 0,0,0,0,1, 0,0,1,0,0, 0,1,0,0,0}); ops::helpers::HHcolPivQR qr(matrix1); @@ -543,12 +543,12 @@ TEST_F(HelpersTests1, HHcolPivQR_3) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test1) { - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto left = NDArrayFactory::create('c', {2,2}); - auto right = NDArrayFactory::create('c', {2,2}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto left = NDArrayFactory::create( {2,2}); + auto right = NDArrayFactory::create( {2,2}); - auto expLeft = NDArrayFactory::create('c', {2,2}, {0.972022, 0.23489, -0.23489, 0.972022}); - auto expRight = NDArrayFactory::create('c', {2,2}, {0.827657, 0.561234, -0.561234, 0.827657}); + auto expLeft = NDArrayFactory::create( {2,2}, {0.972022, 0.23489, -0.23489, 0.972022}); + auto expRight = NDArrayFactory::create( {2,2}, {0.827657, 0.561234, -0.561234, 0.827657}); ops::helpers::JacobiSVD::svd2x2(matrix3, 1, 3, left, right); @@ -559,13 +559,13 @@ TEST_F(HelpersTests1, JacobiSVD_test1) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test2) { - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto matrix4 = NDArrayFactory::create('c', {5,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19}); - auto matrix5 = NDArrayFactory::create('c', {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto matrix4 = NDArrayFactory::create( {5,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19}); + auto matrix5 = NDArrayFactory::create( {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); - auto exp3 = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, -0.609208,19.6977, 8.63044,-11.9811,-4.67059, -2, -11, 8, 2, -6, 3.55371, 0,-12.5903, 7.51356, -5.5844, 16, 15, -3, 7, 0}); - auto exp4 = NDArrayFactory::create('c', {5,5}, {12, -10.9657,19,24.5714, -6, 3, -2.6399, 2,8.83351, -7, 14,-0.406138,18,18.7839, 18, -14, 12.8949, 1,-7.9197, 2, -3, 23.353, 8, 8.2243,-19}); - auto exp5 = NDArrayFactory::create('c', {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); + auto exp3 = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, -0.609208,19.6977, 8.63044,-11.9811,-4.67059, -2, -11, 8, 2, -6, 3.55371, 0,-12.5903, 7.51356, -5.5844, 16, 15, -3, 7, 0}); + auto exp4 = NDArrayFactory::create( {5,5}, {12, -10.9657,19,24.5714, -6, 3, -2.6399, 2,8.83351, -7, 14,-0.406138,18,18.7839, 18, -14, 12.8949, 1,-7.9197, 2, -3, 23.353, 8, 8.2243,-19}); + auto exp5 = NDArrayFactory::create( {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); ops::helpers::JacobiSVD jac(matrix3, true, true, true); jac._m = matrix3; @@ -586,10 +586,10 @@ TEST_F(HelpersTests1, JacobiSVD_test2) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test3) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto rotation = NDArrayFactory::create('c', {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); + auto matrix = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto rotation = NDArrayFactory::create( {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); - auto expected = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, -1.14919,-12.1206,3.59677, 4.34919,-4.24758, -1.94919, 11.7427,11.6698,-10.4444,-2.74919, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); + auto expected = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, -1.14919,-12.1206,3.59677, 4.34919,-4.24758, -1.94919, 11.7427,11.6698,-10.4444,-2.74919, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); ops::helpers::JacobiSVD::mulRotationOnLeft(1, 2, matrix, rotation); @@ -599,10 +599,10 @@ TEST_F(HelpersTests1, JacobiSVD_test3) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test4) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto rotation = NDArrayFactory::create('c', {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); + auto matrix = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto rotation = NDArrayFactory::create( {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); - auto expected = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, 1.94919, 4.92056,-8.79677,1.25081, 5.04758, 1.14919,-16.1427,-8.46976,11.2444,0.349193, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); + auto expected = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, 1.94919, 4.92056,-8.79677,1.25081, 5.04758, 1.14919,-16.1427,-8.46976,11.2444,0.349193, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); ops::helpers::JacobiSVD::mulRotationOnLeft(2, 1, matrix, rotation); @@ -612,10 +612,10 @@ TEST_F(HelpersTests1, JacobiSVD_test4) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test5) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto rotation = NDArrayFactory::create('c', {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); + auto matrix = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto rotation = NDArrayFactory::create( {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); - auto expected = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, 2, -18, -13, 14, 2, 1.14919,6.32056,-4.59677,-1.14919, 3.44758, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); + auto expected = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, 2, -18, -13, 14, 2, 1.14919,6.32056,-4.59677,-1.14919, 3.44758, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); ops::helpers::JacobiSVD::mulRotationOnLeft(2, 2, matrix, rotation); @@ -625,10 +625,10 @@ TEST_F(HelpersTests1, JacobiSVD_test5) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test6) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto rotation = NDArrayFactory::create('c', {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); + auto matrix = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto rotation = NDArrayFactory::create( {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); - auto expected = NDArrayFactory::create('c', {5,5}, {-18,-14.5173, 4.5746,-7, 1, 2, 6.46976,-16.5427,14, 2, -2,-8.39677,-6.92056, 2,-6, -3,-7.79677,-4.59677,-2, 7, 16, 5.32379, 11.019, 7, 0}); + auto expected = NDArrayFactory::create( {5,5}, {-18,-14.5173, 4.5746,-7, 1, 2, 6.46976,-16.5427,14, 2, -2,-8.39677,-6.92056, 2,-6, -3,-7.79677,-4.59677,-2, 7, 16, 5.32379, 11.019, 7, 0}); ops::helpers::JacobiSVD::mulRotationOnRight(1, 2, matrix, rotation); @@ -638,10 +638,10 @@ TEST_F(HelpersTests1, JacobiSVD_test6) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test7) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto rotation = NDArrayFactory::create('c', {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); + auto matrix = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto rotation = NDArrayFactory::create( {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); - auto expected = NDArrayFactory::create('c', {5,5}, {-18, 14.9173, 3.0254,-7, 1, 2,-13.6698,11.3427,14, 2, -2, 3.99677,10.1206, 2,-6, -3, 4.59677,7.79677,-2, 7, 16, 0.67621,-12.219, 7, 0}); + auto expected = NDArrayFactory::create( {5,5}, {-18, 14.9173, 3.0254,-7, 1, 2,-13.6698,11.3427,14, 2, -2, 3.99677,10.1206, 2,-6, -3, 4.59677,7.79677,-2, 7, 16, 0.67621,-12.219, 7, 0}); ops::helpers::JacobiSVD::mulRotationOnRight(2, 1, matrix, rotation); @@ -651,10 +651,10 @@ TEST_F(HelpersTests1, JacobiSVD_test7) { ////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test8) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto rotation = NDArrayFactory::create('c', {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); + auto matrix = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto rotation = NDArrayFactory::create( {2,2}, {0.2, math::nd4j_sqrt(0.6), -math::nd4j_sqrt(0.6), 0.2}); - auto expected = NDArrayFactory::create('c', {5,5}, {-18, 1, 18.5173,-7, 1, 2,-18,-12.6698,14, 2, -2,-11, 7.79677, 2,-6, -3, -8, 7.79677,-2, 7, 16, 15,-2.92379, 7, 0}); + auto expected = NDArrayFactory::create( {5,5}, {-18, 1, 18.5173,-7, 1, 2,-18,-12.6698,14, 2, -2,-11, 7.79677, 2,-6, -3, -8, 7.79677,-2, 7, 16, 15,-2.92379, 7, 0}); ops::helpers::JacobiSVD::mulRotationOnRight(2, 2, matrix, rotation); @@ -664,11 +664,11 @@ TEST_F(HelpersTests1, JacobiSVD_test8) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test9) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto matrix = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expS = NDArrayFactory::create('c', {5,1}, {35.7975, 29.1924, 11.1935, 9.2846, 6.77071}); - auto expU = NDArrayFactory::create('c', {5,5}, {0.744855,0.0686476, 0.079663,0.0889877, 0.65285, -0.386297,-0.760021,0.00624688, 0.156774, 0.498522, 0.186491,-0.322427, 0.773083,-0.468826,-0.209299, 0.246053,-0.215594, 0.240942, 0.821793,-0.399475, -0.447933, 0.516928, 0.581295, 0.269001, 0.349106}); - auto expV = NDArrayFactory::create('c', {5,5}, {-0.627363, 0.23317, 0.501211, 0.160272, -0.524545, -0.0849394, 0.917171,-0.155876,-0.0124053, 0.356555, 0.66983, 0.182569, 0.696897, 0.179807,0.000864568, -0.387647, -0.264316, 0.416597, 0.0941014, 0.772955, 0.0160818,-0.0351459,-0.255484, 0.965905, 0.0161524}); + auto expS = NDArrayFactory::create( {5,1}, {35.7975, 29.1924, 11.1935, 9.2846, 6.77071}); + auto expU = NDArrayFactory::create( {5,5}, {0.744855,0.0686476, 0.079663,0.0889877, 0.65285, -0.386297,-0.760021,0.00624688, 0.156774, 0.498522, 0.186491,-0.322427, 0.773083,-0.468826,-0.209299, 0.246053,-0.215594, 0.240942, 0.821793,-0.399475, -0.447933, 0.516928, 0.581295, 0.269001, 0.349106}); + auto expV = NDArrayFactory::create( {5,5}, {-0.627363, 0.23317, 0.501211, 0.160272, -0.524545, -0.0849394, 0.917171,-0.155876,-0.0124053, 0.356555, 0.66983, 0.182569, 0.696897, 0.179807,0.000864568, -0.387647, -0.264316, 0.416597, 0.0941014, 0.772955, 0.0160818,-0.0351459,-0.255484, 0.965905, 0.0161524}); ops::helpers::JacobiSVD jac(matrix, true, true, true); @@ -680,11 +680,11 @@ TEST_F(HelpersTests1, JacobiSVD_test9) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test10) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto matrix = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expS = NDArrayFactory::create('c', {5,1}, {35.7975, 29.1924, 11.1935, 9.2846, 6.77071}); - auto expU = NDArrayFactory::create('c', {5,5}, {0.744855,0.0686476, 0.079663,0.0889877, 0.65285, -0.386297,-0.760021,0.00624688, 0.156774, 0.498522, 0.186491,-0.322427, 0.773083,-0.468826,-0.209299, 0.246053,-0.215594, 0.240942, 0.821793,-0.399475, -0.447933, 0.516928, 0.581295, 0.269001, 0.349106}); - auto expV = NDArrayFactory::create('c', {5,5}, {-0.627363, 0.23317, 0.501211, 0.160272, -0.524545, -0.0849394, 0.917171,-0.155876,-0.0124053, 0.356555, 0.66983, 0.182569, 0.696897, 0.179807,0.000864568, -0.387647, -0.264316, 0.416597, 0.0941014, 0.772955, 0.0160818,-0.0351459,-0.255484, 0.965905, 0.0161524}); + auto expS = NDArrayFactory::create( {5,1}, {35.7975, 29.1924, 11.1935, 9.2846, 6.77071}); + auto expU = NDArrayFactory::create( {5,5}, {0.744855,0.0686476, 0.079663,0.0889877, 0.65285, -0.386297,-0.760021,0.00624688, 0.156774, 0.498522, 0.186491,-0.322427, 0.773083,-0.468826,-0.209299, 0.246053,-0.215594, 0.240942, 0.821793,-0.399475, -0.447933, 0.516928, 0.581295, 0.269001, 0.349106}); + auto expV = NDArrayFactory::create( {5,5}, {-0.627363, 0.23317, 0.501211, 0.160272, -0.524545, -0.0849394, 0.917171,-0.155876,-0.0124053, 0.356555, 0.66983, 0.182569, 0.696897, 0.179807,0.000864568, -0.387647, -0.264316, 0.416597, 0.0941014, 0.772955, 0.0160818,-0.0351459,-0.255484, 0.965905, 0.0161524}); ops::helpers::JacobiSVD jac(matrix, true, true, false); @@ -696,11 +696,11 @@ TEST_F(HelpersTests1, JacobiSVD_test10) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test11) { - auto matrix = NDArrayFactory::create('c', {6,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); + auto matrix = NDArrayFactory::create( {6,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); - auto expS = NDArrayFactory::create('c', {5,1}, {36.27, 32.1997, 15.9624, 10.6407, 6.9747}); - auto expU = NDArrayFactory::create('c', {6,5}, {0.720125,-0.149734, 0.227784,-0.0288531, 0.595353, -0.509487,-0.567298, -0.237169,-0.0469077, 0.38648, 0.120912, -0.32916,-0.0202265, 0.921633, -0.153994, 0.180033,-0.294831, 0.357867, -0.194106, -0.646595, -0.354033, 0.521937, 0.556566, 0.305582, 0.211013, -0.222425,-0.433662, 0.673515, -0.128465, 0.099309}); - auto expV = NDArrayFactory::create('c', {5,5}, {-0.581609, 0.315327,0.333158, 0.34476, -0.576582, 0.117364, 0.889461,0.175174,-0.166603, 0.369651, 0.643246,-0.0899117,0.613288, 0.442462,-0.0790943, -0.480818, -0.264384,0.395122, 0.223126, 0.702145, -0.0548207, -0.177325,0.571031,-0.779632, -0.1779}); + auto expS = NDArrayFactory::create( {5,1}, {36.27, 32.1997, 15.9624, 10.6407, 6.9747}); + auto expU = NDArrayFactory::create( {6,5}, {0.720125,-0.149734, 0.227784,-0.0288531, 0.595353, -0.509487,-0.567298, -0.237169,-0.0469077, 0.38648, 0.120912, -0.32916,-0.0202265, 0.921633, -0.153994, 0.180033,-0.294831, 0.357867, -0.194106, -0.646595, -0.354033, 0.521937, 0.556566, 0.305582, 0.211013, -0.222425,-0.433662, 0.673515, -0.128465, 0.099309}); + auto expV = NDArrayFactory::create( {5,5}, {-0.581609, 0.315327,0.333158, 0.34476, -0.576582, 0.117364, 0.889461,0.175174,-0.166603, 0.369651, 0.643246,-0.0899117,0.613288, 0.442462,-0.0790943, -0.480818, -0.264384,0.395122, 0.223126, 0.702145, -0.0548207, -0.177325,0.571031,-0.779632, -0.1779}); ops::helpers::JacobiSVD jac(matrix, true, true, false); @@ -712,11 +712,11 @@ TEST_F(HelpersTests1, JacobiSVD_test11) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test12) { - auto matrix = NDArrayFactory::create('c', {6,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); + auto matrix = NDArrayFactory::create( {6,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); - auto expS = NDArrayFactory::create('c', {5,1}, {36.27, 32.1997, 15.9624, 10.6407, 6.9747}); - auto expU = NDArrayFactory::create('c', {6,6}, {0.720125,-0.149734, 0.227784,-0.0288531, 0.595353,-0.227676, -0.509487,-0.567298, -0.237169,-0.0469077, 0.38648,-0.459108, 0.120912, -0.32916,-0.0202265, 0.921633,-0.153994,0.0591992, 0.180033,-0.294831, 0.357867, -0.194106,-0.646595,-0.544823, -0.354033, 0.521937, 0.556566, 0.305582, 0.211013,-0.393155, -0.222425,-0.433662, 0.673515, -0.128465, 0.099309, 0.531485}); - auto expV = NDArrayFactory::create('c', {5,5}, {-0.581609, 0.315327,0.333158, 0.34476, -0.576582, 0.117364, 0.889461,0.175174,-0.166603, 0.369651, 0.643246,-0.0899117,0.613288, 0.442462,-0.0790943, -0.480818, -0.264384,0.395122, 0.223126, 0.702145, -0.0548207, -0.177325,0.571031,-0.779632, -0.1779}); + auto expS = NDArrayFactory::create( {5,1}, {36.27, 32.1997, 15.9624, 10.6407, 6.9747}); + auto expU = NDArrayFactory::create( {6,6}, {0.720125,-0.149734, 0.227784,-0.0288531, 0.595353,-0.227676, -0.509487,-0.567298, -0.237169,-0.0469077, 0.38648,-0.459108, 0.120912, -0.32916,-0.0202265, 0.921633,-0.153994,0.0591992, 0.180033,-0.294831, 0.357867, -0.194106,-0.646595,-0.544823, -0.354033, 0.521937, 0.556566, 0.305582, 0.211013,-0.393155, -0.222425,-0.433662, 0.673515, -0.128465, 0.099309, 0.531485}); + auto expV = NDArrayFactory::create( {5,5}, {-0.581609, 0.315327,0.333158, 0.34476, -0.576582, 0.117364, 0.889461,0.175174,-0.166603, 0.369651, 0.643246,-0.0899117,0.613288, 0.442462,-0.0790943, -0.480818, -0.264384,0.395122, 0.223126, 0.702145, -0.0548207, -0.177325,0.571031,-0.779632, -0.1779}); ops::helpers::JacobiSVD jac(matrix, true, true, true); @@ -728,11 +728,11 @@ TEST_F(HelpersTests1, JacobiSVD_test12) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test13) { - auto matrix = NDArrayFactory::create('c', {5,6}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); + auto matrix = NDArrayFactory::create( {5,6}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); - auto expS = NDArrayFactory::create('c', {5,1}, {40.499, 23.5079, 17.8139, 14.4484, 7.07957}); - auto expU = NDArrayFactory::create('c', {5,5}, {0.592324,-0.121832,-0.484064,-0.624878,-0.0975619, 0.651331, 0.367418, 0.117429, 0.370792, 0.538048, -0.272693,-0.138725, 0.249336,-0.540587, 0.742962, 0.263619,-0.903996, 0.179714, 0.276206, 0.0686237, -0.284717,-0.117079,-0.810818, 0.321741, 0.379848}); - auto expV = NDArrayFactory::create('c', {6,6}, {-0.619634,-0.158345, 0.462262,-0.021009,-0.299779, 0.53571, -0.183441,-0.504296,-0.150804,-0.251078,-0.563079,-0.556052, 0.724925,-0.404744, 0.154104,-0.177039,-0.262604, 0.431988, 0.0335645,-0.501546, 0.221702, 0.797602, 0.186339,-0.165176, -0.0675636,0.0663677,-0.728788, 0.414614,-0.390566, 0.368038, -0.226262, -0.54849,-0.399426,-0.311613, 0.580387, 0.233392}); + auto expS = NDArrayFactory::create( {5,1}, {40.499, 23.5079, 17.8139, 14.4484, 7.07957}); + auto expU = NDArrayFactory::create( {5,5}, {0.592324,-0.121832,-0.484064,-0.624878,-0.0975619, 0.651331, 0.367418, 0.117429, 0.370792, 0.538048, -0.272693,-0.138725, 0.249336,-0.540587, 0.742962, 0.263619,-0.903996, 0.179714, 0.276206, 0.0686237, -0.284717,-0.117079,-0.810818, 0.321741, 0.379848}); + auto expV = NDArrayFactory::create( {6,6}, {-0.619634,-0.158345, 0.462262,-0.021009,-0.299779, 0.53571, -0.183441,-0.504296,-0.150804,-0.251078,-0.563079,-0.556052, 0.724925,-0.404744, 0.154104,-0.177039,-0.262604, 0.431988, 0.0335645,-0.501546, 0.221702, 0.797602, 0.186339,-0.165176, -0.0675636,0.0663677,-0.728788, 0.414614,-0.390566, 0.368038, -0.226262, -0.54849,-0.399426,-0.311613, 0.580387, 0.233392}); ops::helpers::JacobiSVD jac(matrix, true, true, true); @@ -744,11 +744,11 @@ TEST_F(HelpersTests1, JacobiSVD_test13) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test14) { - auto matrix = NDArrayFactory::create('c', {5,6}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); + auto matrix = NDArrayFactory::create( {5,6}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); - auto expS = NDArrayFactory::create('c', {5,1}, {40.499, 23.5079, 17.8139, 14.4484, 7.07957}); - auto expU = NDArrayFactory::create('c', {5,5}, {0.592324,-0.121832,-0.484064,-0.624878,-0.0975619, 0.651331, 0.367418, 0.117429, 0.370792, 0.538048, -0.272693,-0.138725, 0.249336,-0.540587, 0.742962, 0.263619,-0.903996, 0.179714, 0.276206, 0.0686237, -0.284717,-0.117079,-0.810818, 0.321741, 0.379848}); - auto expV = NDArrayFactory::create('c', {6,5}, {-0.619634,-0.158345, 0.462262,-0.021009,-0.299779, -0.183441,-0.504296,-0.150804,-0.251078,-0.563079, 0.724925,-0.404744, 0.154104,-0.177039,-0.262604, 0.0335645,-0.501546, 0.221702, 0.797602, 0.186339, -0.0675636,0.0663677,-0.728788, 0.414614,-0.390566, -0.226262, -0.54849,-0.399426,-0.311613, 0.580387}); + auto expS = NDArrayFactory::create( {5,1}, {40.499, 23.5079, 17.8139, 14.4484, 7.07957}); + auto expU = NDArrayFactory::create( {5,5}, {0.592324,-0.121832,-0.484064,-0.624878,-0.0975619, 0.651331, 0.367418, 0.117429, 0.370792, 0.538048, -0.272693,-0.138725, 0.249336,-0.540587, 0.742962, 0.263619,-0.903996, 0.179714, 0.276206, 0.0686237, -0.284717,-0.117079,-0.810818, 0.321741, 0.379848}); + auto expV = NDArrayFactory::create( {6,5}, {-0.619634,-0.158345, 0.462262,-0.021009,-0.299779, -0.183441,-0.504296,-0.150804,-0.251078,-0.563079, 0.724925,-0.404744, 0.154104,-0.177039,-0.262604, 0.0335645,-0.501546, 0.221702, 0.797602, 0.186339, -0.0675636,0.0663677,-0.728788, 0.414614,-0.390566, -0.226262, -0.54849,-0.399426,-0.311613, 0.580387}); ops::helpers::JacobiSVD jac(matrix, true, true, false); @@ -760,11 +760,11 @@ TEST_F(HelpersTests1, JacobiSVD_test14) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, JacobiSVD_test15) { - auto matrix = NDArrayFactory::create('c', {5,6}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); + auto matrix = NDArrayFactory::create( {5,6}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0, 3, -11, 2, 12, 10}); - auto expS = NDArrayFactory::create('c', {5,1}, {40.499, 23.5079, 17.8139, 14.4484, 7.07957}); - auto expU = NDArrayFactory::create('c', {5,5}, {0.592324,-0.121832,-0.484064,-0.624878,-0.0975619, 0.651331, 0.367418, 0.117429, 0.370792, 0.538048, -0.272693,-0.138725, 0.249336,-0.540587, 0.742962, 0.263619,-0.903996, 0.179714, 0.276206, 0.0686237, -0.284717,-0.117079,-0.810818, 0.321741, 0.379848}); - auto expV = NDArrayFactory::create('c', {6,5}, {-0.619634,-0.158345, 0.462262,-0.021009,-0.299779, -0.183441,-0.504296,-0.150804,-0.251078,-0.563079, 0.724925,-0.404744, 0.154104,-0.177039,-0.262604, 0.0335645,-0.501546, 0.221702, 0.797602, 0.186339, -0.0675636,0.0663677,-0.728788, 0.414614,-0.390566, -0.226262, -0.54849,-0.399426,-0.311613, 0.580387}); + auto expS = NDArrayFactory::create( {5,1}, {40.499, 23.5079, 17.8139, 14.4484, 7.07957}); + auto expU = NDArrayFactory::create( {5,5}, {0.592324,-0.121832,-0.484064,-0.624878,-0.0975619, 0.651331, 0.367418, 0.117429, 0.370792, 0.538048, -0.272693,-0.138725, 0.249336,-0.540587, 0.742962, 0.263619,-0.903996, 0.179714, 0.276206, 0.0686237, -0.284717,-0.117079,-0.810818, 0.321741, 0.379848}); + auto expV = NDArrayFactory::create( {6,5}, {-0.619634,-0.158345, 0.462262,-0.021009,-0.299779, -0.183441,-0.504296,-0.150804,-0.251078,-0.563079, 0.724925,-0.404744, 0.154104,-0.177039,-0.262604, 0.0335645,-0.501546, 0.221702, 0.797602, 0.186339, -0.0675636,0.0663677,-0.728788, 0.414614,-0.390566, -0.226262, -0.54849,-0.399426,-0.311613, 0.580387}); ops::helpers::JacobiSVD jac(matrix, false, false, false); @@ -821,10 +821,10 @@ TEST_F(HelpersTests1, test_binary_search_2) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test1) { - auto matrix = NDArrayFactory::create('c', {5,5}, {-17 ,14 ,9 ,-12 ,-12 ,5 ,-4 ,-19 ,-7 ,-12 ,15 ,16 ,17 ,-6 ,8 ,-10 ,14 ,-15 ,6 ,-10 ,-14 ,12 ,-1 ,-16 ,3}); - auto matrix2 = NDArrayFactory::create('c', {5,5}, {18 ,3 ,2 ,7 ,-11 ,7 ,7 ,10 ,-13 ,-8 ,13 ,20 ,-4 ,-16 ,-9 ,-17 ,-5 ,-7 ,-19 ,-8 ,-9 ,9 ,6 ,14 ,-11}); - auto expM = NDArrayFactory::create('c', {5,5}, {-17,14,9,-12,-12, 5,-4, -19, -7,-12, 15,16,17.0294, -6, 8, -10,14, -15, 6,-10, -14,12, 0,-16, 0}); - auto expU = NDArrayFactory::create('c', {5,5}, {18,3, 2,7,-11, 7, 7.75131,10,-12.5665, -8, 13, 20.905,-4,-14.7979, -9, -17,-3.87565,-7,-19.2608, -8, -9, 9, 6, 14,-11}); + auto matrix = NDArrayFactory::create( {5,5}, {-17 ,14 ,9 ,-12 ,-12 ,5 ,-4 ,-19 ,-7 ,-12 ,15 ,16 ,17 ,-6 ,8 ,-10 ,14 ,-15 ,6 ,-10 ,-14 ,12 ,-1 ,-16 ,3}); + auto matrix2 = NDArrayFactory::create( {5,5}, {18 ,3 ,2 ,7 ,-11 ,7 ,7 ,10 ,-13 ,-8 ,13 ,20 ,-4 ,-16 ,-9 ,-17 ,-5 ,-7 ,-19 ,-8 ,-9 ,9 ,6 ,14 ,-11}); + auto expM = NDArrayFactory::create( {5,5}, {-17,14,9,-12,-12, 5,-4, -19, -7,-12, 15,16,17.0294, -6, 8, -10,14, -15, 6,-10, -14,12, 0,-16, 0}); + auto expU = NDArrayFactory::create( {5,5}, {18,3, 2,7,-11, 7, 7.75131,10,-12.5665, -8, 13, 20.905,-4,-14.7979, -9, -17,-3.87565,-7,-19.2608, -8, -9, 9, 6, 14,-11}); ops::helpers::SVD svd(matrix, 4, true, true, true, 't'); svd._m = matrix; @@ -838,10 +838,10 @@ TEST_F(HelpersTests1, SVD_test1) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test2) { - auto matrix= NDArrayFactory::create('c', {5,5}, {-17 ,14 ,9 ,-12 ,-12 ,5 ,-4 ,-19 ,-7 ,-12 ,15 ,16 ,17 ,-6 ,8 ,-10 ,14 ,-15 ,6 ,-10 ,-14 ,12 ,-1 ,-16 ,3}); - auto matrix2 = NDArrayFactory::create('c', {5,5}, {18 ,3 ,2 ,7 ,-11 ,7 ,7 ,10 ,-13 ,-8 ,13 ,20 ,-4 ,-16 ,-9 ,-17 ,-5 ,-7 ,-19 ,-8 ,-9 ,9 ,6 ,14 ,-11}); - auto expM = NDArrayFactory::create('c', {5,5}, {22.6716,14, 9,-12,-12, 5,-4,-19, -7,-12, 0,16, 0, -6, 8, -10,14,-15, 6,-10, -14,12, -1,-16, 3}); - auto expU = NDArrayFactory::create('c', {5,5}, {-12.1738, 3, -13.4089, 7,-11, 1.36735, 7, -12.1297,-13, -8, -12.3944,20, -5.60173,-16, -9, -17,-5,-7,-19, -8, -9, 9, 6, 14,-11}); + auto matrix= NDArrayFactory::create( {5,5}, {-17 ,14 ,9 ,-12 ,-12 ,5 ,-4 ,-19 ,-7 ,-12 ,15 ,16 ,17 ,-6 ,8 ,-10 ,14 ,-15 ,6 ,-10 ,-14 ,12 ,-1 ,-16 ,3}); + auto matrix2 = NDArrayFactory::create( {5,5}, {18 ,3 ,2 ,7 ,-11 ,7 ,7 ,10 ,-13 ,-8 ,13 ,20 ,-4 ,-16 ,-9 ,-17 ,-5 ,-7 ,-19 ,-8 ,-9 ,9 ,6 ,14 ,-11}); + auto expM = NDArrayFactory::create( {5,5}, {22.6716,14, 9,-12,-12, 5,-4,-19, -7,-12, 0,16, 0, -6, 8, -10,14,-15, 6,-10, -14,12, -1,-16, 3}); + auto expU = NDArrayFactory::create( {5,5}, {-12.1738, 3, -13.4089, 7,-11, 1.36735, 7, -12.1297,-13, -8, -12.3944,20, -5.60173,-16, -9, -17,-5,-7,-19, -8, -9, 9, 6, 14,-11}); ops::helpers::SVD svd(matrix, 4, true, true, true); svd._m = matrix; @@ -855,10 +855,10 @@ TEST_F(HelpersTests1, SVD_test2) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test3) { - auto matrix= NDArrayFactory::create('c', {5,5}, {-17 ,14 ,9 ,-12 ,-12 ,5 ,-4 ,-19 ,-7 ,-12 ,15 ,16 ,17 ,-6 ,8 ,-10 ,14 ,-15 ,6 ,-10 ,-14 ,12 ,-1 ,-16 ,3}); - auto matrix2 = NDArrayFactory::create('c', {2,6}, {18 ,3 ,2 ,7 ,-11 ,7 ,7 ,10 ,-13 ,-8 ,13 ,20}); - auto expM = NDArrayFactory::create('c', {5,5}, {-17,14,9,-12,-12, 5,-4, -19, -7,-12, 15,16,17.0294, -6, 8, -10,14, -15, 6,-10, -14,12, 0,-16, 0}); - auto expU = NDArrayFactory::create('c', {2,6}, {18, 2.58377, 2, 7.16409,-11, 7, 7 ,10.4525 ,-13, -7.39897 ,13 ,20}); + auto matrix= NDArrayFactory::create( {5,5}, {-17 ,14 ,9 ,-12 ,-12 ,5 ,-4 ,-19 ,-7 ,-12 ,15 ,16 ,17 ,-6 ,8 ,-10 ,14 ,-15 ,6 ,-10 ,-14 ,12 ,-1 ,-16 ,3}); + auto matrix2 = NDArrayFactory::create( {2,6}, {18 ,3 ,2 ,7 ,-11 ,7 ,7 ,10 ,-13 ,-8 ,13 ,20}); + auto expM = NDArrayFactory::create( {5,5}, {-17,14,9,-12,-12, 5,-4, -19, -7,-12, 15,16,17.0294, -6, 8, -10,14, -15, 6,-10, -14,12, 0,-16, 0}); + auto expU = NDArrayFactory::create( {2,6}, {18, 2.58377, 2, 7.16409,-11, 7, 7 ,10.4525 ,-13, -7.39897 ,13 ,20}); ops::helpers::SVD svd(matrix, 4, false, true, true, 't'); svd._m = matrix; @@ -872,12 +872,12 @@ TEST_F(HelpersTests1, SVD_test3) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test4) { - auto matrix1 = NDArrayFactory::create('c', {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); - auto matrix2 = NDArrayFactory::create('c', {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expM = NDArrayFactory::create('c', {6,5}, {12, 20, 19,-18, -6, 3, 6, 2, -7, -7, 14, 8, 18,-17, 18, -14,-15,8.06226, 2, 2, -3,-18, 0,-17, 2, 12, 18, 6, -2,-17}); - auto expU = NDArrayFactory::create('c', {6,6}, {-10,-16, -20, 13, 20,-10, -9, -1,-20.7138,4.46525, -4, 20, -11, 19,-18.4812,2.72876, 12,-19, 18,-18, 17, -10,-19, 14, -2, -7, -17, -14, -4,-16, 18, -6, -18, 1,-15,-12}); - auto expV = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, 2,-18, -13, 14, 2, -2,-11,2.97683,-7.69015,-6, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); + auto matrix1 = NDArrayFactory::create( {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); + auto matrix2 = NDArrayFactory::create( {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto expM = NDArrayFactory::create( {6,5}, {12, 20, 19,-18, -6, 3, 6, 2, -7, -7, 14, 8, 18,-17, 18, -14,-15,8.06226, 2, 2, -3,-18, 0,-17, 2, 12, 18, 6, -2,-17}); + auto expU = NDArrayFactory::create( {6,6}, {-10,-16, -20, 13, 20,-10, -9, -1,-20.7138,4.46525, -4, 20, -11, 19,-18.4812,2.72876, 12,-19, 18,-18, 17, -10,-19, 14, -2, -7, -17, -14, -4,-16, 18, -6, -18, 1,-15,-12}); + auto expV = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, 2,-18, -13, 14, 2, -2,-11,2.97683,-7.69015,-6, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); ops::helpers::SVD svd(matrix3, 4, true, true, true, 't'); svd._m = matrix1; @@ -893,12 +893,12 @@ TEST_F(HelpersTests1, SVD_test4) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test5) { - auto matrix1 = NDArrayFactory::create('c', {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); - auto matrix2 = NDArrayFactory::create('c', {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expM = NDArrayFactory::create('c', {6,5}, {18.4391, 20, 19,-18, -6, 3, 6, 2, -7, -7, 0, 8,18.4391,-17, 18, -14,-15, 1, 2, 2, -3,-18, 8,-17,-19, 12, 18, 6, -2,-17}); - auto expU = NDArrayFactory::create('c', {6,6}, {-10,-16,-20,13, 20,-10, -9,-15.8359, -7,-12.2566, -4, 20, -11,-1.30158, -5,-26.1401, 12,-19, 18,-19.3068, 17, 7.15871,-19, 14, -2, -7,-17, -14, -4,-16, 18, -6,-18, 1,-15,-12}); - auto expV = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, 2,-1.08465,-13,22.7777, 2, -2,-5.64019, 8,9.65341,-6, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); + auto matrix1 = NDArrayFactory::create( {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); + auto matrix2 = NDArrayFactory::create( {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto expM = NDArrayFactory::create( {6,5}, {18.4391, 20, 19,-18, -6, 3, 6, 2, -7, -7, 0, 8,18.4391,-17, 18, -14,-15, 1, 2, 2, -3,-18, 8,-17,-19, 12, 18, 6, -2,-17}); + auto expU = NDArrayFactory::create( {6,6}, {-10,-16,-20,13, 20,-10, -9,-15.8359, -7,-12.2566, -4, 20, -11,-1.30158, -5,-26.1401, 12,-19, 18,-19.3068, 17, 7.15871,-19, 14, -2, -7,-17, -14, -4,-16, 18, -6,-18, 1,-15,-12}); + auto expV = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, 2,-1.08465,-13,22.7777, 2, -2,-5.64019, 8,9.65341,-6, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); ops::helpers::SVD svd(matrix3, 4, true, true, true, 't'); svd._m = matrix1; @@ -914,12 +914,12 @@ TEST_F(HelpersTests1, SVD_test5) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test6) { - auto matrix1 = NDArrayFactory::create('c', {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); - auto matrix2 = NDArrayFactory::create('c', {2,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expM = NDArrayFactory::create('c', {6,5}, {18.4391, 20, 19,-18, -6, 3, 6, 2, -7, -7, 0, 8,18.4391,-17, 18, -14,-15, 1, 2, 2, -3,-18, 8,-17,-19, 12, 18, 6, -2,-17}); - auto expU = NDArrayFactory::create('c', {2,6}, {-10, -0.542326,-20, 20.6084,20,-10, -9, -15.8359, -7,-12.2566,-4, 20}); - auto expV = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, 2,-1.08465,-13,22.7777, 2, -2,-5.64019, 8,9.65341,-6, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); + auto matrix1 = NDArrayFactory::create( {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); + auto matrix2 = NDArrayFactory::create( {2,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto expM = NDArrayFactory::create( {6,5}, {18.4391, 20, 19,-18, -6, 3, 6, 2, -7, -7, 0, 8,18.4391,-17, 18, -14,-15, 1, 2, 2, -3,-18, 8,-17,-19, 12, 18, 6, -2,-17}); + auto expU = NDArrayFactory::create( {2,6}, {-10, -0.542326,-20, 20.6084,20,-10, -9, -15.8359, -7,-12.2566,-4, 20}); + auto expV = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, 2,-1.08465,-13,22.7777, 2, -2,-5.64019, 8,9.65341,-6, -3, -8, 8, -2, 7, 16, 15, -3, 7, 0}); ops::helpers::SVD svd(matrix3, 4, false, true, true, 't'); svd._m = matrix1; @@ -935,13 +935,13 @@ TEST_F(HelpersTests1, SVD_test6) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test7) { - auto matrix1 = NDArrayFactory::create('c', {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); - auto matrix2 = NDArrayFactory::create('c', {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto matrix1 = NDArrayFactory::create( {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); + auto matrix2 = NDArrayFactory::create( {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expM = NDArrayFactory::create('c', {6,5}, {12, 20, 19,-18, -6, 3, 6, 2, -7, -7, 14, 8,19.6977,-17, 18, -14,-15, 1, 2, 2, -3,-18, 0,-17, 0, 12, 18, 6, -2,-17}); - auto expU = NDArrayFactory::create('c', {6,6}, {-10, -16,-20, 13, 20,-10, -9,-9.03658, -7,-17.8701, -4, 20, -11, 10.0519, -5,-24.1652, 12,-19, 18, -20.51, 17,-1.82762,-19, 14, -2,-12.0826,-17,-9.95039, -4,-16, 18, -6,-18, 1,-15,-12}); - auto expV = NDArrayFactory::create('c', {5,5}, {-18, 1, 19,-7, 1, 2,-18,-13,14, 2, -2,-11, 8, 2,-6, -3, -8, 8,-2, 7, 16, 15, -3, 7, 0}); + auto expM = NDArrayFactory::create( {6,5}, {12, 20, 19,-18, -6, 3, 6, 2, -7, -7, 14, 8,19.6977,-17, 18, -14,-15, 1, 2, 2, -3,-18, 0,-17, 0, 12, 18, 6, -2,-17}); + auto expU = NDArrayFactory::create( {6,6}, {-10, -16,-20, 13, 20,-10, -9,-9.03658, -7,-17.8701, -4, 20, -11, 10.0519, -5,-24.1652, 12,-19, 18, -20.51, 17,-1.82762,-19, 14, -2,-12.0826,-17,-9.95039, -4,-16, 18, -6,-18, 1,-15,-12}); + auto expV = NDArrayFactory::create( {5,5}, {-18, 1, 19,-7, 1, 2,-18,-13,14, 2, -2,-11, 8, 2,-6, -3, -8, 8,-2, 7, 16, 15, -3, 7, 0}); ops::helpers::SVD svd(matrix3, 4, true, true, true, 't'); svd._m = matrix1; @@ -957,13 +957,13 @@ TEST_F(HelpersTests1, SVD_test7) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test8) { - auto matrix1 = NDArrayFactory::create('c', {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); - auto matrix2 = NDArrayFactory::create('c', {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto matrix1 = NDArrayFactory::create( {6,5}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,-7 ,14 ,8 ,18 ,-17 ,18 ,-14 ,-15 ,1 ,2 ,2 ,-3 ,-18 ,8 ,-17 ,-19 ,12 ,18 ,6 ,-2 ,-17}); + auto matrix2 = NDArrayFactory::create( {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expM = NDArrayFactory::create('c', {6,5}, {12, 20,19,-18, -6, 3, 6, 2, -7, -7, 14,-15, 2,-17, 18, -14, 8, 1, 18, 2, -3,-18, 8,-17,-19, 12, 18, 6, -2,-17}); - auto expU = NDArrayFactory::create('c', {6,6}, {-10,-20,-16, 13, 20,-10, -9, -7, -1,-20, -4, 20, -11, -5, 19,-18, 12,-19, 18, 17,-18,-10,-19, 14, -2, -7,-17,-14, -4,-16, 18, -6,-18, 1,-15,-12}); - auto expV = NDArrayFactory::create('c', {5,5}, {-18, 1, 19,-7, 1, 2,-18,-13, 2,14, -2,-11, 8,-6, 2, -3, -8, 8, 7,-2, 16, 15, -3, 7, 0}); + auto expM = NDArrayFactory::create( {6,5}, {12, 20,19,-18, -6, 3, 6, 2, -7, -7, 14,-15, 2,-17, 18, -14, 8, 1, 18, 2, -3,-18, 8,-17,-19, 12, 18, 6, -2,-17}); + auto expU = NDArrayFactory::create( {6,6}, {-10,-20,-16, 13, 20,-10, -9, -7, -1,-20, -4, 20, -11, -5, 19,-18, 12,-19, 18, 17,-18,-10,-19, 14, -2, -7,-17,-14, -4,-16, 18, -6,-18, 1,-15,-12}); + auto expV = NDArrayFactory::create( {5,5}, {-18, 1, 19,-7, 1, 2,-18,-13, 2,14, -2,-11, 8,-6, 2, -3, -8, 8, 7,-2, 16, 15, -3, 7, 0}); ops::helpers::SVD svd(matrix3, 4, true, true, true, 't'); svd._m = matrix1; @@ -979,18 +979,18 @@ TEST_F(HelpersTests1, SVD_test8) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test9) { - auto col0 = NDArrayFactory::create('c', {10,1}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,14}); - auto diag = NDArrayFactory::create('c', {10,1}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2}); - auto permut = NDArrayFactory::create('c', {1,10}, {8 ,1 ,4 ,0, 5 ,2 ,9 ,3 ,7 ,6}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto col0 = NDArrayFactory::create( {10,1}, {12 ,20 ,19 ,-18 ,-6 ,3 ,6 ,2 ,-7 ,14}); + auto diag = NDArrayFactory::create( {10,1}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2}); + auto permut = NDArrayFactory::create( {1,10}, {8 ,1 ,4 ,0, 5 ,2 ,9 ,3 ,7 ,6}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expSingVals = NDArrayFactory::create('c', {10,1}, {-2, 15.304323, 11.2, -1, 1.73489, -12, -15.3043, -12.862, 5.6, 41.4039}); - auto expShifts = NDArrayFactory::create('c', {10,1}, {1, 19, 19, 1, 2, -18, -18, -13, 2, 2}); - auto expMus = NDArrayFactory::create('c', {10,1}, {-3, -3.695677, -7.8, -2, -0.265108, 6, 2.69568, 0.138048, 3.6, 39.4039}); + auto expSingVals = NDArrayFactory::create( {10,1}, {-2, 15.304323, 11.2, -1, 1.73489, -12, -15.3043, -12.862, 5.6, 41.4039}); + auto expShifts = NDArrayFactory::create( {10,1}, {1, 19, 19, 1, 2, -18, -18, -13, 2, 2}); + auto expMus = NDArrayFactory::create( {10,1}, {-3, -3.695677, -7.8, -2, -0.265108, 6, 2.69568, 0.138048, 3.6, 39.4039}); - auto singVals = NDArrayFactory::create('c', {10,1}); - auto shifts = NDArrayFactory::create('c', {10,1}); - auto mus = NDArrayFactory::create('c', {10,1}); + auto singVals = NDArrayFactory::create( {10,1}); + auto shifts = NDArrayFactory::create( {10,1}); + auto mus = NDArrayFactory::create( {10,1}); ops::helpers::SVD svd(matrix3, 4, true, true, true, 't'); svd.calcSingVals(col0, diag, permut, singVals, shifts, mus); @@ -1003,17 +1003,17 @@ TEST_F(HelpersTests1, SVD_test9) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test10) { - auto singVals = NDArrayFactory::create('c', {4,1}, {1 ,1 ,1 ,1}); - auto col0 = NDArrayFactory::create('c', {4,1}, {1 ,1 ,1 ,1}); - auto diag = NDArrayFactory::create('c', {4,1}, {5 ,7 ,-13 ,14}); - auto permut = NDArrayFactory::create('c', {1,4}, {0 ,2 ,3 ,1 }); - auto mus = NDArrayFactory::create('c', {4,1}, {4,1,4,6}); - auto shifts = NDArrayFactory::create('c', {4,1}, {4,2,5,6}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto singVals = NDArrayFactory::create( {4,1}, {1 ,1 ,1 ,1}); + auto col0 = NDArrayFactory::create( {4,1}, {1 ,1 ,1 ,1}); + auto diag = NDArrayFactory::create( {4,1}, {5 ,7 ,-13 ,14}); + auto permut = NDArrayFactory::create( {1,4}, {0 ,2 ,3 ,1 }); + auto mus = NDArrayFactory::create( {4,1}, {4,1,4,6}); + auto shifts = NDArrayFactory::create( {4,1}, {4,2,5,6}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expZhat = NDArrayFactory::create('c', {4,1}, {0, 0.278208, 72.501953, 0}); + auto expZhat = NDArrayFactory::create( {4,1}, {0, 0.278208, 72.501953, 0}); - auto zhat = NDArrayFactory::create('c', {4,1}); + auto zhat = NDArrayFactory::create( {4,1}); ops::helpers::SVD svd(matrix3, 4, true, true, true, 't'); svd.perturb(col0, diag, permut, singVals, shifts, mus, zhat); @@ -1026,18 +1026,18 @@ TEST_F(HelpersTests1, SVD_test10) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test11) { - auto singVals = NDArrayFactory::create('c', {4,1}, {1 ,1 ,1 ,1}); - auto zhat = NDArrayFactory::create('c', {4,1}, {2 ,1 ,2 ,1}); - auto diag = NDArrayFactory::create('c', {4,1}, {5 ,7 ,-13 ,14}); - auto permut = NDArrayFactory::create('c', {1,4}, {0 ,2 ,3 ,1 }); - auto mus = NDArrayFactory::create('c', {4,1}, {4,1,4,6}); - auto shifts = NDArrayFactory::create('c', {4,1}, {4,2,5,6}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto singVals = NDArrayFactory::create( {4,1}, {1 ,1 ,1 ,1}); + auto zhat = NDArrayFactory::create( {4,1}, {2 ,1 ,2 ,1}); + auto diag = NDArrayFactory::create( {4,1}, {5 ,7 ,-13 ,14}); + auto permut = NDArrayFactory::create( {1,4}, {0 ,2 ,3 ,1 }); + auto mus = NDArrayFactory::create( {4,1}, {4,1,4,6}); + auto shifts = NDArrayFactory::create( {4,1}, {4,2,5,6}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto expU = NDArrayFactory::create('c', {5,5}, {-0.662161, 0.980399,-0.791469,-0.748434, 0, -0.744931, 0.183825,-0.593602,-0.392928, 0, 0.0472972, 0.061275,0.0719517, 0.104781, 0, 0.0662161,0.0356509, 0.126635, 0.523904, 0, 0, 0, 0, 0, 1}); - auto expV = NDArrayFactory::create('c', {4,4}, {-0.745259,-0.965209, -0.899497, -0.892319, -0.652102, 0.21114, -0.39353, -0.156156, -0.0768918,-0.130705,-0.0885868,-0.0773343, 0.115929,0.0818966, 0.167906, 0.416415}); - auto U = NDArrayFactory::create('c', {5,5}); - auto V = NDArrayFactory::create('c', {4,4}); + auto expU = NDArrayFactory::create( {5,5}, {-0.662161, 0.980399,-0.791469,-0.748434, 0, -0.744931, 0.183825,-0.593602,-0.392928, 0, 0.0472972, 0.061275,0.0719517, 0.104781, 0, 0.0662161,0.0356509, 0.126635, 0.523904, 0, 0, 0, 0, 0, 1}); + auto expV = NDArrayFactory::create( {4,4}, {-0.745259,-0.965209, -0.899497, -0.892319, -0.652102, 0.21114, -0.39353, -0.156156, -0.0768918,-0.130705,-0.0885868,-0.0773343, 0.115929,0.0818966, 0.167906, 0.416415}); + auto U = NDArrayFactory::create( {5,5}); + auto V = NDArrayFactory::create( {4,4}); ops::helpers::SVD svd(matrix3, 4, true, true, true, 't'); @@ -1051,14 +1051,14 @@ TEST_F(HelpersTests1, SVD_test11) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test12) { - auto matrix1 = NDArrayFactory::create('c', {6,5}, {-2 ,-3 ,2 ,1 ,0 ,0 ,-4 ,5 ,-2 ,-3 ,-4 ,0 ,5 ,-1 ,-5 ,-3 ,-5 ,3 ,3 ,3 ,-5 ,5 ,-5 ,0 ,2 ,-2 ,-3 ,-4 ,-5 ,-3}); - auto matrix2 = NDArrayFactory::create('c', {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto matrix4 = NDArrayFactory::create('c', {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); + auto matrix1 = NDArrayFactory::create( {6,5}, {-2 ,-3 ,2 ,1 ,0 ,0 ,-4 ,5 ,-2 ,-3 ,-4 ,0 ,5 ,-1 ,-5 ,-3 ,-5 ,3 ,3 ,3 ,-5 ,5 ,-5 ,0 ,2 ,-2 ,-3 ,-4 ,-5 ,-3}); + auto matrix2 = NDArrayFactory::create( {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto matrix4 = NDArrayFactory::create( {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); - auto expSingVals = NDArrayFactory::create('c', {4,1}, {8.43282, 5, 2.3, 1.10167}); - auto expU = NDArrayFactory::create('c', {5,5}, {0.401972,0, 0.206791, 0.891995,0, 0,1, 0, 0,0, 0.816018,0,-0.522818,-0.246529,0, -0.415371,0,-0.826982, 0.378904,0, 0,0, 0, 0,1}); - auto expV = NDArrayFactory::create('c', {4,4}, {-0.951851,0,-0.133555,-0.275939, 0,1, 0, 0, 0.290301,0,-0.681937,-0.671333, -0.098513,0,-0.719114, 0.687873}); + auto expSingVals = NDArrayFactory::create( {4,1}, {8.43282, 5, 2.3, 1.10167}); + auto expU = NDArrayFactory::create( {5,5}, {0.401972,0, 0.206791, 0.891995,0, 0,1, 0, 0,0, 0.816018,0,-0.522818,-0.246529,0, -0.415371,0,-0.826982, 0.378904,0, 0,0, 0, 0,1}); + auto expV = NDArrayFactory::create( {4,4}, {-0.951851,0,-0.133555,-0.275939, 0,1, 0, 0, 0.290301,0,-0.681937,-0.671333, -0.098513,0,-0.719114, 0.687873}); ops::helpers::SVD svd(matrix4, 4, true, true, true, 't'); svd._m = matrix1; @@ -1079,14 +1079,14 @@ TEST_F(HelpersTests1, SVD_test12) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test16) { - auto matrix1 = NDArrayFactory::create('c', {6,5}, {-2 ,-3 ,2 ,1 ,0 ,0 ,-4 ,5 ,-2 ,-3 ,-4 ,0 ,5 ,-1 ,-5 ,-3 ,-5 ,3 ,3 ,3 ,-5 ,5 ,-5 ,0 ,2 ,-2 ,-3 ,-4 ,-5 ,-3}); - auto matrix2 = NDArrayFactory::create('c', {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto matrix4 = NDArrayFactory::create('c', {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); + auto matrix1 = NDArrayFactory::create( {6,5}, {-2 ,-3 ,2 ,1 ,0 ,0 ,-4 ,5 ,-2 ,-3 ,-4 ,0 ,5 ,-1 ,-5 ,-3 ,-5 ,3 ,3 ,3 ,-5 ,5 ,-5 ,0 ,2 ,-2 ,-3 ,-4 ,-5 ,-3}); + auto matrix2 = NDArrayFactory::create( {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto matrix4 = NDArrayFactory::create( {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); - auto expM = NDArrayFactory::create('c', {6,5}, {-2, -3, 2, 1, 0, 0,7.07022, 0, 0, 0, -4, 0,5.09585, 0, 0, -3, 0, 0,3.32256, 0, -5, 0, 0, 0,1.00244, -2, -3, -4, -5, 0}); - auto expU = NDArrayFactory::create('c', {6,6}, {-5.58884,-2.18397,-11.0944, 3.30292, 0,-10, 8.19094, 5.05917, 16.9641,-4.53112, 0, 20, 6.55878, 3.76734, 15.9255,-3.76399, 0,-19, 1.36021, 23.3551,-8.01165, -1.5816, 0, 14, -15.6318,-2.85386, 8.83051, 2.74286, 1,-16, 18, -6, -18, 1,-15,-12}); - auto expV = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, 2, 14.5866, 3.90133, 1.06593, 9.99376, -2, 9.97311, 2.44445, 6.85159, 2.37014, -3, 0.56907,-8.93313,-5.31596, 3.10096, 16,-10.6859, 1.70708,-7.24295,-10.6975}); + auto expM = NDArrayFactory::create( {6,5}, {-2, -3, 2, 1, 0, 0,7.07022, 0, 0, 0, -4, 0,5.09585, 0, 0, -3, 0, 0,3.32256, 0, -5, 0, 0, 0,1.00244, -2, -3, -4, -5, 0}); + auto expU = NDArrayFactory::create( {6,6}, {-5.58884,-2.18397,-11.0944, 3.30292, 0,-10, 8.19094, 5.05917, 16.9641,-4.53112, 0, 20, 6.55878, 3.76734, 15.9255,-3.76399, 0,-19, 1.36021, 23.3551,-8.01165, -1.5816, 0, 14, -15.6318,-2.85386, 8.83051, 2.74286, 1,-16, 18, -6, -18, 1,-15,-12}); + auto expV = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, 2, 14.5866, 3.90133, 1.06593, 9.99376, -2, 9.97311, 2.44445, 6.85159, 2.37014, -3, 0.56907,-8.93313,-5.31596, 3.10096, 16,-10.6859, 1.70708,-7.24295,-10.6975}); ops::helpers::SVD svd(matrix4, 4, true, true, true, 't'); svd._m = matrix1; @@ -1107,14 +1107,14 @@ TEST_F(HelpersTests1, SVD_test16) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, SVD_test17) { - auto matrix1 = NDArrayFactory::create('c', {6,5}, {-2 ,-3 ,2 ,1 ,0 ,0 ,-4 ,5 ,-2 ,-3 ,-4 ,0 ,5 ,-1 ,-5 ,-3 ,-5 ,3 ,3 ,3 ,-5 ,5 ,-5 ,0 ,2 ,-2 ,-3 ,-4 ,-5 ,-3}); - auto matrix2 = NDArrayFactory::create('c', {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); - auto matrix3 = NDArrayFactory::create('c', {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); - auto matrix4 = NDArrayFactory::create('c', {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); + auto matrix1 = NDArrayFactory::create( {6,5}, {-2 ,-3 ,2 ,1 ,0 ,0 ,-4 ,5 ,-2 ,-3 ,-4 ,0 ,5 ,-1 ,-5 ,-3 ,-5 ,3 ,3 ,3 ,-5 ,5 ,-5 ,0 ,2 ,-2 ,-3 ,-4 ,-5 ,-3}); + auto matrix2 = NDArrayFactory::create( {6,6}, {-10 ,-16 ,-20 ,13 ,20 ,-10 ,-9 ,-1 ,-7 ,-20 ,-4 ,20 ,-11 ,19 ,-5 ,-18 ,12 ,-19 ,18 ,-18 ,17 ,-10 ,-19 ,14 ,-2 ,-7 ,-17 ,-14 ,-4 ,-16 ,18 ,-6 ,-18 ,1 ,-15 ,-12}); + auto matrix3 = NDArrayFactory::create( {5,5}, {-18 ,1 ,19 ,-7 ,1 ,2 ,-18 ,-13 ,14 ,2 ,-2 ,-11 ,8 ,2 ,-6 ,-3 ,-8 ,8 ,-2 ,7 ,16 ,15 ,-3 ,7 ,0}); + auto matrix4 = NDArrayFactory::create( {5,5}, {3 ,-8 ,5 ,7 ,-8 ,4 ,-19 ,-12 ,-4 ,-5 ,-11 ,19 ,-2 ,-7 ,1 ,16 ,-5 ,10 ,19 ,-19 ,0 ,-20 ,0 ,-8 ,-13}); - auto expM = NDArrayFactory::create('c', {6,5}, {-2, -3, 2, 1, 0, 0,12.1676, 0, 0, 0, -4, 0,7.49514, 0, 0, -3, 0, 0,5.00951, 0, -5, 0, 0, 0, 1.63594, -2, 0, 0, 0, 0}); - auto expU = NDArrayFactory::create('c', {6,6}, {0.295543,-0.238695, 0.262095,-0.231772, -0.85631,-10, 0.519708,0.0571492,-0.368706,-0.727615, 0.247527, 20, 0.313717,-0.561567,-0.602941, 0.469567,-0.0468295,-19, 0.474589,-0.372165, 0.656962, 0.124776, 0.434845, 14, -0.564717,-0.697061,0.0150082, -0.4252, 0.119081,-16, 18, -6, -18, 1, -15,-12}); - auto expV = NDArrayFactory::create('c', {5,5}, {-18, 1, 19, -7, 1, 2,-0.0366659, 0.977361,-0.0316106,0.205967, -2, -0.670795, -0.151697, -0.503288,0.523185, -3, 0.740124,-0.0841435, -0.486714,0.456339, 16, 0.0300945, -0.121135, 0.71331,0.689645}); + auto expM = NDArrayFactory::create( {6,5}, {-2, -3, 2, 1, 0, 0,12.1676, 0, 0, 0, -4, 0,7.49514, 0, 0, -3, 0, 0,5.00951, 0, -5, 0, 0, 0, 1.63594, -2, 0, 0, 0, 0}); + auto expU = NDArrayFactory::create( {6,6}, {0.295543,-0.238695, 0.262095,-0.231772, -0.85631,-10, 0.519708,0.0571492,-0.368706,-0.727615, 0.247527, 20, 0.313717,-0.561567,-0.602941, 0.469567,-0.0468295,-19, 0.474589,-0.372165, 0.656962, 0.124776, 0.434845, 14, -0.564717,-0.697061,0.0150082, -0.4252, 0.119081,-16, 18, -6, -18, 1, -15,-12}); + auto expV = NDArrayFactory::create( {5,5}, {-18, 1, 19, -7, 1, 2,-0.0366659, 0.977361,-0.0316106,0.205967, -2, -0.670795, -0.151697, -0.503288,0.523185, -3, 0.740124,-0.0841435, -0.486714,0.456339, 16, 0.0300945, -0.121135, 0.71331,0.689645}); ops::helpers::SVD svd(matrix4, 10, true, true, true, 't'); svd._m = matrix1; @@ -1282,9 +1282,9 @@ TEST_F(HelpersTests1, SVD_test17) { ///////////////////////////////////////////////////////////////////// //TEST_F(HelpersTests1, reverseArray_test1) { // -// auto inArr = NDArrayFactory::create('c', {2,5}, {1,2,3,4,5,6,7,8,9,10}); -// auto exp = NDArrayFactory::create('c', {2,5}, {10,9,8,7,6,5,4,3,2,1}); -// auto outArr = NDArrayFactory::create('c', {2,5}); +// auto inArr = NDArrayFactory::create( {2,5}, {1,2,3,4,5,6,7,8,9,10}); +// auto exp = NDArrayFactory::create( {2,5}, {10,9,8,7,6,5,4,3,2,1}); +// auto outArr = NDArrayFactory::create( {2,5}); // // // ops::helpers::reverseArray(sd::LaunchContext ::defaultContext(), inArr.getBuffer(), inArr.shapeInfo(), outArr.getBuffer(), outArr.shapeInfo()); @@ -1297,8 +1297,8 @@ TEST_F(HelpersTests1, SVD_test17) { ///////////////////////////////////////////////////////////////////// //TEST_F(HelpersTests1, reverseArray_test2) { // -// auto inArr = NDArrayFactory::create('c', {2,5}, {1,2,3,4,5,6,7,8,9,10}); -// auto exp = NDArrayFactory::create('c', {2,5}, {10,9,8,7,6,5,4,3,2,1}); +// auto inArr = NDArrayFactory::create( {2,5}, {1,2,3,4,5,6,7,8,9,10}); +// auto exp = NDArrayFactory::create( {2,5}, {10,9,8,7,6,5,4,3,2,1}); // // // ops::helpers::reverseArray(sd::LaunchContext ::defaultContext(), inArr.getBuffer(), inArr.shapeInfo(), inArr.getBuffer(), inArr.shapeInfo()); @@ -1311,9 +1311,9 @@ TEST_F(HelpersTests1, SVD_test17) { ///////////////////////////////////////////////////////////////////// //TEST_F(HelpersTests1, reverseArray_test3) { // -// auto inArr = NDArrayFactory::create('c', {2,5}, {1,2,3,4,5,6,7,8,9,10}); -// auto exp = NDArrayFactory::create('c', {2,5}, {5,4,3,2,1,6,7,8,9,10}); -// auto outArr = NDArrayFactory::create('c', {2,5}); +// auto inArr = NDArrayFactory::create( {2,5}, {1,2,3,4,5,6,7,8,9,10}); +// auto exp = NDArrayFactory::create( {2,5}, {5,4,3,2,1,6,7,8,9,10}); +// auto outArr = NDArrayFactory::create( {2,5}); // // ops::helpers::reverseArray(sd::LaunchContext ::defaultContext(), inArr.getBuffer(), inArr.shapeInfo(), outArr.getBuffer(), outArr.shapeInfo(), 5); // @@ -1356,20 +1356,20 @@ TEST_F(HelpersTests1, rnnCell_test2) { const int inSize = 10; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {bS, inSize}); - auto ht_1 = NDArrayFactory::create('c', {bS, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}, {0.0,0.0,0.0,0.0, 0.1,0.2,0.3,0.4}); + auto xt = NDArrayFactory::create( {bS, inSize}); + auto ht_1 = NDArrayFactory::create( {bS, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}, {0.0,0.0,0.0,0.0, 0.1,0.2,0.3,0.4}); - auto ht = NDArrayFactory::create('c', {bS, numUnits}); + auto ht = NDArrayFactory::create( {bS, numUnits}); xt.assign(0.1); ht_1.assign(0.2); Wx.assign(0.3); Wh.assign(0.4); - auto expHt = NDArrayFactory::create('c', {bS, numUnits}, {0.6169093,0.67506987,0.72589741,0.76986654,0.6169093,0.67506987,0.72589741,0.76986654}); + auto expHt = NDArrayFactory::create( {bS, numUnits}, {0.6169093,0.67506987,0.72589741,0.76986654,0.6169093,0.67506987,0.72589741,0.76986654}); ops::helpers::rnnCell(sd::LaunchContext ::defaultContext(), &xt, &Wx, &Wh, &b, &ht_1, &ht); @@ -1384,20 +1384,20 @@ TEST_F(HelpersTests1, rnnCell_test3) { const int inSize = 10; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {bS, inSize}); - auto ht_1 = NDArrayFactory::create('c', {bS, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}, {0.01,0.02,0.03,0.04, 0.05,0.06,0.07,0.08}); + auto xt = NDArrayFactory::create( {bS, inSize}); + auto ht_1 = NDArrayFactory::create( {bS, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}, {0.01,0.02,0.03,0.04, 0.05,0.06,0.07,0.08}); - auto ht = NDArrayFactory::create('c', {bS, numUnits}); + auto ht = NDArrayFactory::create( {bS, numUnits}); xt.assign(0.1); ht_1.assign(0.2); Wx.assign(0.3); Wh.assign(0.4); - auto expHt = NDArrayFactory::create('c', {bS, numUnits}, {0.5915195, 0.6043678, 0.6169093, 0.6291452,0.5915195, 0.6043678, 0.6169093, 0.6291452}); + auto expHt = NDArrayFactory::create( {bS, numUnits}, {0.5915195, 0.6043678, 0.6169093, 0.6291452,0.5915195, 0.6043678, 0.6169093, 0.6291452}); ops::helpers::rnnCell(sd::LaunchContext ::defaultContext(), &xt, &Wx, &Wh, &b, &ht_1, &ht); @@ -1412,13 +1412,13 @@ TEST_F(HelpersTests1, rnnCell_test4) { const int inSize = 3; const int numUnits = 4; - auto xt = NDArrayFactory::create('c', {bS, inSize}); - auto ht_1 = NDArrayFactory::create('c', {bS, numUnits}); - auto Wx = NDArrayFactory::create('c', {inSize, numUnits}); - auto Wh = NDArrayFactory::create('c', {numUnits, numUnits}); - auto b = NDArrayFactory::create('c', {2*numUnits}); + auto xt = NDArrayFactory::create( {bS, inSize}); + auto ht_1 = NDArrayFactory::create( {bS, numUnits}); + auto Wx = NDArrayFactory::create( {inSize, numUnits}); + auto Wh = NDArrayFactory::create( {numUnits, numUnits}); + auto b = NDArrayFactory::create( {2*numUnits}); - auto ht = NDArrayFactory::create('c', {bS, numUnits}); + auto ht = NDArrayFactory::create( {bS, numUnits}); xt.linspace(0.01, 0.01); ht_1 = 0.2; @@ -1426,7 +1426,7 @@ TEST_F(HelpersTests1, rnnCell_test4) { Wh = 0.4; b = 0.25; - auto expHt = NDArrayFactory::create('c', {bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.69882484, 0.69882484, 0.69882484, 0.69882484}); + auto expHt = NDArrayFactory::create( {bS, numUnits}, {0.68474828, 0.68474828, 0.68474828, 0.68474828,0.69882484, 0.69882484, 0.69882484, 0.69882484}); ops::helpers::rnnCell(sd::LaunchContext ::defaultContext(), &xt, &Wx, &Wh, &b, &ht_1, &ht); @@ -1438,9 +1438,9 @@ TEST_F(HelpersTests1, rnnCell_test4) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, mmulHelper_test_1) { - auto x = NDArrayFactory::create('c', {3,3}, {10,11,12,13,14,15,16,17,18}); - auto y = NDArrayFactory::create('c', {3,3}, {1,2,3,4,5,6,7,8,9}); - auto expected = NDArrayFactory::create('c', {3,3}, {138.,171.,204. ,174.,216.,258. ,210.,261.,312.}); + auto x = NDArrayFactory::create( {3,3}, {10,11,12,13,14,15,16,17,18}); + auto y = NDArrayFactory::create( {3,3}, {1,2,3,4,5,6,7,8,9}); + auto expected = NDArrayFactory::create( {3,3}, {138.,171.,204. ,174.,216.,258. ,210.,261.,312.}); auto result = MmulHelper::mmul(&x, &y, nullptr, 1., 0.); @@ -1454,10 +1454,10 @@ TEST_F(HelpersTests1, mmulHelper_test_1) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, mmulHelper_test_2) { - auto x = NDArrayFactory::create('c', {3,3}, {10,11,12,13,14,15,16,17,18}); - auto y = NDArrayFactory::create('c', {3,3}, {1,2,3,4,5,6,7,8,9}); - auto expected = NDArrayFactory::create('c', {3,3}, {138.,171.,204. ,174.,216.,258. ,210.,261.,312.}); - auto result = NDArrayFactory::create('c', {3,3}); + auto x = NDArrayFactory::create( {3,3}, {10,11,12,13,14,15,16,17,18}); + auto y = NDArrayFactory::create( {3,3}, {1,2,3,4,5,6,7,8,9}); + auto expected = NDArrayFactory::create( {3,3}, {138.,171.,204. ,174.,216.,258. ,210.,261.,312.}); + auto result = NDArrayFactory::create( {3,3}); MmulHelper::mmul(&x, &y, &result, 1., 0.); @@ -1469,9 +1469,9 @@ TEST_F(HelpersTests1, mmulHelper_test_2) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, mmulHelper_test_3) { - auto x = NDArrayFactory::create('c', {3,4}); x.linspace(1); - auto y = NDArrayFactory::create('c', {4,5}); y.linspace(1); - auto expected = NDArrayFactory::create('c', {3,5}, {110.,120.,130.,140.,150.,246.,272.,298.,324.,350.,382.,424.,466.,508.,550.}); + auto x = NDArrayFactory::create( {3,4}); x.linspace(1); + auto y = NDArrayFactory::create( {4,5}); y.linspace(1); + auto expected = NDArrayFactory::create( {3,5}, {110.,120.,130.,140.,150.,246.,272.,298.,324.,350.,382.,424.,466.,508.,550.}); auto result = MmulHelper::mmul(&x, &y, nullptr, 1., 0.); @@ -1484,10 +1484,10 @@ TEST_F(HelpersTests1, mmulHelper_test_3) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, mmulHelper_test_4) { - auto x = NDArrayFactory::create('c', {3,4}); x.linspace(1); - auto y = NDArrayFactory::create('c', {4,5}); y.linspace(1); - auto expected = NDArrayFactory::create('c', {3,5}, {110.,120.,130.,140.,150.,246.,272.,298.,324.,350.,382.,424.,466.,508.,550.}); - auto result = NDArrayFactory::create('c', {3,5}); + auto x = NDArrayFactory::create( {3,4}); x.linspace(1); + auto y = NDArrayFactory::create( {4,5}); y.linspace(1); + auto expected = NDArrayFactory::create( {3,5}, {110.,120.,130.,140.,150.,246.,272.,298.,324.,350.,382.,424.,466.,508.,550.}); + auto result = NDArrayFactory::create( {3,5}); MmulHelper::mmul(&x, &y, &result, 1., 0.); @@ -1499,9 +1499,9 @@ TEST_F(HelpersTests1, mmulHelper_test_4) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, mmulHelper_test_5) { - auto x = NDArrayFactory::create('c', {4,3}); x.linspace(1); - auto y = NDArrayFactory::create('c', {3,5}); y.linspace(1); - auto expected = NDArrayFactory::create('c', {4,5}, {46., 52., 58., 64., 70.,100.,115.,130.,145.,160.,154.,178.,202.,226.,250.,208.,241.,274.,307.,340.}); + auto x = NDArrayFactory::create( {4,3}); x.linspace(1); + auto y = NDArrayFactory::create( {3,5}); y.linspace(1); + auto expected = NDArrayFactory::create( {4,5}, {46., 52., 58., 64., 70.,100.,115.,130.,145.,160.,154.,178.,202.,226.,250.,208.,241.,274.,307.,340.}); auto result = MmulHelper::mmul(&x, &y, nullptr, 1., 0.); @@ -1514,10 +1514,10 @@ TEST_F(HelpersTests1, mmulHelper_test_5) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, mmulHelper_test_6) { - auto x = NDArrayFactory::create('c', {4,3}); x.linspace(1); - auto y = NDArrayFactory::create('c', {3,5}); y.linspace(1); - auto expected = NDArrayFactory::create('c', {4,5}, {46., 52., 58., 64., 70.,100.,115.,130.,145.,160.,154.,178.,202.,226.,250.,208.,241.,274.,307.,340.}); - auto result = NDArrayFactory::create('c', {4,5}); + auto x = NDArrayFactory::create( {4,3}); x.linspace(1); + auto y = NDArrayFactory::create( {3,5}); y.linspace(1); + auto expected = NDArrayFactory::create( {4,5}, {46., 52., 58., 64., 70.,100.,115.,130.,145.,160.,154.,178.,202.,226.,250.,208.,241.,274.,307.,340.}); + auto result = NDArrayFactory::create( {4,5}); MmulHelper::mmul(&x, &y, &result, 1., 0.); @@ -1529,10 +1529,10 @@ TEST_F(HelpersTests1, mmulHelper_test_6) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, mmulHelper_test_7) { - auto x = NDArrayFactory::create('c', {4, 1}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4, 4}, {1,2, 3, 4,2,4, 6, 8,3,6, 9,12,4,8,12,16}); - auto result = NDArrayFactory::create('c', {4,4}); + auto x = NDArrayFactory::create( {4, 1}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {1, 4}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {4, 4}, {1,2, 3, 4,2,4, 6, 8,3,6, 9,12,4,8,12,16}); + auto result = NDArrayFactory::create( {4,4}); MmulHelper::mmul(&x, &y, &result, 1., 0.); @@ -1544,8 +1544,8 @@ TEST_F(HelpersTests1, mmulHelper_test_7) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, tensordot_test_1) { - auto a = NDArrayFactory::create('c', {2, 3, 4}); - auto b = NDArrayFactory::create('c', {2, 5, 3}); + auto a = NDArrayFactory::create( {2, 3, 4}); + auto b = NDArrayFactory::create( {2, 5, 3}); auto c = MmulHelper::tensorDot(&a, &b, {1}, {2}); @@ -1556,8 +1556,8 @@ TEST_F(HelpersTests1, tensordot_test_1) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, tensordot_test_2) { - auto a = NDArrayFactory::create('c', {7, 3, 4, 6}); - auto b = NDArrayFactory::create('c', {2, 5, 3, 8, 4}); + auto a = NDArrayFactory::create( {7, 3, 4, 6}); + auto b = NDArrayFactory::create( {2, 5, 3, 8, 4}); auto c = MmulHelper::tensorDot(&a, &b, {2,1}, {4,2}); @@ -1568,9 +1568,9 @@ TEST_F(HelpersTests1, tensordot_test_2) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, tensordot_test_3) { - auto a = NDArrayFactory::create('c', {7, 3, 4, 6}); - auto b = NDArrayFactory::create('c', {2, 5, 3, 8, 4}); - auto c = NDArrayFactory::create('f', {7,6,2,8,5}); + auto a = NDArrayFactory::create( {7, 3, 4, 6}); + auto b = NDArrayFactory::create( {2, 5, 3, 8, 4}); + auto c = NDArrayFactory::create( {7,6,2,8,5}, {}, sd::kArrayOrderFortran); MmulHelper::tensorDot(&a, &b, &c, {2,1}, {4,2}, {0,1,2,4,3}); @@ -1580,10 +1580,10 @@ TEST_F(HelpersTests1, tensordot_test_3) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, tensordot_test_4) { - auto a = NDArrayFactory::create('c', {7, 3, 4, 3}); - auto b = NDArrayFactory::create('c', {2, 5, 3, 2, 4}); - auto c = NDArrayFactory::create('f', {7,3,2,2,5}); - auto expected = NDArrayFactory::create('c', {7,3,2,2,5}, { 754.5, 2014.5, 3274.5, 4534.5 , 5794.5, 964.5, 2224.5, 3484.5, 4744.5, 6004.5, 7054.5, 8314.5, 9574.5, 10834.5, 12094.5, 7264.5, 8524.5, 9784.5, 11044.5, 12304.5, 786. , 2118. , 3450. , 4782. , 6114. , 1008. , 2340. , 3672. , 5004. , 6336. , + auto a = NDArrayFactory::create( {7, 3, 4, 3}); + auto b = NDArrayFactory::create( {2, 5, 3, 2, 4}); + auto c = NDArrayFactory::create( {7,3,2,2,5}, {}, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create( {7,3,2,2,5}, { 754.5, 2014.5, 3274.5, 4534.5 , 5794.5, 964.5, 2224.5, 3484.5, 4744.5, 6004.5, 7054.5, 8314.5, 9574.5, 10834.5, 12094.5, 7264.5, 8524.5, 9784.5, 11044.5, 12304.5, 786. , 2118. , 3450. , 4782. , 6114. , 1008. , 2340. , 3672. , 5004. , 6336. , 7446. , 8778. , 10110. , 11442. , 12774. , 7668. , 9000. , 10332. , 11664. , 12996. , 817.5, 2221.5, 3625.5, 5029.5, 6433.5, 1051.5, 2455.5, 3859.5, 5263.5, 6667.5, 7837.5, 9241.5, 10645.5, 12049.5, 13453.5, 8071.5, 9475.5, 10879.5, 12283.5, 13687.5, 1888.5, 5740.5, 9592.5, 13444.5, 17296.5, 2530.5, 6382.5, 10234.5, 14086.5, 17938.5,21148.5, 25000.5, 28852.5, 32704.5, 36556.5,21790.5, 25642.5, 29494.5, 33346.5, 37198.5, 1920. , 5844. , 9768. , 13692. , 17616. , 2574. , 6498. , 10422. , 14346. , 18270. , 21540. , 25464. , 29388. , 33312. , 37236. ,22194. , 26118. , 30042. , 33966. , 37890. , 1951.5, 5947.5, 9943.5, 13939.5, 17935.5, 2617.5, 6613.5, 10609.5, 14605.5, 18601.5,21931.5, 25927.5, 29923.5, 33919.5, 37915.5,22597.5, 26593.5, 30589.5, 34585.5, 38581.5, @@ -1610,10 +1610,10 @@ TEST_F(HelpersTests1, tensordot_test_4) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, tensordot_test_5) { - auto a = NDArrayFactory::create('c', {2, 3}); - auto b = NDArrayFactory::create('c', {3, 4}); - auto c = NDArrayFactory::create('f', {2, 4}); - auto expected = NDArrayFactory::create('c', {2, 4}, {9.5,11.,12.5 ,14.,20.75 ,24.5,28.25,32.}); + auto a = NDArrayFactory::create( {2, 3}); + auto b = NDArrayFactory::create( {3, 4}); + auto c = NDArrayFactory::create( {2, 4}, {}, sd::kArrayOrderFortran); + auto expected = NDArrayFactory::create( {2, 4}, {9.5,11.,12.5 ,14.,20.75 ,24.5,28.25,32.}); a.linspace(0.5, 0.5); b.linspace(0.5, 0.5); @@ -1632,10 +1632,10 @@ TEST_F(HelpersTests1, tensordot_test_6) { int oC=iC*mC; int oH=3,oW=2; - auto a = NDArrayFactory::create('c', {bS, iC, kH, kW, oH, oW}); - auto b = NDArrayFactory::create('c', {kH, kW, iC, mC}); - auto c = NDArrayFactory::create('c', {bS, oH, oW, iC*mC}); - auto expected = NDArrayFactory::create('c', {bS, oH, oW, iC*mC}, {100.,110.,336.,370.,107.,118.,345.,380.,114.,126.,354.,390.,121.,134.,363.,400.,128.,142.,372.,410.,135.,150.,381.,420., + auto a = NDArrayFactory::create( {bS, iC, kH, kW, oH, oW}); + auto b = NDArrayFactory::create( {kH, kW, iC, mC}); + auto c = NDArrayFactory::create( {bS, oH, oW, iC*mC}); + auto expected = NDArrayFactory::create( {bS, oH, oW, iC*mC}, {100.,110.,336.,370.,107.,118.,345.,380.,114.,126.,354.,390.,121.,134.,363.,400.,128.,142.,372.,410.,135.,150.,381.,420., 436.,494.,768.,850.,443.,502.,777.,860.,450.,510.,786.,870.,457.,518.,795.,880.,464.,526.,804.,890.,471.,534.,813.,900.}); a.linspace(0.5, 0.5); @@ -1653,10 +1653,10 @@ TEST_F(HelpersTests1, tensordot_test_6) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, mmmulHelperAgain) { - auto x = NDArrayFactory::create('c', {128, 156}); - auto y = NDArrayFactory::create('c', {156, 256}); - auto z = NDArrayFactory::create('c', {128, 256}); - auto e = NDArrayFactory::create('c', {128, 256}); + auto x = NDArrayFactory::create( {128, 156}); + auto y = NDArrayFactory::create( {156, 256}); + auto z = NDArrayFactory::create( {128, 256}); + auto e = NDArrayFactory::create( {128, 256}); x.assign(1.0f); y.assign(1.0f); @@ -1671,9 +1671,9 @@ TEST_F(HelpersTests1, mmmulHelperAgain) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, OpArgsHolder_test1) { - auto x1 = NDArrayFactory::create('c', {1, 1}); - auto x2 = NDArrayFactory::create('c', {2, 2}); - auto x3 = NDArrayFactory::create('c', {3, 3}); + auto x1 = NDArrayFactory::create( {1, 1}); + auto x2 = NDArrayFactory::create( {2, 2}); + auto x3 = NDArrayFactory::create( {3, 3}); OpArgsHolder holder1({&x1}); OpArgsHolder holder2({&x1,&x2,&x3}, {4.f, 5.f}, {6}); @@ -1696,10 +1696,10 @@ TEST_F(HelpersTests1, OpArgsHolder_test1) { //////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, OpArgsHolder_test2) { - auto x1 = NDArrayFactory::create('c', {1, 1}); - auto x2 = NDArrayFactory::create('c', {2, 2}); - auto x3 = NDArrayFactory::create('c', {3, 3}); - auto grad = NDArrayFactory::create('c', {2, 3}); + auto x1 = NDArrayFactory::create( {1, 1}); + auto x2 = NDArrayFactory::create( {2, 2}); + auto x3 = NDArrayFactory::create( {3, 3}); + auto grad = NDArrayFactory::create( {2, 3}); OpArgsHolder holderFF({&x1,&x2,&x3}, {4.f, 5.f}, {6}); OpArgsHolder holderBP1 = holderFF.createArgsHolderForBP({&grad}); @@ -1726,10 +1726,10 @@ TEST_F(HelpersTests1, OpArgsHolder_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, OpArgsHolder_test3) { - auto input = NDArrayFactory::create('c', {2, 3}, {1.,2.,3.,4.,5.,6.}); - auto gradO = NDArrayFactory::create('c', {4, 9}); - auto exp = NDArrayFactory::create('c', {4, 9}, {1, 2, 3, 1, 2, 3, 1, 2, 3,4, 5, 6, 4, 5, 6, 4, 5, 6,1, 2, 3, 1, 2, 3, 1, 2, 3,4, 5, 6, 4, 5, 6, 4, 5, 6}); - auto gradIExp = NDArrayFactory::create('c', {2, 3}, {0.78, 0.84, 0.9,1.32, 1.38, 1.44}); + auto input = NDArrayFactory::create( {2, 3}, {1.,2.,3.,4.,5.,6.}); + auto gradO = NDArrayFactory::create( {4, 9}); + auto exp = NDArrayFactory::create( {4, 9}, {1, 2, 3, 1, 2, 3, 1, 2, 3,4, 5, 6, 4, 5, 6, 4, 5, 6,1, 2, 3, 1, 2, 3, 1, 2, 3,4, 5, 6, 4, 5, 6, 4, 5, 6}); + auto gradIExp = NDArrayFactory::create( {2, 3}, {0.78, 0.84, 0.9,1.32, 1.38, 1.44}); gradO.linspace(0.01, 0.01); @@ -1755,8 +1755,8 @@ TEST_F(HelpersTests1, OpArgsHolder_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, checkGrad_test1) { - auto x = NDArrayFactory::create('c', {2, 3}, {0.1, 0.2, 0.3, 0.4, 0.5 ,0.6}); - auto gradO = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 3}, {0.1, 0.2, 0.3, 0.4, 0.5 ,0.6}); + auto gradO = NDArrayFactory::create( {2, 3}); const OpArgsHolder argsHolderFF({&x}, {}, {}); const OpArgsHolder argsHolderBP({&x, &gradO}, {}, {}); @@ -1772,9 +1772,9 @@ TEST_F(HelpersTests1, checkGrad_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, checkGrad_test2) { - auto x = NDArrayFactory::create('c', {1, 1, 3, 3}); - auto weights = NDArrayFactory::create('c', {2, 1, 2, 2}); - auto gradO = NDArrayFactory::create('c', {1, 2, 3, 3}); + auto x = NDArrayFactory::create( {1, 1, 3, 3}); + auto weights = NDArrayFactory::create( {2, 1, 2, 2}); + auto gradO = NDArrayFactory::create( {1, 2, 3, 3}); x.linspace(1); weights.linspace(0.1, 0.1); @@ -1794,10 +1794,10 @@ TEST_F(HelpersTests1, checkGrad_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, checkGrad_test3) { - auto x = NDArrayFactory::create('c', {1, 1, 3, 3}); - auto weights = NDArrayFactory::create('c', {2, 1, 2, 2}); - auto bias = NDArrayFactory::create('c', {2, 1}); - auto gradO = NDArrayFactory::create('c', {1, 2, 3, 3}); + auto x = NDArrayFactory::create( {1, 1, 3, 3}); + auto weights = NDArrayFactory::create( {2, 1, 2, 2}); + auto bias = NDArrayFactory::create( {2, 1}); + auto gradO = NDArrayFactory::create( {1, 2, 3, 3}); x.linspace(1); weights.linspace(0.1, 0.1); @@ -1818,10 +1818,10 @@ TEST_F(HelpersTests1, checkGrad_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, checkGrad_test4) { - auto x = NDArrayFactory::create('c', {1, 1, 3, 3}); - auto weights = NDArrayFactory::create('c', {2, 1, 2, 2}); - auto bias = NDArrayFactory::create('c', {2, 1}); - auto gradO = NDArrayFactory::create('c', {1, 2, 3, 3}); + auto x = NDArrayFactory::create( {1, 1, 3, 3}); + auto weights = NDArrayFactory::create( {2, 1, 2, 2}); + auto bias = NDArrayFactory::create( {2, 1}); + auto gradO = NDArrayFactory::create( {1, 2, 3, 3}); x.linspace(1); weights.linspace(0.1, 0.1); @@ -1842,10 +1842,10 @@ TEST_F(HelpersTests1, checkGrad_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, checkGrad_test5) { - auto x = NDArrayFactory::create('c', {1, 1, 3, 3}); - auto weights = NDArrayFactory::create('c', {2, 1, 2, 2}); - auto bias = NDArrayFactory::create('c', {2, 1}); - auto gradO = NDArrayFactory::create('c', {1, 2, 3, 3}); + auto x = NDArrayFactory::create( {1, 1, 3, 3}); + auto weights = NDArrayFactory::create( {2, 1, 2, 2}); + auto bias = NDArrayFactory::create( {2, 1}); + auto gradO = NDArrayFactory::create( {1, 2, 3, 3}); x.linspace(1); weights.linspace(0.1, 0.1); @@ -1866,10 +1866,10 @@ TEST_F(HelpersTests1, checkGrad_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, checkGrad_test6) { - auto x = NDArrayFactory::create('c', {1, 1, 3, 3}); - auto weights = NDArrayFactory::create('c', {2, 1, 2, 2}); - auto bias = NDArrayFactory::create('c', {2, 1}); - auto gradO = NDArrayFactory::create('c', {1, 2, 3, 3}); + auto x = NDArrayFactory::create( {1, 1, 3, 3}); + auto weights = NDArrayFactory::create( {2, 1, 2, 2}); + auto bias = NDArrayFactory::create( {2, 1}); + auto gradO = NDArrayFactory::create( {1, 2, 3, 3}); x.linspace(1); weights.linspace(0.1, 0.1); @@ -1890,9 +1890,9 @@ TEST_F(HelpersTests1, checkGrad_test6) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, softMaxForVector_test1) { - auto input = NDArrayFactory::create('c', {1,5}, {1,2,3,4,5}); - auto output = NDArrayFactory::create('c', {1,5}); - auto expOutput = NDArrayFactory::create('c', {1,5}); + auto input = NDArrayFactory::create( {1,5}, {1,2,3,4,5}); + auto output = NDArrayFactory::create( {1,5}); + auto expOutput = NDArrayFactory::create( {1,5}); expOutput = 1; ops::helpers::softmax(sd::LaunchContext ::defaultContext(), input, output, 0); @@ -1903,9 +1903,9 @@ TEST_F(HelpersTests1, softMaxForVector_test1) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, softMaxForVector_test2) { - auto input = NDArrayFactory::create('c', {5,1}, {1,2,3,4,5}); - auto output = NDArrayFactory::create('c', {5,1}); - auto expOutput = NDArrayFactory::create('c', {5,1}, {0.01165623, 0.03168492, 0.08612854, 0.23412166, 0.63640865}); + auto input = NDArrayFactory::create( {5,1}, {1,2,3,4,5}); + auto output = NDArrayFactory::create( {5,1}); + auto expOutput = NDArrayFactory::create( {5,1}, {0.01165623, 0.03168492, 0.08612854, 0.23412166, 0.63640865}); ops::helpers::softmax(sd::LaunchContext ::defaultContext(), input, output, 0); @@ -1915,9 +1915,9 @@ TEST_F(HelpersTests1, softMaxForVector_test2) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, softMaxForVector_test3) { - auto input= NDArrayFactory::create('c', {5}, {1,2,3,4,5}); - auto output = NDArrayFactory::create('c', {5}); - auto expOutput = NDArrayFactory::create('c', {5}, {0.01165623, 0.03168492, 0.08612854, 0.23412166, 0.63640865}); + auto input= NDArrayFactory::create( {5}, {1,2,3,4,5}); + auto output = NDArrayFactory::create( {5}); + auto expOutput = NDArrayFactory::create( {5}, {0.01165623, 0.03168492, 0.08612854, 0.23412166, 0.63640865}); ops::helpers::softmax(sd::LaunchContext ::defaultContext(), input, output, 0); @@ -1960,9 +1960,9 @@ TEST_F(HelpersTests1, softMaxForVector_test4) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, logSoftMaxForVector_test1) { - auto input = NDArrayFactory::create('c', {1,5}, {1,2,3,4,5}); - auto output = NDArrayFactory::create('c', {1,5}); - auto expOutput = NDArrayFactory::create('c', {1,5}); + auto input = NDArrayFactory::create( {1,5}, {1,2,3,4,5}); + auto output = NDArrayFactory::create( {1,5}); + auto expOutput = NDArrayFactory::create( {1,5}); expOutput = 0; ops::helpers::logSoftmax(sd::LaunchContext ::defaultContext(), input, output, 0); @@ -1973,9 +1973,9 @@ TEST_F(HelpersTests1, logSoftMaxForVector_test1) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, logSoftMaxForVector_test2) { - auto input= NDArrayFactory::create('c', {5,1}, {1,2,3,4,5}); - auto output = NDArrayFactory::create('c', {5,1}); - auto expOutput = NDArrayFactory::create('c', {5,1}, {-4.4519144, -3.4519144, -2.4519144, -1.4519144, -0.4519144}); + auto input= NDArrayFactory::create( {5,1}, {1,2,3,4,5}); + auto output = NDArrayFactory::create( {5,1}); + auto expOutput = NDArrayFactory::create( {5,1}, {-4.4519144, -3.4519144, -2.4519144, -1.4519144, -0.4519144}); ops::helpers::logSoftmax(sd::LaunchContext ::defaultContext(), input, output, 0); @@ -1985,9 +1985,9 @@ TEST_F(HelpersTests1, logSoftMaxForVector_test2) { /////////////////////////////////////////////////////////////////// TEST_F(HelpersTests1, logSoftMaxForVector_test3) { - auto input= NDArrayFactory::create('c', {5}, {1,2,3,4,5}); - auto output = NDArrayFactory::create('c', {5}); - auto expOutput = NDArrayFactory::create('c', {5}, {-4.4519144, -3.4519144, -2.4519144, -1.4519144, -0.4519144}); + auto input= NDArrayFactory::create( {5}, {1,2,3,4,5}); + auto output = NDArrayFactory::create( {5}); + auto expOutput = NDArrayFactory::create( {5}, {-4.4519144, -3.4519144, -2.4519144, -1.4519144, -0.4519144}); ops::helpers::logSoftmax(sd::LaunchContext ::defaultContext(), input, output, 0); diff --git a/libnd4j/tests_cpu/layers_tests/IndexingTests.cpp b/libnd4j/tests_cpu/layers_tests/IndexingTests.cpp index dbe7ccd0a79d..e65ee4dcb6a6 100644 --- a/libnd4j/tests_cpu/layers_tests/IndexingTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/IndexingTests.cpp @@ -32,16 +32,16 @@ class IndexingTests : public testing::Test { }; TEST_F(IndexingTests, StridedSlice_1) { - auto x = NDArrayFactory::create('c', {3, 3, 3}); - auto exp = NDArrayFactory::create('c', {1, 1, 3}); + auto x = NDArrayFactory::create( {3, 3, 3}); + auto exp = NDArrayFactory::create( {1, 1, 3}); exp.p(0, 25.f); exp.p(1, 26.f); exp.p(2, 27.f); x.linspace(1); - auto begin = NDArrayFactory::create({2,2, 0}); - auto end = NDArrayFactory::create({3,3,3}); - auto strides = NDArrayFactory::create({1,1,1}); + auto begin = NDArrayFactory::vector({2,2, 0}); + auto end = NDArrayFactory::vector({3,3,3}); + auto strides = NDArrayFactory::vector({1,1,1}); sd::ops::strided_slice op; @@ -58,8 +58,8 @@ TEST_F(IndexingTests, StridedSlice_1) { TEST_F(IndexingTests, StridedSlice_2) { - auto x = NDArrayFactory::create('c', {5, 5, 5}); - auto exp = NDArrayFactory::create('c', {2, 3, 3}, {86.f, 87.f, 88.f, 91.f, 92.f, 93.f, 96.f, 97.f, 98.f, 111.f, 112.f, 113.f, 116.f, 117.f, 118.f, 121.f, 122.f, 123.f}); + auto x = NDArrayFactory::create( {5, 5, 5}); + auto exp = NDArrayFactory::create( {2, 3, 3}, {86.f, 87.f, 88.f, 91.f, 92.f, 93.f, 96.f, 97.f, 98.f, 111.f, 112.f, 113.f, 116.f, 117.f, 118.f, 121.f, 122.f, 123.f}); x.linspace(1); @@ -78,8 +78,8 @@ TEST_F(IndexingTests, StridedSlice_2) { TEST_F(IndexingTests, StridedSlice_3) { - auto x = NDArrayFactory::create('c', {5, 5, 5}); - auto exp = NDArrayFactory::create('c', {2, 3, 2}, {86.f, 88.f, 91.f, 93.f, 96.f, 98.f, 111.f, 113.f, 116.f, 118.f, 121.f, 123.f}); + auto x = NDArrayFactory::create( {5, 5, 5}); + auto exp = NDArrayFactory::create( {2, 3, 2}, {86.f, 88.f, 91.f, 93.f, 96.f, 98.f, 111.f, 113.f, 116.f, 118.f, 121.f, 123.f}); x.linspace(1); @@ -99,9 +99,9 @@ TEST_F(IndexingTests, StridedSlice_3) { TEST_F(IndexingTests, SimpleSlice_1) { - auto input = NDArrayFactory::create('c', {3, 2, 3}, {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}); + auto input = NDArrayFactory::create( {3, 2, 3}, {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}); - auto exp = NDArrayFactory::create('c', {1, 1, 3}); + auto exp = NDArrayFactory::create( {1, 1, 3}); exp.p(0, 3.0f); exp.p(1, 3.0f); exp.p(2, 3.0f); @@ -122,9 +122,9 @@ TEST_F(IndexingTests, SimpleSlice_1) { TEST_F(IndexingTests, SimpleSlice_2) { - auto input = NDArrayFactory::create('c', {3, 2, 3}, {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}); + auto input = NDArrayFactory::create( {3, 2, 3}, {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}); - auto exp = NDArrayFactory::create('c', {1, 2, 3}); + auto exp = NDArrayFactory::create( {1, 2, 3}); exp.p(0, 3.0f); exp.p(1, 3.0f); exp.p(2, 3.0f); @@ -147,9 +147,9 @@ TEST_F(IndexingTests, SimpleSlice_2) { } TEST_F(IndexingTests, SimpleSlice_3) { - auto input = NDArrayFactory::create('c', {3, 2, 3}, {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}); + auto input = NDArrayFactory::create( {3, 2, 3}, {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}); - auto exp = NDArrayFactory::create('c', {2, 1, 3}); + auto exp = NDArrayFactory::create( {2, 1, 3}); exp.p(0, 3.0f); exp.p(1, 3.0f); exp.p(2, 3.0f); @@ -172,10 +172,10 @@ TEST_F(IndexingTests, SimpleSlice_3) { } TEST_F(IndexingTests, SimpleSlice_4) { - auto input = NDArrayFactory::create('c', {3, 2, 3}, {1.0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}); - auto start = NDArrayFactory::create('c', {3}, {1.0, 0.0, 0.0}); - auto stop = NDArrayFactory::create('c', {3}, {2.0, 1.0, 3.0}); - auto exp = NDArrayFactory::create('c', {2, 1, 3}, {3.0, 3.0, 3.0, 5.0, 5.0, 5.0}); + auto input = NDArrayFactory::create( {3, 2, 3}, {1.0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6}); + auto start = NDArrayFactory::create( {3}, {1.0, 0.0, 0.0}); + auto stop = NDArrayFactory::create( {3}, {2.0, 1.0, 3.0}); + auto exp = NDArrayFactory::create( {2, 1, 3}, {3.0, 3.0, 3.0, 5.0, 5.0, 5.0}); sd::ops::slice op; @@ -192,13 +192,13 @@ TEST_F(IndexingTests, SimpleSlice_4) { TEST_F(IndexingTests, MaskedSlice_0) { - auto matrix = NDArrayFactory::create('c', {3, 5}); + auto matrix = NDArrayFactory::create( {3, 5}); auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { tads.at(e)->assign((float) (e+1)); } - auto exp = NDArrayFactory::create('c', {1, 5}); + auto exp = NDArrayFactory::create( {1, 5}); exp.assign(2.0f); sd::ops::strided_slice op; @@ -218,13 +218,13 @@ TEST_F(IndexingTests, MaskedSlice_0) { TEST_F(IndexingTests, MaskedSlice_00) { - auto matrix = NDArrayFactory::create('c', {3, 5}); + auto matrix = NDArrayFactory::create( {3, 5}); auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { tads.at(e)->assign((float) (e+1)); } - auto exp = NDArrayFactory::create('c', {1, 2}, {2, 2}); + auto exp = NDArrayFactory::create( {1, 2}, {2, 2}); sd::ops::strided_slice op; @@ -242,13 +242,13 @@ TEST_F(IndexingTests, MaskedSlice_00) { TEST_F(IndexingTests, MaskedSlice_1) { - auto matrix = NDArrayFactory::create('c', {3, 5}); + auto matrix = NDArrayFactory::create( {3, 5}); auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { tads.at(e)->assign((float) (e+1)); } - auto exp = NDArrayFactory::create('c', {5}); + auto exp = NDArrayFactory::create( {5}); exp.assign(2.0f); sd::ops::strided_slice op; @@ -268,8 +268,8 @@ TEST_F(IndexingTests, MaskedSlice_1) { TEST_F(IndexingTests, MaskedSlice_2) { - auto matrix = NDArrayFactory::create('c', {3, 3, 3}, {1.f, 1.2f, 1.3f, 2.f, 2.2f, 2.3f, 3.f, 3.2f, 3.3f, 4.f, 4.2f, 4.3f, 5.f, 5.2f, 5.3f, 6.f, 6.2f, 6.3f, 7.f, 7.2f, 7.3f, 8.f, 8.2f, 8.3f, 9.f, 9.2f, 9.3f}); - auto exp = NDArrayFactory::create('c', {3, 3}, {4.000000f, 4.200000f, 4.300000f, 5.000000f, 5.200000f, 5.300000f, 6.000000f, 6.200000f, 6.300000f}); + auto matrix = NDArrayFactory::create( {3, 3, 3}, {1.f, 1.2f, 1.3f, 2.f, 2.2f, 2.3f, 3.f, 3.2f, 3.3f, 4.f, 4.2f, 4.3f, 5.f, 5.2f, 5.3f, 6.f, 6.2f, 6.3f, 7.f, 7.2f, 7.3f, 8.f, 8.2f, 8.3f, 9.f, 9.2f, 9.3f}); + auto exp = NDArrayFactory::create( {3, 3}, {4.000000f, 4.200000f, 4.300000f, 5.000000f, 5.200000f, 5.300000f, 6.000000f, 6.200000f, 6.300000f}); // output = tf.strided_slice(a, [1, 0, 0], [3, 3, 3], shrink_axis_mask=5) sd::ops::strided_slice op; @@ -288,8 +288,8 @@ TEST_F(IndexingTests, MaskedSlice_2) { TEST_F(IndexingTests, MaskedSlice_3) { - auto matrix = NDArrayFactory::create('c', {3, 3, 3}, {1.f, 1.2f, 1.3f, 2.f, 2.2f, 2.3f, 3.f, 3.2f, 3.3f, 4.f, 4.2f, 4.3f, 5.f, 5.2f, 5.3f, 6.f, 6.2f, 6.3f, 7.f, 7.2f, 7.3f, 8.f, 8.2f, 8.3f, 9.f, 9.2f, 9.3f}); - auto exp = NDArrayFactory::create('c', {2, 3}, { 4.f, 4.2f, 4.3f, 7.f, 7.2f, 7.3f}); + auto matrix = NDArrayFactory::create( {3, 3, 3}, {1.f, 1.2f, 1.3f, 2.f, 2.2f, 2.3f, 3.f, 3.2f, 3.3f, 4.f, 4.2f, 4.3f, 5.f, 5.2f, 5.3f, 6.f, 6.2f, 6.3f, 7.f, 7.2f, 7.3f, 8.f, 8.2f, 8.3f, 9.f, 9.2f, 9.3f}); + auto exp = NDArrayFactory::create( {2, 3}, { 4.f, 4.2f, 4.3f, 7.f, 7.2f, 7.3f}); // output = tf.strided_slice(a, [1, 0, 0], [3, 3, 3], shrink_axis_mask=5) sd::ops::strided_slice op; @@ -308,8 +308,8 @@ TEST_F(IndexingTests, MaskedSlice_3) { TEST_F(IndexingTests, MaskedSlice_4) { - auto matrix = NDArrayFactory::create('c', {3, 3, 3}, {1.f, 1.2f, 1.3f, 2.f, 2.2f, 2.3f, 3.f, 3.2f, 3.3f, 4.f, 4.2f, 4.3f, 5.f, 5.2f, 5.3f, 6.f, 6.2f, 6.3f, 7.f, 7.2f, 7.3f, 8.f, 8.2f, 8.3f, 9.f, 9.2f, 9.3f}); - auto exp = NDArrayFactory::create('c', {3}, { 4.f, 4.2f, 4.3f}); + auto matrix = NDArrayFactory::create( {3, 3, 3}, {1.f, 1.2f, 1.3f, 2.f, 2.2f, 2.3f, 3.f, 3.2f, 3.3f, 4.f, 4.2f, 4.3f, 5.f, 5.2f, 5.3f, 6.f, 6.2f, 6.3f, 7.f, 7.2f, 7.3f, 8.f, 8.2f, 8.3f, 9.f, 9.2f, 9.3f}); + auto exp = NDArrayFactory::create( {3}, { 4.f, 4.2f, 4.3f}); // output = tf.strided_slice(a, [1, 0, 0], [3, 3, 3], shrink_axis_mask=5) sd::ops::strided_slice op; @@ -327,12 +327,12 @@ TEST_F(IndexingTests, MaskedSlice_4) { } TEST_F(IndexingTests, Live_Slice_1) { - auto matrix = NDArrayFactory::create('c', {3, 3, 3}, {1.f, 1.2f, 1.3f, 2.f, 2.2f, 2.3f, 3.f, 3.2f, 3.3f, 4.f, 4.2f, 4.3f, 5.f, 5.2f, 5.3f, 6.f, 6.2f, 6.3f, 7.f, 7.2f, 7.3f, 8.f, 8.2f, 8.3f, 9.f, 9.2f, 9.3f}); - auto exp = NDArrayFactory::create('c', {3}, { 4.f, 4.2f, 4.3f}); + auto matrix = NDArrayFactory::create( {3, 3, 3}, {1.f, 1.2f, 1.3f, 2.f, 2.2f, 2.3f, 3.f, 3.2f, 3.3f, 4.f, 4.2f, 4.3f, 5.f, 5.2f, 5.3f, 6.f, 6.2f, 6.3f, 7.f, 7.2f, 7.3f, 8.f, 8.2f, 8.3f, 9.f, 9.2f, 9.3f}); + auto exp = NDArrayFactory::create( {3}, { 4.f, 4.2f, 4.3f}); - auto begin = NDArrayFactory::create('c', {3}, {1.0f, 0.0f, 0.0f}); - auto end = NDArrayFactory::create('c', {3}, {3.0f, 3.0f, 3.0f}); - auto stride = NDArrayFactory::create('c', {3}, {1.0f, 1.0f, 1.0f}); + auto begin = NDArrayFactory::create( {3}, {1.0f, 0.0f, 0.0f}); + auto end = NDArrayFactory::create( {3}, {3.0f, 3.0f, 3.0f}); + auto stride = NDArrayFactory::create( {3}, {1.0f, 1.0f, 1.0f}); // output = tf.strided_slice(a, [1, 0, 0], [3, 3, 3], shrink_axis_mask=5) sd::ops::strided_slice op; @@ -352,11 +352,11 @@ TEST_F(IndexingTests, Live_Slice_1) { TEST_F(IndexingTests, Test_StridedSlice_1) { - auto x = NDArrayFactory::create('c', {1, 2}, {5.f, 2.f}); - auto a = NDArrayFactory::create('c', {1}, {0.f}); - auto b = NDArrayFactory::create('c', {1}, {1.f}); - auto c = NDArrayFactory::create('c', {1}, {1.f}); - auto exp = NDArrayFactory::create({5.0f, 2}); + auto x = NDArrayFactory::create( {1, 2}, {5.f, 2.f}); + auto a = NDArrayFactory::create( {1}, {0.f}); + auto b = NDArrayFactory::create( {1}, {1.f}); + auto c = NDArrayFactory::create( {1}, {1.f}); + auto exp = NDArrayFactory::vector({5.f, 2.f}); sd::ops::strided_slice op; auto result = op.evaluate({&x, &a, &b, &c}, {}, {0, 0, 0, 0, 1}); @@ -372,11 +372,11 @@ TEST_F(IndexingTests, Test_StridedSlice_1) { } TEST_F(IndexingTests, Test_StridedSlice_2) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 4, 5, 6}); - auto a = NDArrayFactory::create('c', {2}, {1, 1}); - auto b = NDArrayFactory::create('c', {2}, {2, 2}); - auto c = NDArrayFactory::create('c', {2}, {1, 1}); - auto exp = NDArrayFactory::create('c', {1}, {5.0}); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 4, 5, 6}); + auto a = NDArrayFactory::create( {2}, {1, 1}); + auto b = NDArrayFactory::create( {2}, {2, 2}); + auto c = NDArrayFactory::create( {2}, {1, 1}); + auto exp = NDArrayFactory::create( {1}, {5.0}); sd::ops::strided_slice op; auto result = op.evaluate({&x, &a, &b, &c}, {}, {0, 0, 0, 0, 1}); @@ -395,11 +395,11 @@ TEST_F(IndexingTests, Test_StridedSlice_2) { TEST_F(IndexingTests, Test_StridedSlice_3) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 4, 5, 6}); - auto a = NDArrayFactory::create('c', {2}, {1, 2}); - auto b = NDArrayFactory::create('c', {2}, {2, 3}); - auto c = NDArrayFactory::create('c', {2}, {1, 1}); - auto exp = NDArrayFactory::create('c', {1}, {6.0}); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 4, 5, 6}); + auto a = NDArrayFactory::create( {2}, {1, 2}); + auto b = NDArrayFactory::create( {2}, {2, 3}); + auto c = NDArrayFactory::create( {2}, {1, 1}); + auto exp = NDArrayFactory::create( {1}, {6.0}); sd::ops::strided_slice op; auto result = op.evaluate({&x, &a, &b, &c}, {}, {0, 0, 0, 0, 1}); @@ -416,11 +416,11 @@ TEST_F(IndexingTests, Test_StridedSlice_3) { TEST_F(IndexingTests, Test_StridedSlice_4) { - auto x = NDArrayFactory::create('c', {1, 2}, {5, 2}); - auto a = NDArrayFactory::create('c', {1}, {0.}); - auto b = NDArrayFactory::create('c', {1}, {1}); - auto c = NDArrayFactory::create('c', {1}, {1}); - auto exp = NDArrayFactory::create({5.0f, 2}); + auto x = NDArrayFactory::create( {1, 2}, {5, 2}); + auto a = NDArrayFactory::create( {1}, {0.}); + auto b = NDArrayFactory::create( {1}, {1}); + auto c = NDArrayFactory::create( {1}, {1}); + auto exp = NDArrayFactory::vector({5.f, 2.f}); sd::ops::strided_slice op; auto result = op.evaluate({&x, &a, &b, &c}, {}, {0, 0, 0, 0, 1}); @@ -439,8 +439,8 @@ TEST_F(IndexingTests, Test_StridedSlice_4) { } TEST_F(IndexingTests, Test_Subarray_Strided_1) { - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto exp = NDArrayFactory::create('c', {3, 2}, {1, 3, 4, 6, 7, 9}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto exp = NDArrayFactory::create( {3, 2}, {1, 3, 4, 6, 7, 9}); auto sub = x({0,0,0, 0,3,2}, true, true); ASSERT_TRUE(exp.isSameShape(sub)); diff --git a/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp b/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp index e6992d7a2545..4619b975f985 100644 --- a/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp @@ -37,9 +37,9 @@ class JavaInteropTests : public testing::Test { TEST_F(JavaInteropTests, TestShapeExposure1) { - auto input = NDArrayFactory::create('c', {1, 2, 5, 4}); - auto weights = NDArrayFactory::create('c', {2, 2, 2, 3}); - auto exp = NDArrayFactory::create('c', {1, 3, 5, 4}); + auto input = NDArrayFactory::create( {1, 2, 5, 4}); + auto weights = NDArrayFactory::create( {2, 2, 2, 3}); + auto exp = NDArrayFactory::create( {1, 3, 5, 4}); sd::ops::conv2d op; @@ -67,8 +67,8 @@ TEST_F(JavaInteropTests, TestShapeExposure1) { TEST_F(JavaInteropTests, TestShapeExposure2) { - auto input = NDArrayFactory::create('c', {1, 2, 5, 4}); - auto exp = NDArrayFactory::create('c', {4}, {1, 2, 5, 4}); + auto input = NDArrayFactory::create( {1, 2, 5, 4}); + auto exp = NDArrayFactory::create( {4}, {1, 2, 5, 4}); sd::ops::shape_of op; @@ -89,8 +89,8 @@ TEST_F(JavaInteropTests, TestShapeExposure2) { } TEST_F(JavaInteropTests, TestShapeExposure3) { - auto x = NDArrayFactory::create('c', {5, 30}); - auto sizes = NDArrayFactory::create('c', {3}, {4, 15, 11}); + auto x = NDArrayFactory::create( {5, 30}); + auto sizes = NDArrayFactory::create( {3}, {4, 15, 11}); std::vector list0 = {0,0, 0,4}; std::vector list1 = {0,0, 4,19}; @@ -124,9 +124,9 @@ TEST_F(JavaInteropTests, TestShapeExposure3) { } TEST_F(JavaInteropTests, Test_Squeeze_1) { - auto x = NDArrayFactory::create('c', {1, 6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create('c', {6}); - auto e = NDArrayFactory::create('c', {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto x = NDArrayFactory::create( {1, 6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto z = NDArrayFactory::create( {6}); + auto e = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); sd::ops::squeeze op; @@ -142,10 +142,10 @@ TEST_F(JavaInteropTests, Test_Squeeze_1) { } TEST_F(JavaInteropTests, Test_RDiv_1) { - auto x = NDArrayFactory::create('c', {3}, {2, 2, 2}); - auto y = NDArrayFactory::create('c', {3}, {4, 6, 8}); - auto z = NDArrayFactory::create('c', {3}); - auto e = NDArrayFactory::create('c', {3}, {2, 3, 4}); + auto x = NDArrayFactory::create( {3}, {2, 2, 2}); + auto y = NDArrayFactory::create( {3}, {4, 6, 8}); + auto z = NDArrayFactory::create( {3}); + auto e = NDArrayFactory::create( {3}, {2, 3, 4}); NDArray::prepareSpecialUse({&z}, {&x, &y}); @@ -166,11 +166,11 @@ TEST_F(JavaInteropTests, Test_RDiv_1) { } TEST_F(JavaInteropTests, TestSconv2d_1) { - auto input = NDArrayFactory::create('c', {3, 3, 8, 8}); - auto weightsD = NDArrayFactory::create('c', {1, 3, 1, 1}); - auto weightsP = NDArrayFactory::create('c', {2, 3, 1, 1}); - auto bias = NDArrayFactory::create('c', {2}); - auto output = NDArrayFactory::create('c', {3, 2, 8, 8}); + auto input = NDArrayFactory::create( {3, 3, 8, 8}); + auto weightsD = NDArrayFactory::create( {1, 3, 1, 1}); + auto weightsP = NDArrayFactory::create( {2, 3, 1, 1}); + auto bias = NDArrayFactory::create( {2}); + auto output = NDArrayFactory::create( {3, 2, 8, 8}); output.assign(0.0); input.linspace(1); @@ -180,7 +180,7 @@ TEST_F(JavaInteropTests, TestSconv2d_1) { weightsD.permutei({2,3,1,0}); weightsP.permutei({2,3,1,0}); - auto expOutput = NDArrayFactory::create('c', {3, 2, 8, 8}); + auto expOutput = NDArrayFactory::create( {3, 2, 8, 8}); sd::ops::sconv2d op; @@ -206,16 +206,16 @@ TEST_F(JavaInteropTests, TestSconv2d_1) { } TEST_F(JavaInteropTests, TestSconv2d_2) { - auto input = NDArrayFactory::create('c', {3, 3, 8, 8}); - auto weightsD = NDArrayFactory::create('c', {1, 3, 1, 1}); - auto output = NDArrayFactory::create('c', {3, 3, 8, 8}); + auto input = NDArrayFactory::create( {3, 3, 8, 8}); + auto weightsD = NDArrayFactory::create( {1, 3, 1, 1}); + auto output = NDArrayFactory::create( {3, 3, 8, 8}); output.assign(0.0); input.linspace(1); weightsD.linspace(1); weightsD.permutei({2,3,1,0}); - auto expOutput = NDArrayFactory::create('c', {3, 3, 8, 8}); + auto expOutput = NDArrayFactory::create( {3, 3, 8, 8}); sd::ops::sconv2d op; @@ -239,8 +239,8 @@ TEST_F(JavaInteropTests, TestSconv2d_2) { TEST_F(JavaInteropTests, TestMaxPooling2d_1) { - auto input = NDArrayFactory::create('c', {1, 2, 4, 5}); - auto output = NDArrayFactory::create('c', {1, 2, 4, 5}); + auto input = NDArrayFactory::create( {1, 2, 4, 5}); + auto output = NDArrayFactory::create( {1, 2, 4, 5}); input.linspace(1); NDArray::prepareSpecialUse({&output}, {&input}); @@ -270,8 +270,8 @@ TEST_F(JavaInteropTests, TestCol2Im_1) { o.d.n.l.c.ConvolutionLayer - Input: [4,5] o.d.n.l.c.ConvolutionLayer - Dilation: [1, 1] */ - auto input = NDArrayFactory::create('c', {1, 2, 2, 2, 4, 5}); - auto output = NDArrayFactory::create('c', {1, 2, 4, 5}); + auto input = NDArrayFactory::create( {1, 2, 2, 2, 4, 5}); + auto output = NDArrayFactory::create( {1, 2, 4, 5}); input.linspace(1); NDArray::prepareSpecialUse({&output}, {&input}); @@ -306,8 +306,8 @@ TEST_F(JavaInteropTests, TestPNorm_1) { o.d.n.l.c.s.SubsamplingLayer - Same: false o.d.n.l.c.s.SubsamplingLayer - pnorm: 2 */ - auto input = NDArrayFactory::create('c', {1, 3, 4, 4}); - auto output = NDArrayFactory::create('c', {1, 3, 3, 3}); + auto input = NDArrayFactory::create( {1, 3, 4, 4}); + auto output = NDArrayFactory::create( {1, 3, 3, 3}); input.linspace(1); NDArray::prepareSpecialUse({&output}, {&input}); @@ -332,7 +332,7 @@ TEST_F(JavaInteropTests, TestPNorm_1) { TEST_F(JavaInteropTests, TestInplace_1) { - auto input = NDArrayFactory::create('c', {10, 10}); + auto input = NDArrayFactory::create( {10, 10}); //auto exp('c', {10, 10}); input.linspace(1); @@ -401,8 +401,8 @@ TEST_F(JavaInteropTests, Test_Synonyms_3) { } TEST_F(JavaInteropTests, Test_FastPath_Validation_1) { - auto x = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); - auto z = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {4}, {1, 2, 3, 4}); + auto z = NDArrayFactory::create( {4}, {1, 2, 3, 4}); Context ctx(1); ctx.setInputArray(0, x.buffer(), x.shapeInfo(), x.specialBuffer(), x.specialShapeInfo()); @@ -414,8 +414,8 @@ TEST_F(JavaInteropTests, Test_FastPath_Validation_1) { } TEST_F(JavaInteropTests, Test_FastPath_Validation_2) { - auto x = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto z = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto z = NDArrayFactory::create( {4}, {1, 2, 3, 4}); Context ctx(1); ctx.setInputArray(0, x.buffer(), x.shapeInfo(), x.specialBuffer(), x.specialShapeInfo()); @@ -427,14 +427,14 @@ TEST_F(JavaInteropTests, Test_FastPath_Validation_2) { } TEST_F(JavaInteropTests, Test_FastPath_Validation_3) { - auto x = NDArrayFactory::create('c', {3, 5}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, + auto x = NDArrayFactory::create( {3, 5}, { 0.7788f, 0.8012f, 0.7244f, 0.2309f, 0.7271f, 0.1804f, 0.5056f, 0.8925f, 0.5461f, 0.9234f, 0.0856f, 0.7938f, 0.6591f, 0.5555f, 0.1596f}); - auto min = NDArrayFactory::create({ -0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); - auto max = NDArrayFactory::create({ 0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); + auto min = NDArrayFactory::vector({ -0.2283f, -0.0719f, -0.0154f, -0.5162f, -0.3567f}); + auto max = NDArrayFactory::vector({ 0.9441f, 0.5957f, 0.8669f, 0.3502f, 0.5100f}); - auto z = NDArrayFactory::create('c', {3, 5}); + auto z = NDArrayFactory::create( {3, 5}); Context ctx(1); ctx.setInputArray(0, x.buffer(), x.shapeInfo(), x.specialBuffer(), x.specialShapeInfo()); @@ -447,9 +447,9 @@ TEST_F(JavaInteropTests, Test_FastPath_Validation_3) { } TEST_F(JavaInteropTests, Test_empty_cast_1) { - auto x = NDArrayFactory::create('c', {1, 0, 2}); - auto z = NDArrayFactory::create('c', {1, 0, 2}); - auto e = NDArrayFactory::create('c', {1, 0, 2}); + auto x = NDArrayFactory::create( {1, 0, 2}); + auto z = NDArrayFactory::create( {1, 0, 2}); + auto e = NDArrayFactory::create( {1, 0, 2}); Nd4jLong iArgs[] = {10}; @@ -470,8 +470,8 @@ TEST_F(JavaInteropTests, test_avgpooling_edge_1) { int inOutW = 35; int inOutC = 192; - auto x = NDArrayFactory::create('c', {1, inOutH, inOutW, inOutC}); - auto z = NDArrayFactory::create('c', {1, inOutH, inOutW, inOutC}); + auto x = NDArrayFactory::create( {1, inOutH, inOutW, inOutC}); + auto z = NDArrayFactory::create( {1, inOutH, inOutW, inOutC}); x.linspace(1.0); z.linspace(1.0); @@ -500,8 +500,8 @@ TEST_F(JavaInteropTests, test_avgpooling_edge_1) { int k = 3; - auto m = NDArrayFactory::create('c', {1, inOutH, inOutW, inOutC}); - auto c = NDArrayFactory::create('c', {1, inOutH, inOutW, inOutC}); + auto m = NDArrayFactory::create( {1, inOutH, inOutW, inOutC}); + auto c = NDArrayFactory::create( {1, inOutH, inOutW, inOutC}); for (int h = 0; h < inOutH; h++) { for (int w = 0; w < inOutW; w++) { @@ -577,9 +577,9 @@ TEST_F(JavaInteropTests, Test_GraphReuse_2) { //Environment::getInstance()->setDebug(true); //Environment::getInstance()->setVerbose(true); - auto exp0 = NDArrayFactory::create('c', {3}, {3, 3, 3}); - auto exp1 = NDArrayFactory::create('c', {3}, {6, 6, 6}); - auto exp2 = NDArrayFactory::create('c', {3}, {9, 9, 9}); + auto exp0 = NDArrayFactory::create( {3}, {3, 3, 3}); + auto exp1 = NDArrayFactory::create( {3}, {6, 6, 6}); + auto exp2 = NDArrayFactory::create( {3}, {9, 9, 9}); // we load graph from file, because we're not in java here, and dont have buffer ready uint8_t* data = sd::graph::readFlatBuffers("./resources/reduce_dim_false.fb"); @@ -597,7 +597,7 @@ TEST_F(JavaInteropTests, Test_GraphReuse_2) { // run stuff - auto input_0 = NDArrayFactory::create('c', {3, 3}); + auto input_0 = NDArrayFactory::create( {3, 3}); input_0.assign(1.0f); int idx[] = {1}; @@ -614,7 +614,7 @@ TEST_F(JavaInteropTests, Test_GraphReuse_2) { ASSERT_TRUE(exp0.isSameShape(z0)); - auto input_1 = NDArrayFactory::create('c', {3, 3}); + auto input_1 = NDArrayFactory::create( {3, 3}); input_1.assign(2.0f); Nd4jPointer inputs_1[] = {(Nd4jPointer) input_1.buffer()}; @@ -629,7 +629,7 @@ TEST_F(JavaInteropTests, Test_GraphReuse_2) { ASSERT_TRUE(exp1.isSameShape(z1)); - auto input_2 = NDArrayFactory::create('c', {3, 3}); + auto input_2 = NDArrayFactory::create( {3, 3}); input_2.assign(3.0f); Nd4jPointer inputs_2[] = {(Nd4jPointer) input_2.buffer()}; @@ -658,12 +658,12 @@ TEST_F(JavaInteropTests, Test_GraphReuse_2) { */ TEST_F(JavaInteropTests, Test_Greater_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 1, 2}); - auto y = NDArrayFactory::create('c', {2, 2}, {1, 2, 0, 0}); -// auto o = NDArrayFactory::create('c', {2, 2}, {3, 3, 3, 3}); - auto o = NDArrayFactory::create('c', {2, 2}, {true, true, true, true}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 1, 2}); + auto y = NDArrayFactory::create( {2, 2}, {1, 2, 0, 0}); +// auto o = NDArrayFactory::create( {2, 2}, {3, 3, 3, 3}); + auto o = NDArrayFactory::create( {2, 2}, {true, true, true, true}); - auto exp = NDArrayFactory::create('c', {2, 2}, {false, false, true, true}); + auto exp = NDArrayFactory::create( {2, 2}, {false, false, true, true}); NDArray::prepareSpecialUse({&o}, {&x, &y}); @@ -683,11 +683,11 @@ TEST_F(JavaInteropTests, Test_Greater_1) { TEST_F(JavaInteropTests, Test_Greater_2) { - auto x = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 1.f, 2.f}); - auto y = NDArrayFactory::create('c', {2, 2}, {1.f, 2.f, 0.f, 0.f}); - auto o = NDArrayFactory::create('c', {2, 2}, {true, true, true, true}); + auto x = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 1.f, 2.f}); + auto y = NDArrayFactory::create( {2, 2}, {1.f, 2.f, 0.f, 0.f}); + auto o = NDArrayFactory::create( {2, 2}, {true, true, true, true}); - auto exp = NDArrayFactory::create('c', {2, 2}, {false, false, true, true}); + auto exp = NDArrayFactory::create( {2, 2}, {false, false, true, true}); sd::ops::greater op; @@ -710,7 +710,7 @@ TEST_F(JavaInteropTests, Test_Boolean_Op_1) { sd::ops::is_non_decreasing op; - auto x = NDArrayFactory::create('c', {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); + auto x = NDArrayFactory::create( {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); auto o = NDArrayFactory::create(false); auto exp = NDArrayFactory::create(1); @@ -733,9 +733,9 @@ TEST_F(JavaInteropTests, Test_Boolean_Op_1) { TEST_F(JavaInteropTests, Test_Inplace_Outputs_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto exp = NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto exp = NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto z = NDArrayFactory::create( {2, 3}); sd::ops::test_output_reshape op; @@ -759,10 +759,10 @@ TEST_F(JavaInteropTests, Test_Inplace_Outputs_1) { TEST_F(JavaInteropTests, Test_Inplace_Outputs_2) { - auto x = NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto x = NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); auto y = NDArrayFactory::create(2.0f); - auto z = NDArrayFactory::create('f', {2, 3}); - auto e = NDArrayFactory::create('c', {2, 3}, {3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto z = NDArrayFactory::create( {2, 3}, {}, sd::kArrayOrderFortran); + auto e = NDArrayFactory::create( {2, 3}, {3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); sd::ops::add op; @@ -787,10 +787,10 @@ TEST_F(JavaInteropTests, Test_Inplace_Outputs_2) { } TEST_F(JavaInteropTests, Test_Inplace_Outputs_3) { - auto input = NDArrayFactory::create('c', {2, 3, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24}); - auto indices = NDArrayFactory::create('c', {1, 6}, {0,1, 2,2, 1,2}); - auto output = NDArrayFactory::create('f', {2, 1, 6, 4}); - auto e = NDArrayFactory::create('c', {2, 1, 6, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 9,10,11,12, 5, 6, 7, 8, 9,10,11,12, 13,14,15,16, 17,18,19,20, 21,22,23,24, 21,22,23,24, 17,18,19,20, 21,22,23,24}); + auto input = NDArrayFactory::create( {2, 3, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24}); + auto indices = NDArrayFactory::create( {1, 6}, {0,1, 2,2, 1,2}); + auto output = NDArrayFactory::create( {2, 1, 6, 4}, {}, sd::kArrayOrderFortran); + auto e = NDArrayFactory::create( {2, 1, 6, 4}, {1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 9,10,11,12, 5, 6, 7, 8, 9,10,11,12, 13,14,15,16, 17,18,19,20, 21,22,23,24, 21,22,23,24, 17,18,19,20, 21,22,23,24}); sd::ops::gather op; @@ -816,11 +816,11 @@ TEST_F(JavaInteropTests, Test_Inplace_Outputs_3) { } TEST_F(JavaInteropTests, Test_Reduce3_EdgeCase) { - auto x = NDArrayFactory::create('c', {3, 4, 5}); - auto y = NDArrayFactory::create('c', {3, 4, 5}); - auto z = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create( {3, 4, 5}); + auto y = NDArrayFactory::create( {3, 4, 5}); + auto z = NDArrayFactory::create( {5}); - auto dims = NDArrayFactory::create('c', {2}, {0, 1}); + auto dims = NDArrayFactory::create( {2}, {0, 1}); dims.syncToHost(); sd::LaunchContext* context = sd::LaunchContext::defaultContext(); @@ -869,9 +869,9 @@ TEST_F(JavaInteropTests, Test_SimpleIf_Output) { TEST_F(JavaInteropTests, Test_AveragePooling_FF_TF_double) { - auto input = NDArrayFactory::create('c', {4, 10, 10, 3}, {9.37125111, 2.20166993, 2.91434479, 5.43639755, -2.10573769, 4.08528662, 5.86908436, -4.46203756, 2.21057916, 5.35849190, 0.01394637, 4.40566349, 7.07982206, -0.09633455, 2.42429352, 3.97301817, -1.89553940, 1.99690318, 6.33141708, 0.55401880, 1.70707977, 5.55204201, -0.03513752, 1.60011971, 2.62700319, -2.74582434, 3.06697464, 1.06277943, -1.16075921, -0.78095782, 9.72352791, -1.22686064, 1.99644792, 7.35571337, 1.40607321, 0.11390255, 9.53334427, 2.28303599, -1.66728830, 6.16678810, -0.04532295, -1.97708666, 9.74906158, 1.46223176, -1.46734393, 4.30761862, -1.23790228, 1.24823606, 6.13938427, -3.83689475, -1.19625473, 7.91535568, 6.05868721, -3.22946382, 8.81633949, -0.19967777, 0.66053957, 2.30919123, 0.74543846, -0.39347672, 11.11058044, 0.53720862, 1.52645731, 5.70012379, -1.15213466, 1.16451406, 7.00526333, 1.57362783, -2.44384766, 5.54213285, -1.98828590, -0.70483637, 7.88281822, -3.59875536, 0.80745387, 13.41578484, -1.55507684, -0.65855008, 9.32583523, -0.14544789, 0.73436141, 3.61176538, -1.71268058, -2.58490300, 9.09280205, -3.27405524, -2.04569697, 4.44761324, -0.62955856, -2.61917663, 8.04890442, 0.54579324, 0.85929775, 9.82259560, -1.93825579, 0.77703512, 4.67090321, -4.79267597, -2.38906908, 9.31265545, 0.96026313, -1.14109385, 11.54231834, -0.01417295, -0.39500344, 8.49191666, 0.55300158, 2.79490185, 6.92466164, 1.72254205, 2.82222271, 8.83112717, 2.95033407, 2.18054962, 6.73509789, -2.22272944, 0.51127720, -1.04563558, 2.15747333, -2.30959272, 9.55441570, 1.50396204, 1.77370787, 7.38146257, -1.79076433, 3.20961165, 7.18864202, 2.91217351, 0.43018937, 7.11078024, -1.17386127, -0.16817921, 6.12327290, -2.82205725, 3.30696845, 13.51291752, -1.30856836, -2.38332748, 11.09487438, -1.47190213, -0.53050828, 4.38285351, -5.07309771, 1.50714362, 5.72274446, -2.85825086, -0.89673209, 3.73791552, -0.67708802, -4.13149452, -0.00671843, -0.26566532, 0.32961160, 7.14501762, -1.41608179, -4.96590328, 12.26205540, -0.65158135, -0.88641000, 6.95777559, -0.79058206, -0.10260171, 7.87169170, 1.35921454, 1.11759663, 5.46187401, -2.57214499, 2.48484039, 4.04043484, -2.07137156, -1.42709637, 9.25487137, -0.12605135, -2.66949964, 2.89412403, 0.74451172, -2.96250391, 3.99258423, 0.27084303, 0.32213116, 5.42332172, -0.44414216, 1.70881832, 6.69346905, 0.53058422, -4.73146200, 4.22051668, 2.24834967, 0.66996074, 4.30173683, 0.11849818, -4.07520294, 8.27318478, -2.54398274, -2.86705542, 10.11775303, -0.99382895, 0.65881538, 7.93556786, -1.27934420, -1.69343162, 9.68042564, -1.02609646, -1.18189347, 5.75370646, -1.67888868, -4.48871994, 4.79537392, -0.79212248, -0.19855022, 6.15060997, -0.01081491, 3.64454579, 10.82562447, 1.58859253, -2.65847278, 8.60093212, -1.59196103, 0.07635692, 11.76175690, -1.17453325, 0.10122013, 6.86458445, -2.18891335, -2.74004745, 8.07066154, 0.71818852, -2.03035975, 6.31053686, 0.51509416, 1.39789927, 9.43515587, 2.04256630, 0.13985133, 4.65010691, 2.40911126, -0.36255789, -3.06867862, -0.45225358, -1.56778407, 6.05917358, -1.09891272, 1.77184200, 6.46248102, 0.96042323, -0.24346280, 4.63436460, -4.69907761, 1.25187206, 11.46173859, -2.21917558, 1.28007793, 6.92173195, 2.11268163, -3.47389889, 5.08722782, -3.03950930, -4.17154264, 11.30568314, 0.80361372, 2.53214502, 7.18707085, -4.49114513, 2.85449266, 10.14906883, -0.31974933, -0.84472644, -0.52459574, 0.12921631, -1.81390119, 2.76170087, 1.03982210, 2.91744232, -0.29048753, 5.87453508, -1.53684759, 1.85800636, -0.91404629, 1.28954852, 5.11354685, -2.47475505, -1.33179152, 2.58552408, 1.37316465, -3.32339454, 1.54122913, 3.24953628, -0.29758382, 2.82391763, -1.51142192, -1.22699404, 6.75745535, 0.65452754, -3.29385471, 2.06008053, 2.53172946, -4.23532820, -1.53909743, -0.07010663, -1.42173731, 7.29031610, -0.18448229, 4.59496164, 6.73027277, 0.73441899, 0.14426160, 4.14915276, -2.97010231, 6.05851364, 4.95218086, -2.39145470, 2.40494704, 2.10288811, 0.53503096, 1.44511235, 6.66344261, -3.05803776, 7.21418667, 3.30303526, -0.24163735, 3.47409391, 3.64520788, 2.15189481, -3.11243272, 3.62310791, 0.37379482, 0.40865007, -0.83132005, -4.78246069, 2.07030797, 6.51765442, 3.16178989, 5.06180477, 3.78434467, -0.96689719, 0.35965276, 5.89967585, 1.40294051, 1.11952639, 10.59778214, 0.26739889, -1.61297631, 6.24801159, -0.93914318, -0.57812452, 9.92604542, -0.73025000, -3.38530874, 2.45646000, -2.47949195, 0.51638460, 10.65636063, 1.97816694, -3.00407791, 2.66914415, -0.81951088, -0.23316640, 2.40737987, -2.70007610, 1.51531935, 4.08860207, -0.27552786, -1.31721711, 7.11568260, -3.33498216, -4.02545023, 7.22675610, -0.81690705, -2.52689576, 1.04016697, -0.79291463, -0.34875512, 10.00498390, -4.24167728, 1.46162593, 11.82569408, -1.70359993, -0.30161047, 16.44085884, -0.82253462, -0.09435523, 6.13080597, -0.20259480, 0.68308711, 6.15663004, -6.61776876, 0.33295766, 2.55449438, -0.17819691, -1.14892209, 5.56776142, 1.99279118, 1.33035934, 4.45823956, 3.34916544, -2.59905386, 6.16164446, -2.03881931, -2.45273542, 12.46793365, -2.22743297, 2.83738565, 8.48628139, -1.39347959, -1.30867767, 11.08041477, -4.00363779, 2.09183025, 11.30395889, -2.20504737, 1.37426853, 8.98735619, 1.04676604, -0.72757077, 8.28050232, -6.70741081, -0.65798020, 5.68592072, -0.60760021, 0.35854483, 6.26852131, 1.94100165, 1.32112014, 0.80987954, -1.74617672, -0.25434083, 7.16045523, 1.58884013, -2.64847064, 13.14820385, 1.21393633, -2.47258949, 9.41650105, -0.79384226, 2.48954105, 10.95629311, 0.47723705, 4.02126694, 8.02593136, -2.20726371, -1.18794477, 1.50836647, 0.93118095, -1.73513174, 8.85493565, -2.99670315, -0.79055870, 2.39473820, 2.05046916, -2.38055134, 11.82299423, 0.15609655, 0.68744308, 5.66401434, -0.69281673, 2.09855556, 7.74626589, -0.34283102, 1.00542057, 9.95838642, 0.80161905, 2.33455157, 9.80057335, -0.93561798, 2.56991577, 8.29711342, 0.94213426, 0.44209945, 11.70259857, 0.92710167, 2.60957146, 0.24971688, -0.86529571, 3.78628922, 6.80884457, -0.68178189, 2.21103406, 3.18895817, 0.60283208, -2.92716241, 6.72060776, -1.06625068, 2.56543374, 9.97404480, 3.58080721, -0.94936347, 10.16736984, -1.38464379, 1.18191063, 6.66179037, -3.56115270, 0.32329530, 10.90870762, 2.20638227, 0.19653285, 7.34650040, -3.63859272, -1.03027737, 5.98829985, -3.66606474, -3.89746714, 8.63469028, 1.22569811, 1.63240814, 3.74385309, 0.58243257, -0.56981975, 3.69260955, 1.00979900, -1.44030499, 8.57058144, -1.10648811, 1.20474911, 5.43133020, -2.14822555, -0.07928789, 11.25825310, 0.19645604, -5.49546146, 10.41917038, -0.68178523, -2.99639869, 6.50054455, 0.46488351, -5.42328453, 9.09500027, -2.82107449, 0.05601966, 15.34610748, -0.06820253, 3.86699796, 10.73316956, -3.04795432, -0.14702171, 5.64813185, 1.44028485, -2.47596145, 0.07280898, -3.03187990, -1.35183525, 9.35835648, 2.72966957, 1.88199532, 10.36187744, -0.22834805, -3.26738238, 6.92025137, -2.34061313, 4.77379704, 5.28559113, -2.96323752, -1.76186585, 5.94436455, 0.38647744, -5.73869514, 6.76849556, 1.40892124, -1.19068217, 5.37919092, -6.65328646, 3.62782669, 12.34744644, 2.44762444, -4.19242620, 6.14906216, 0.08121119, 0.61355996, 2.69666457, -1.88962626, -0.55314136, 1.84937525, 1.56048691, 1.17460012, 3.75674725, 1.06198275, -5.74625874, 5.41645575, -1.28946674, -1.51689398, 4.32400894, -0.05222082, -4.83948946, 1.80747867, 1.63144708, -2.73887825, 1.63975775, -2.02163982, -0.16210437, 2.93518686, 1.14427686, -2.83246303, 4.79283667, 2.69697428, -3.12678456, -1.19225168, -2.37022972, -3.09429741, 1.94225383, -1.13747168, -2.55048585, 5.40242243, 1.12777328, 3.43713188, 3.62658787, -2.16878843, 0.30164462, 2.97407579, -0.07275413, -1.31149673, 4.70066261, -2.01323795, 4.85255766, 4.59128904, 1.68084168, 1.60336494, 6.58138466, -1.04759812, 2.69906545, 3.55769277, -0.74327278, 2.65819693, 5.39528131, 2.11248922, -1.06446671, 5.24546766, -2.43146014, 4.58907509, 0.06521678, -2.24503994, 2.45722699, 6.94863081, 0.35258654, 2.83396196, 9.92525196, -1.12225175, -0.34365177, 7.19116688, -4.39813757, 0.46517885, 13.22028065, -2.57483673, -6.37226963, 7.58046293, -2.74600363, 0.42231262, 8.04881668, 0.17289802, -0.53447008, 16.55157471, -5.63614368, 0.39288223, 3.37079263, 1.26484549, -0.12820500, 8.46440125, -4.39304399, 2.97676420, 0.65650189, 0.83158541, -1.11556435, 6.32885838, -0.36087769, 2.80724382, 9.90292645, 1.15936041, 0.20947981, 6.91249275, -2.67404819, 2.93782163, 6.65656614, -2.30828357, 2.98214006, 6.80611229, -4.93821478, -7.66555262, 7.59763002, -0.54159302, 3.87403512, 12.42607784, 2.59284401, -0.23375344, 8.95293331, -0.71807784, 0.61873478, 8.66713524, 1.24289191, -2.37835455, 2.08071637, -0.88315344, -3.41891551, 6.85245323, 1.73007369, 1.02169311, 7.69170332, -2.85411978, 2.69790673, 8.12906551, -1.19351399, -2.26442742, 12.26104450, -0.75579089, -1.73274946, 10.68729019, 2.20655656, -0.90522075, 12.42165184, -1.67929137, 2.44851565, 9.31565762, -0.06645700, 1.52762020, 6.18427515, -1.68882596, 3.70261097, 3.02252960, -3.44125366, -1.31575799, 2.84617424, -0.96849400, -4.52356243, 9.95027161, 0.19966406, -0.78874779, 8.18595028, -4.08300209, 1.75126517, 0.96418417, -4.04913044, -0.95200396, 12.03637886, -0.03041124, 0.41642749, 8.88267422, -3.24985337, -2.24919462, 7.32566118, 0.16964148, -2.74123430, 7.05264473, -3.30191112, 0.17163286, 4.81851053, -1.64463484, -0.85933101, 7.29276276, 2.34066939, -2.14860010, 3.46148157, -0.01782012, 1.51504040, 4.79304934, 1.85281146, -1.70663762, 6.93470192, -4.15440845, -1.25983095, 10.52491760, 0.42930329, -1.85146868, 11.70042324, -0.41704914, 3.83796859, 9.21148491, -2.79719448, 0.79470479, 6.26926661, -5.85230207, 3.95105338, 7.84790897, -1.38680744, -1.78099084, 11.95235348, -2.99841452, -1.34507811, 6.15714645, -1.07552516, -2.81228638, 1.66234732, -4.55166149, -1.92601109, 8.64634514, -0.48158705, 3.31595659, 7.67371941, 2.56964207, 0.12107098, 4.56467867, -0.93541539, 1.39432955, 11.99714088, 1.05353570, -2.13099813, 3.67617917, 3.45895386, 1.37365830, 8.74344158, -4.17585802, 1.43908918, 6.28764772, 3.97346330, -0.69144285, 9.07983303, -0.41635889, -0.14965028, 8.85469818, 1.11306190, 2.59440994, 5.38982344, -1.07948279, 1.37252975, 10.26984596, -0.09318046, 2.73104119, 12.45902252, -1.55446684, -2.76124811, 12.19395065, -0.51846564, 1.02764034, 11.42673588, -0.95940983, -0.04781032, 8.78379822, -4.88957930, 0.32534006, 11.97696400, -3.35108662, 1.95104563, 4.46915388, -2.32061648, 3.45230985, 8.29983711, 2.81034684, -2.35529327, 6.07801294, -0.98105043, -0.05359888, 2.52291036, -0.01986909, -2.35321999, 10.51954269, 2.11145401, 3.53506470, 7.29093266, 0.03721160, -1.13496494, 7.43886709, -5.84201956, 2.50796294, 12.14647675, 2.77490377, -2.18896222, 6.05641937, 5.32617044, 1.04221284, 10.79106712, -2.95749092, -2.75414610, 11.30037117, -3.40654182, -2.24673963, 7.49126101, 0.70811015, -6.18003702, 13.83951187, -1.01204085, 1.36298490, -1.04451632, 2.42435336, -0.02346706, -0.85528886, 1.04731262, 0.22192979, 4.15708160, 0.34933877, 0.04814529, 2.24107265, 0.49676740, -1.47752666, 0.45040059, -0.70471478, -1.19759345, 0.21711677, 0.88461423, -2.76830935, 5.52066898, 1.97664857, -1.75381601, 3.45877838, 1.52617192, -1.61350942, 0.85337949, 1.97610760, -3.40310287, 3.40319014, -3.38691044, -0.71319139, 1.65463758, -0.60680127, -1.80700517, 8.02592373, 2.59627104, 2.65895891, 5.93043184, -4.48425817, 3.92670918, 4.19496679, -2.28286791, 6.41634607, 5.72330523, 1.16269672, -0.28753027, 2.46342492, 0.36693189, 0.26712441, 6.37652683, -2.50139046, 2.43923736, 5.56310415, 0.98065847, 1.04267502, 4.16403675, -0.04966142, 4.40897894, 3.72905660, -3.46129870, 3.59962773, 1.34830284, -1.76661730, 0.47943926, 5.29946661, -1.12711561, 1.26970029, 15.17655945, -1.50971997, 5.81345224, 8.48562050, -4.36049604, 2.48144460, 8.23780441, -3.46030426, -0.84656560, 5.94946814, 1.12747943, -2.65683913, 8.69085693, 1.31309867, -2.79958344, 8.76840591, -1.56444156, 1.62710834, 2.41177034, -0.72804940, 5.70619011, 4.67169666, -0.86167198, -1.83803177, 2.96346045, 2.82692933, -2.81557131, 7.11113358, -1.90071094, 2.54244423, 11.19284058, -0.06298946, -1.71517313, 12.98388577, 0.84510714, 3.00816894, 2.57200313, 0.03899818, -1.49330592, 9.60099125, -3.59513044, -1.30045319, 7.09241819, -0.65233821, -2.33627677, 8.81366920, 0.84154201, 1.03312039, 9.85289097, 0.19351870, 1.78496623, 7.34631205, -2.16530800, -0.65016162, 2.46842360, 0.24016285, -1.24308395, 4.78175163, -0.97682536, 2.20942235, 6.68382788, 3.76786447, -1.44454038, 6.26453733, -3.23575711, -2.30137897, 9.53092670, -5.55222607, 3.25999236, 9.37559509, 1.86339056, -0.23551451, 10.23400211, 3.93031883, -0.52629089, 7.85724449, -2.91549587, 4.46612740, 5.66530371, -2.70820427, 4.81359577, 10.31247330, 1.92230141, 2.53931546, 0.74986327, 1.70303428, 0.48063779, 5.31099129, -0.78976244, 3.75864220, 4.23051405, 2.34042454, -7.98193836, 9.83987141, -1.46722627, 3.54497814, 10.36455154, -4.51249075, 0.77715248, 7.78694630, -4.59989023, -2.49585629, 9.90296268, 1.38535416, 1.17441154, 10.10452843, -0.98628229, 0.60194463, 9.12639141, -3.90754628, 2.88526392, 7.24123430, -0.15283313, -0.75728363, -1.15116858, -2.53791571, 0.77229571, 6.44114161, 0.02646767, 4.95463037, 7.21066380, 1.79384065, 0.73250306, 8.04447937, 0.32576546, -0.79447043, 10.12717724, 2.33392906, 1.30716443, 12.36073112, -0.36694977, -1.20438910, 7.03105593, 0.59557682, 0.69267452, 10.18113136, 2.49944925, -0.42229167, 8.83143330, -1.18805945, -2.87509322, 4.53596449, 4.09732771, -3.39088297, -1.02536607, 0.82119560, -3.47302604, 9.29991817, 0.21001509, 4.97036457, 9.50018406, 1.04420102, 1.96560478, 10.74769592, -6.22709799, 3.11690164, 5.06759691, -1.23724771, -3.05831861, 8.12925529, -1.93435478, -1.10151744, 9.32263088, -0.04249470, -5.98547363, 10.49398136, 0.26400441, -0.78915191, 13.28219604, 2.99276900, 0.74853164, 2.49364305, -3.43529654, 4.05278301, 2.13498688, -2.35444307, -0.79900265, 4.66968822, -0.31095147, 3.60674143, 12.37222099, -0.07855003, -3.30292702, 12.15215874, 0.60886210, 2.87075138, 7.75271845, 0.38044083, 3.34402204, 6.40583277, -0.87888050, 0.67438459, 6.91080809, 1.98332930, -0.08303714, 8.08630371, -0.16772588, -2.74058914, 7.17253590, -2.69122696, 1.48173678, 8.99470139, -1.43302310, -0.88651133, 2.66944790, -0.29186964, 2.00838661, 5.09587479, -0.76676071, -2.88322186, 8.31110573, -0.14550979, -1.37726915, 10.28355122, -1.60575438, -0.04118848, 9.97510815, 0.14440438, -3.24632120, 9.00034523, 4.14319563, -1.31023729, 7.16950464, -0.70428526, 2.01559544, 7.26155043, 2.40816474, 2.09847403, 7.31264496, -0.75401551, 2.13392544, 7.03648758, 1.04036045, -1.15636516, 1.09634531, -0.06340861, -0.58107805, -0.65623116, 1.18972754, -0.80717683, 1.40118241, -0.61932516, -3.60596156, 1.59904599, -2.23774099, -1.13721037, 3.89620137, -0.09115922, -7.51356888, 2.36975193, -1.42520905, -2.34173775, 3.33830214, -2.74016523, -3.04115510, 6.00119495, -1.36084354, -2.45065260, 4.56992292, -3.02825928,-3.74182844,5.11069250,-0.91531068,-2.31385994,1.83399653,3.39370203,-3.60886002}); - auto z = NDArrayFactory::create('c', {4, 4, 4, 3}); - auto exp = NDArrayFactory::create('c', {4, 4, 4, 3}, {7.97172260, 0.06878620, 2.27749538, 7.29276514, -0.14074677, 0.65480286, 5.70313978, -0.06546132, 0.35443667, 3.70382833, -0.84020567, 0.63826996, 8.60301399, -0.38236514, 1.55177069, 7.37542057, -0.99374938, -0.29971302, 8.84352493, -0.67121059, 0.43132120, 4.78175592, -1.25070143, -1.91523600, 6.03855371, -0.00292124, -1.11214364, 7.90158176, -0.57949901, -0.96735370, 7.81192017, -0.53255427, -0.48009714, 3.16953635, 0.08353355, -1.54299748, 3.74821687, 1.69396687, 0.72724354, 5.42915201, -1.13686812, -0.71793109, 5.78376389, -0.72239977, -0.60055625, 2.53636408, 0.56777251, -2.07892323, 6.08064651, 0.68620735, 2.54017019, 5.65828180, -0.68255502, 1.47283304, 6.10842514, -0.39655915, 0.28380761, 1.96707797, -1.98206317, 0.94027776, 4.71811438, 0.32104525, -0.92409706, 8.34588146, -1.05581069, -0.55217457, 9.58440876, -0.96549922, 0.45820439, 5.65453672, -2.50953507, -0.71441835, 8.03059578, -0.21281289, 0.92125505, 9.26900673, -0.35963219, -0.70039093, 8.59924412, -1.22358346, 0.81318003, 3.85920119, -0.01305223, -1.09234154, 6.33158875, 1.28094780, -1.48926139, 4.94969177, -0.77126902, -1.97033751, 5.64381838, -0.16285487, -1.31277227, 2.39893222, -1.32902908, -1.39609122, 6.47572327, -0.45267010, 1.55727172, 6.70965624, -1.68735468, -0.05672536, 7.25092363, -0.64613032, 0.67050058, 3.60789680, -2.05948973, 2.22687531, 8.15202713, -0.70148355, 1.28314006, 8.14842319, -1.88807654, -1.04808438, 8.45500565, -0.76425624, 0.94542569, 4.56179953, -0.28786001, -2.04502511, 8.46278095, -0.31019822, 0.07339200, 9.34214592, -0.61948007, 0.52481830, 8.32515621, -1.52418160, 0.49678251, 5.11082315, -1.09908783, -0.52969611, 5.27806664, 0.88632923, 0.66754371, 4.75839233, 0.48928693, -0.68036932, 6.56925392, -0.02949905, -2.99189186, 4.46320581, -0.64534980, -0.29516968, 8.60809517, -1.13120568, 3.41720533, 5.84243155, -1.24109328, 0.89566326, 5.99578333, -0.42496428, 2.07076764, 3.17812920, -0.81566459, -0.14363396, 6.55184317, 0.39633346, -0.43852386, 8.70214558, -2.24613595, 0.30708700, 8.73882294, -0.53545928, 1.54409575, 4.49452257, -0.16509305, 0.19028664, 8.24897003, 0.44750381, 2.15448594, 8.97640514, -0.77728152, 0.57272542, 9.03467560, 0.47173575, -1.10807717, 3.30056310, -0.43268481, -0.41470885, 3.53798294, -0.08546703, -2.16840744, 6.18733406, -0.17871059, -2.59837723, 5.94218683, -1.02990067, -0.49760687, 3.76938033, 0.86383581, -1.91504073}); + auto input = NDArrayFactory::create( {4, 10, 10, 3}, {9.37125111, 2.20166993, 2.91434479, 5.43639755, -2.10573769, 4.08528662, 5.86908436, -4.46203756, 2.21057916, 5.35849190, 0.01394637, 4.40566349, 7.07982206, -0.09633455, 2.42429352, 3.97301817, -1.89553940, 1.99690318, 6.33141708, 0.55401880, 1.70707977, 5.55204201, -0.03513752, 1.60011971, 2.62700319, -2.74582434, 3.06697464, 1.06277943, -1.16075921, -0.78095782, 9.72352791, -1.22686064, 1.99644792, 7.35571337, 1.40607321, 0.11390255, 9.53334427, 2.28303599, -1.66728830, 6.16678810, -0.04532295, -1.97708666, 9.74906158, 1.46223176, -1.46734393, 4.30761862, -1.23790228, 1.24823606, 6.13938427, -3.83689475, -1.19625473, 7.91535568, 6.05868721, -3.22946382, 8.81633949, -0.19967777, 0.66053957, 2.30919123, 0.74543846, -0.39347672, 11.11058044, 0.53720862, 1.52645731, 5.70012379, -1.15213466, 1.16451406, 7.00526333, 1.57362783, -2.44384766, 5.54213285, -1.98828590, -0.70483637, 7.88281822, -3.59875536, 0.80745387, 13.41578484, -1.55507684, -0.65855008, 9.32583523, -0.14544789, 0.73436141, 3.61176538, -1.71268058, -2.58490300, 9.09280205, -3.27405524, -2.04569697, 4.44761324, -0.62955856, -2.61917663, 8.04890442, 0.54579324, 0.85929775, 9.82259560, -1.93825579, 0.77703512, 4.67090321, -4.79267597, -2.38906908, 9.31265545, 0.96026313, -1.14109385, 11.54231834, -0.01417295, -0.39500344, 8.49191666, 0.55300158, 2.79490185, 6.92466164, 1.72254205, 2.82222271, 8.83112717, 2.95033407, 2.18054962, 6.73509789, -2.22272944, 0.51127720, -1.04563558, 2.15747333, -2.30959272, 9.55441570, 1.50396204, 1.77370787, 7.38146257, -1.79076433, 3.20961165, 7.18864202, 2.91217351, 0.43018937, 7.11078024, -1.17386127, -0.16817921, 6.12327290, -2.82205725, 3.30696845, 13.51291752, -1.30856836, -2.38332748, 11.09487438, -1.47190213, -0.53050828, 4.38285351, -5.07309771, 1.50714362, 5.72274446, -2.85825086, -0.89673209, 3.73791552, -0.67708802, -4.13149452, -0.00671843, -0.26566532, 0.32961160, 7.14501762, -1.41608179, -4.96590328, 12.26205540, -0.65158135, -0.88641000, 6.95777559, -0.79058206, -0.10260171, 7.87169170, 1.35921454, 1.11759663, 5.46187401, -2.57214499, 2.48484039, 4.04043484, -2.07137156, -1.42709637, 9.25487137, -0.12605135, -2.66949964, 2.89412403, 0.74451172, -2.96250391, 3.99258423, 0.27084303, 0.32213116, 5.42332172, -0.44414216, 1.70881832, 6.69346905, 0.53058422, -4.73146200, 4.22051668, 2.24834967, 0.66996074, 4.30173683, 0.11849818, -4.07520294, 8.27318478, -2.54398274, -2.86705542, 10.11775303, -0.99382895, 0.65881538, 7.93556786, -1.27934420, -1.69343162, 9.68042564, -1.02609646, -1.18189347, 5.75370646, -1.67888868, -4.48871994, 4.79537392, -0.79212248, -0.19855022, 6.15060997, -0.01081491, 3.64454579, 10.82562447, 1.58859253, -2.65847278, 8.60093212, -1.59196103, 0.07635692, 11.76175690, -1.17453325, 0.10122013, 6.86458445, -2.18891335, -2.74004745, 8.07066154, 0.71818852, -2.03035975, 6.31053686, 0.51509416, 1.39789927, 9.43515587, 2.04256630, 0.13985133, 4.65010691, 2.40911126, -0.36255789, -3.06867862, -0.45225358, -1.56778407, 6.05917358, -1.09891272, 1.77184200, 6.46248102, 0.96042323, -0.24346280, 4.63436460, -4.69907761, 1.25187206, 11.46173859, -2.21917558, 1.28007793, 6.92173195, 2.11268163, -3.47389889, 5.08722782, -3.03950930, -4.17154264, 11.30568314, 0.80361372, 2.53214502, 7.18707085, -4.49114513, 2.85449266, 10.14906883, -0.31974933, -0.84472644, -0.52459574, 0.12921631, -1.81390119, 2.76170087, 1.03982210, 2.91744232, -0.29048753, 5.87453508, -1.53684759, 1.85800636, -0.91404629, 1.28954852, 5.11354685, -2.47475505, -1.33179152, 2.58552408, 1.37316465, -3.32339454, 1.54122913, 3.24953628, -0.29758382, 2.82391763, -1.51142192, -1.22699404, 6.75745535, 0.65452754, -3.29385471, 2.06008053, 2.53172946, -4.23532820, -1.53909743, -0.07010663, -1.42173731, 7.29031610, -0.18448229, 4.59496164, 6.73027277, 0.73441899, 0.14426160, 4.14915276, -2.97010231, 6.05851364, 4.95218086, -2.39145470, 2.40494704, 2.10288811, 0.53503096, 1.44511235, 6.66344261, -3.05803776, 7.21418667, 3.30303526, -0.24163735, 3.47409391, 3.64520788, 2.15189481, -3.11243272, 3.62310791, 0.37379482, 0.40865007, -0.83132005, -4.78246069, 2.07030797, 6.51765442, 3.16178989, 5.06180477, 3.78434467, -0.96689719, 0.35965276, 5.89967585, 1.40294051, 1.11952639, 10.59778214, 0.26739889, -1.61297631, 6.24801159, -0.93914318, -0.57812452, 9.92604542, -0.73025000, -3.38530874, 2.45646000, -2.47949195, 0.51638460, 10.65636063, 1.97816694, -3.00407791, 2.66914415, -0.81951088, -0.23316640, 2.40737987, -2.70007610, 1.51531935, 4.08860207, -0.27552786, -1.31721711, 7.11568260, -3.33498216, -4.02545023, 7.22675610, -0.81690705, -2.52689576, 1.04016697, -0.79291463, -0.34875512, 10.00498390, -4.24167728, 1.46162593, 11.82569408, -1.70359993, -0.30161047, 16.44085884, -0.82253462, -0.09435523, 6.13080597, -0.20259480, 0.68308711, 6.15663004, -6.61776876, 0.33295766, 2.55449438, -0.17819691, -1.14892209, 5.56776142, 1.99279118, 1.33035934, 4.45823956, 3.34916544, -2.59905386, 6.16164446, -2.03881931, -2.45273542, 12.46793365, -2.22743297, 2.83738565, 8.48628139, -1.39347959, -1.30867767, 11.08041477, -4.00363779, 2.09183025, 11.30395889, -2.20504737, 1.37426853, 8.98735619, 1.04676604, -0.72757077, 8.28050232, -6.70741081, -0.65798020, 5.68592072, -0.60760021, 0.35854483, 6.26852131, 1.94100165, 1.32112014, 0.80987954, -1.74617672, -0.25434083, 7.16045523, 1.58884013, -2.64847064, 13.14820385, 1.21393633, -2.47258949, 9.41650105, -0.79384226, 2.48954105, 10.95629311, 0.47723705, 4.02126694, 8.02593136, -2.20726371, -1.18794477, 1.50836647, 0.93118095, -1.73513174, 8.85493565, -2.99670315, -0.79055870, 2.39473820, 2.05046916, -2.38055134, 11.82299423, 0.15609655, 0.68744308, 5.66401434, -0.69281673, 2.09855556, 7.74626589, -0.34283102, 1.00542057, 9.95838642, 0.80161905, 2.33455157, 9.80057335, -0.93561798, 2.56991577, 8.29711342, 0.94213426, 0.44209945, 11.70259857, 0.92710167, 2.60957146, 0.24971688, -0.86529571, 3.78628922, 6.80884457, -0.68178189, 2.21103406, 3.18895817, 0.60283208, -2.92716241, 6.72060776, -1.06625068, 2.56543374, 9.97404480, 3.58080721, -0.94936347, 10.16736984, -1.38464379, 1.18191063, 6.66179037, -3.56115270, 0.32329530, 10.90870762, 2.20638227, 0.19653285, 7.34650040, -3.63859272, -1.03027737, 5.98829985, -3.66606474, -3.89746714, 8.63469028, 1.22569811, 1.63240814, 3.74385309, 0.58243257, -0.56981975, 3.69260955, 1.00979900, -1.44030499, 8.57058144, -1.10648811, 1.20474911, 5.43133020, -2.14822555, -0.07928789, 11.25825310, 0.19645604, -5.49546146, 10.41917038, -0.68178523, -2.99639869, 6.50054455, 0.46488351, -5.42328453, 9.09500027, -2.82107449, 0.05601966, 15.34610748, -0.06820253, 3.86699796, 10.73316956, -3.04795432, -0.14702171, 5.64813185, 1.44028485, -2.47596145, 0.07280898, -3.03187990, -1.35183525, 9.35835648, 2.72966957, 1.88199532, 10.36187744, -0.22834805, -3.26738238, 6.92025137, -2.34061313, 4.77379704, 5.28559113, -2.96323752, -1.76186585, 5.94436455, 0.38647744, -5.73869514, 6.76849556, 1.40892124, -1.19068217, 5.37919092, -6.65328646, 3.62782669, 12.34744644, 2.44762444, -4.19242620, 6.14906216, 0.08121119, 0.61355996, 2.69666457, -1.88962626, -0.55314136, 1.84937525, 1.56048691, 1.17460012, 3.75674725, 1.06198275, -5.74625874, 5.41645575, -1.28946674, -1.51689398, 4.32400894, -0.05222082, -4.83948946, 1.80747867, 1.63144708, -2.73887825, 1.63975775, -2.02163982, -0.16210437, 2.93518686, 1.14427686, -2.83246303, 4.79283667, 2.69697428, -3.12678456, -1.19225168, -2.37022972, -3.09429741, 1.94225383, -1.13747168, -2.55048585, 5.40242243, 1.12777328, 3.43713188, 3.62658787, -2.16878843, 0.30164462, 2.97407579, -0.07275413, -1.31149673, 4.70066261, -2.01323795, 4.85255766, 4.59128904, 1.68084168, 1.60336494, 6.58138466, -1.04759812, 2.69906545, 3.55769277, -0.74327278, 2.65819693, 5.39528131, 2.11248922, -1.06446671, 5.24546766, -2.43146014, 4.58907509, 0.06521678, -2.24503994, 2.45722699, 6.94863081, 0.35258654, 2.83396196, 9.92525196, -1.12225175, -0.34365177, 7.19116688, -4.39813757, 0.46517885, 13.22028065, -2.57483673, -6.37226963, 7.58046293, -2.74600363, 0.42231262, 8.04881668, 0.17289802, -0.53447008, 16.55157471, -5.63614368, 0.39288223, 3.37079263, 1.26484549, -0.12820500, 8.46440125, -4.39304399, 2.97676420, 0.65650189, 0.83158541, -1.11556435, 6.32885838, -0.36087769, 2.80724382, 9.90292645, 1.15936041, 0.20947981, 6.91249275, -2.67404819, 2.93782163, 6.65656614, -2.30828357, 2.98214006, 6.80611229, -4.93821478, -7.66555262, 7.59763002, -0.54159302, 3.87403512, 12.42607784, 2.59284401, -0.23375344, 8.95293331, -0.71807784, 0.61873478, 8.66713524, 1.24289191, -2.37835455, 2.08071637, -0.88315344, -3.41891551, 6.85245323, 1.73007369, 1.02169311, 7.69170332, -2.85411978, 2.69790673, 8.12906551, -1.19351399, -2.26442742, 12.26104450, -0.75579089, -1.73274946, 10.68729019, 2.20655656, -0.90522075, 12.42165184, -1.67929137, 2.44851565, 9.31565762, -0.06645700, 1.52762020, 6.18427515, -1.68882596, 3.70261097, 3.02252960, -3.44125366, -1.31575799, 2.84617424, -0.96849400, -4.52356243, 9.95027161, 0.19966406, -0.78874779, 8.18595028, -4.08300209, 1.75126517, 0.96418417, -4.04913044, -0.95200396, 12.03637886, -0.03041124, 0.41642749, 8.88267422, -3.24985337, -2.24919462, 7.32566118, 0.16964148, -2.74123430, 7.05264473, -3.30191112, 0.17163286, 4.81851053, -1.64463484, -0.85933101, 7.29276276, 2.34066939, -2.14860010, 3.46148157, -0.01782012, 1.51504040, 4.79304934, 1.85281146, -1.70663762, 6.93470192, -4.15440845, -1.25983095, 10.52491760, 0.42930329, -1.85146868, 11.70042324, -0.41704914, 3.83796859, 9.21148491, -2.79719448, 0.79470479, 6.26926661, -5.85230207, 3.95105338, 7.84790897, -1.38680744, -1.78099084, 11.95235348, -2.99841452, -1.34507811, 6.15714645, -1.07552516, -2.81228638, 1.66234732, -4.55166149, -1.92601109, 8.64634514, -0.48158705, 3.31595659, 7.67371941, 2.56964207, 0.12107098, 4.56467867, -0.93541539, 1.39432955, 11.99714088, 1.05353570, -2.13099813, 3.67617917, 3.45895386, 1.37365830, 8.74344158, -4.17585802, 1.43908918, 6.28764772, 3.97346330, -0.69144285, 9.07983303, -0.41635889, -0.14965028, 8.85469818, 1.11306190, 2.59440994, 5.38982344, -1.07948279, 1.37252975, 10.26984596, -0.09318046, 2.73104119, 12.45902252, -1.55446684, -2.76124811, 12.19395065, -0.51846564, 1.02764034, 11.42673588, -0.95940983, -0.04781032, 8.78379822, -4.88957930, 0.32534006, 11.97696400, -3.35108662, 1.95104563, 4.46915388, -2.32061648, 3.45230985, 8.29983711, 2.81034684, -2.35529327, 6.07801294, -0.98105043, -0.05359888, 2.52291036, -0.01986909, -2.35321999, 10.51954269, 2.11145401, 3.53506470, 7.29093266, 0.03721160, -1.13496494, 7.43886709, -5.84201956, 2.50796294, 12.14647675, 2.77490377, -2.18896222, 6.05641937, 5.32617044, 1.04221284, 10.79106712, -2.95749092, -2.75414610, 11.30037117, -3.40654182, -2.24673963, 7.49126101, 0.70811015, -6.18003702, 13.83951187, -1.01204085, 1.36298490, -1.04451632, 2.42435336, -0.02346706, -0.85528886, 1.04731262, 0.22192979, 4.15708160, 0.34933877, 0.04814529, 2.24107265, 0.49676740, -1.47752666, 0.45040059, -0.70471478, -1.19759345, 0.21711677, 0.88461423, -2.76830935, 5.52066898, 1.97664857, -1.75381601, 3.45877838, 1.52617192, -1.61350942, 0.85337949, 1.97610760, -3.40310287, 3.40319014, -3.38691044, -0.71319139, 1.65463758, -0.60680127, -1.80700517, 8.02592373, 2.59627104, 2.65895891, 5.93043184, -4.48425817, 3.92670918, 4.19496679, -2.28286791, 6.41634607, 5.72330523, 1.16269672, -0.28753027, 2.46342492, 0.36693189, 0.26712441, 6.37652683, -2.50139046, 2.43923736, 5.56310415, 0.98065847, 1.04267502, 4.16403675, -0.04966142, 4.40897894, 3.72905660, -3.46129870, 3.59962773, 1.34830284, -1.76661730, 0.47943926, 5.29946661, -1.12711561, 1.26970029, 15.17655945, -1.50971997, 5.81345224, 8.48562050, -4.36049604, 2.48144460, 8.23780441, -3.46030426, -0.84656560, 5.94946814, 1.12747943, -2.65683913, 8.69085693, 1.31309867, -2.79958344, 8.76840591, -1.56444156, 1.62710834, 2.41177034, -0.72804940, 5.70619011, 4.67169666, -0.86167198, -1.83803177, 2.96346045, 2.82692933, -2.81557131, 7.11113358, -1.90071094, 2.54244423, 11.19284058, -0.06298946, -1.71517313, 12.98388577, 0.84510714, 3.00816894, 2.57200313, 0.03899818, -1.49330592, 9.60099125, -3.59513044, -1.30045319, 7.09241819, -0.65233821, -2.33627677, 8.81366920, 0.84154201, 1.03312039, 9.85289097, 0.19351870, 1.78496623, 7.34631205, -2.16530800, -0.65016162, 2.46842360, 0.24016285, -1.24308395, 4.78175163, -0.97682536, 2.20942235, 6.68382788, 3.76786447, -1.44454038, 6.26453733, -3.23575711, -2.30137897, 9.53092670, -5.55222607, 3.25999236, 9.37559509, 1.86339056, -0.23551451, 10.23400211, 3.93031883, -0.52629089, 7.85724449, -2.91549587, 4.46612740, 5.66530371, -2.70820427, 4.81359577, 10.31247330, 1.92230141, 2.53931546, 0.74986327, 1.70303428, 0.48063779, 5.31099129, -0.78976244, 3.75864220, 4.23051405, 2.34042454, -7.98193836, 9.83987141, -1.46722627, 3.54497814, 10.36455154, -4.51249075, 0.77715248, 7.78694630, -4.59989023, -2.49585629, 9.90296268, 1.38535416, 1.17441154, 10.10452843, -0.98628229, 0.60194463, 9.12639141, -3.90754628, 2.88526392, 7.24123430, -0.15283313, -0.75728363, -1.15116858, -2.53791571, 0.77229571, 6.44114161, 0.02646767, 4.95463037, 7.21066380, 1.79384065, 0.73250306, 8.04447937, 0.32576546, -0.79447043, 10.12717724, 2.33392906, 1.30716443, 12.36073112, -0.36694977, -1.20438910, 7.03105593, 0.59557682, 0.69267452, 10.18113136, 2.49944925, -0.42229167, 8.83143330, -1.18805945, -2.87509322, 4.53596449, 4.09732771, -3.39088297, -1.02536607, 0.82119560, -3.47302604, 9.29991817, 0.21001509, 4.97036457, 9.50018406, 1.04420102, 1.96560478, 10.74769592, -6.22709799, 3.11690164, 5.06759691, -1.23724771, -3.05831861, 8.12925529, -1.93435478, -1.10151744, 9.32263088, -0.04249470, -5.98547363, 10.49398136, 0.26400441, -0.78915191, 13.28219604, 2.99276900, 0.74853164, 2.49364305, -3.43529654, 4.05278301, 2.13498688, -2.35444307, -0.79900265, 4.66968822, -0.31095147, 3.60674143, 12.37222099, -0.07855003, -3.30292702, 12.15215874, 0.60886210, 2.87075138, 7.75271845, 0.38044083, 3.34402204, 6.40583277, -0.87888050, 0.67438459, 6.91080809, 1.98332930, -0.08303714, 8.08630371, -0.16772588, -2.74058914, 7.17253590, -2.69122696, 1.48173678, 8.99470139, -1.43302310, -0.88651133, 2.66944790, -0.29186964, 2.00838661, 5.09587479, -0.76676071, -2.88322186, 8.31110573, -0.14550979, -1.37726915, 10.28355122, -1.60575438, -0.04118848, 9.97510815, 0.14440438, -3.24632120, 9.00034523, 4.14319563, -1.31023729, 7.16950464, -0.70428526, 2.01559544, 7.26155043, 2.40816474, 2.09847403, 7.31264496, -0.75401551, 2.13392544, 7.03648758, 1.04036045, -1.15636516, 1.09634531, -0.06340861, -0.58107805, -0.65623116, 1.18972754, -0.80717683, 1.40118241, -0.61932516, -3.60596156, 1.59904599, -2.23774099, -1.13721037, 3.89620137, -0.09115922, -7.51356888, 2.36975193, -1.42520905, -2.34173775, 3.33830214, -2.74016523, -3.04115510, 6.00119495, -1.36084354, -2.45065260, 4.56992292, -3.02825928,-3.74182844,5.11069250,-0.91531068,-2.31385994,1.83399653,3.39370203,-3.60886002}); + auto z = NDArrayFactory::create( {4, 4, 4, 3}); + auto exp = NDArrayFactory::create( {4, 4, 4, 3}, {7.97172260, 0.06878620, 2.27749538, 7.29276514, -0.14074677, 0.65480286, 5.70313978, -0.06546132, 0.35443667, 3.70382833, -0.84020567, 0.63826996, 8.60301399, -0.38236514, 1.55177069, 7.37542057, -0.99374938, -0.29971302, 8.84352493, -0.67121059, 0.43132120, 4.78175592, -1.25070143, -1.91523600, 6.03855371, -0.00292124, -1.11214364, 7.90158176, -0.57949901, -0.96735370, 7.81192017, -0.53255427, -0.48009714, 3.16953635, 0.08353355, -1.54299748, 3.74821687, 1.69396687, 0.72724354, 5.42915201, -1.13686812, -0.71793109, 5.78376389, -0.72239977, -0.60055625, 2.53636408, 0.56777251, -2.07892323, 6.08064651, 0.68620735, 2.54017019, 5.65828180, -0.68255502, 1.47283304, 6.10842514, -0.39655915, 0.28380761, 1.96707797, -1.98206317, 0.94027776, 4.71811438, 0.32104525, -0.92409706, 8.34588146, -1.05581069, -0.55217457, 9.58440876, -0.96549922, 0.45820439, 5.65453672, -2.50953507, -0.71441835, 8.03059578, -0.21281289, 0.92125505, 9.26900673, -0.35963219, -0.70039093, 8.59924412, -1.22358346, 0.81318003, 3.85920119, -0.01305223, -1.09234154, 6.33158875, 1.28094780, -1.48926139, 4.94969177, -0.77126902, -1.97033751, 5.64381838, -0.16285487, -1.31277227, 2.39893222, -1.32902908, -1.39609122, 6.47572327, -0.45267010, 1.55727172, 6.70965624, -1.68735468, -0.05672536, 7.25092363, -0.64613032, 0.67050058, 3.60789680, -2.05948973, 2.22687531, 8.15202713, -0.70148355, 1.28314006, 8.14842319, -1.88807654, -1.04808438, 8.45500565, -0.76425624, 0.94542569, 4.56179953, -0.28786001, -2.04502511, 8.46278095, -0.31019822, 0.07339200, 9.34214592, -0.61948007, 0.52481830, 8.32515621, -1.52418160, 0.49678251, 5.11082315, -1.09908783, -0.52969611, 5.27806664, 0.88632923, 0.66754371, 4.75839233, 0.48928693, -0.68036932, 6.56925392, -0.02949905, -2.99189186, 4.46320581, -0.64534980, -0.29516968, 8.60809517, -1.13120568, 3.41720533, 5.84243155, -1.24109328, 0.89566326, 5.99578333, -0.42496428, 2.07076764, 3.17812920, -0.81566459, -0.14363396, 6.55184317, 0.39633346, -0.43852386, 8.70214558, -2.24613595, 0.30708700, 8.73882294, -0.53545928, 1.54409575, 4.49452257, -0.16509305, 0.19028664, 8.24897003, 0.44750381, 2.15448594, 8.97640514, -0.77728152, 0.57272542, 9.03467560, 0.47173575, -1.10807717, 3.30056310, -0.43268481, -0.41470885, 3.53798294, -0.08546703, -2.16840744, 6.18733406, -0.17871059, -2.59837723, 5.94218683, -1.02990067, -0.49760687, 3.76938033, 0.86383581, -1.91504073}); sd::ops::avgpool2d op; @@ -896,8 +896,8 @@ TEST_F(JavaInteropTests, Test_AveragePooling_FF_TF_double) { } TEST_F(JavaInteropTests, Test_MaxPool2D_float_1) { - auto input = NDArrayFactory::create('c', {1, 1, 4, 5}); - auto z = NDArrayFactory::create('c', {1, 1, 4, 5}); + auto input = NDArrayFactory::create( {1, 1, 4, 5}); + auto z = NDArrayFactory::create( {1, 1, 4, 5}); input.linspace(1.0); @@ -921,13 +921,13 @@ TEST_F(JavaInteropTests, Test_MaxPool2D_float_1) { } TEST_F(JavaInteropTests, Test_Unstack_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.linspace(1.0); - auto z0 = NDArrayFactory::create('c',{5}); - auto z1 = NDArrayFactory::create('c',{5}); - auto z2 = NDArrayFactory::create('c',{5}); - auto z3 = NDArrayFactory::create('c',{5}); - auto z4 = NDArrayFactory::create('c',{5}); + auto z0 = NDArrayFactory::vector(5); + auto z1 = NDArrayFactory::vector(5); + auto z2 = NDArrayFactory::vector(5); + auto z3 = NDArrayFactory::vector(5); + auto z4 = NDArrayFactory::vector(5); NDArray::prepareSpecialUse({&z0, &z1, &z2, &z3, &z4}, {&x}); @@ -953,9 +953,9 @@ TEST_F(JavaInteropTests, Test_Unstack_1) { TEST_F(JavaInteropTests, Test_AveragePooling_FF_TF_float) { - auto input = NDArrayFactory::create('c', {4, 10, 10, 3}, {9.37125111f, 2.20166993f,2.91434479f,5.43639755f,-2.10573769f, 4.08528662f,5.86908436f,-4.46203756f,2.21057916f,5.35849190f,0.01394637f, 4.40566349f, 7.07982206f, -0.09633455f, 2.42429352f, 3.97301817f, -1.89553940f, 1.99690318f, 6.33141708f, 0.55401880f, 1.70707977f, 5.55204201f, -0.03513752f, 1.60011971f, 2.62700319f, -2.74582434f, 3.06697464f, 1.06277943f, -1.16075921f, -0.78095782f, 9.72352791f, -1.22686064f, 1.99644792f, 7.35571337f, 1.40607321f, 0.11390255f, 9.53334427f, 2.28303599f, -1.66728830f, 6.16678810f, -0.04532295f, -1.97708666f, 9.74906158f, 1.46223176f, -1.46734393f, 4.30761862f, -1.23790228f, 1.24823606f, 6.13938427f, -3.83689475f, -1.19625473f, 7.91535568f, 6.05868721f, -3.22946382f, 8.81633949f, -0.19967777f, 0.66053957f, 2.30919123f, 0.74543846f, -0.39347672f, 11.11058044f, 0.53720862f, 1.52645731f, 5.70012379f, -1.15213466f, 1.16451406f, 7.00526333f, 1.57362783f, -2.44384766f, 5.54213285f, -1.98828590f, -0.70483637f, 7.88281822f, -3.59875536f, 0.80745387f, 13.41578484f, -1.55507684f, -0.65855008f, 9.32583523f, -0.14544789f, 0.73436141f, 3.61176538f, -1.71268058f, -2.58490300f, 9.09280205f, -3.27405524f, -2.04569697f, 4.44761324f, -0.62955856f, -2.61917663f, 8.04890442f, 0.54579324f, 0.85929775f, 9.82259560f, -1.93825579f, 0.77703512f, 4.67090321f, -4.79267597f, -2.38906908f, 9.31265545f, 0.96026313f, -1.14109385f, 11.54231834f, -0.01417295f, -0.39500344f, 8.49191666f, 0.55300158f, 2.79490185f, 6.92466164f, 1.72254205f, 2.82222271f, 8.83112717f, 2.95033407f, 2.18054962f, 6.73509789f, -2.22272944f, 0.51127720f, -1.04563558f, 2.15747333f, -2.30959272f, 9.55441570f, 1.50396204f, 1.77370787f, 7.38146257f, -1.79076433f, 3.20961165f, 7.18864202f, 2.91217351f, 0.43018937f, 7.11078024f, -1.17386127f, -0.16817921f, 6.12327290f, -2.82205725f, 3.30696845f, 13.51291752f, -1.30856836f, -2.38332748f, 11.09487438f, -1.47190213f, -0.53050828f, 4.38285351f, -5.07309771f, 1.50714362f, 5.72274446f, -2.85825086f, -0.89673209f, 3.73791552f, -0.67708802f, -4.13149452f, -0.00671843f, -0.26566532f, 0.32961160f, 7.14501762f, -1.41608179f, -4.96590328f, 12.26205540f, -0.65158135f, -0.88641000f, 6.95777559f, -0.79058206f, -0.10260171f, 7.87169170f, 1.35921454f, 1.11759663f, 5.46187401f, -2.57214499f, 2.48484039f, 4.04043484f, -2.07137156f, -1.42709637f, 9.25487137f, -0.12605135f, -2.66949964f, 2.89412403f, 0.74451172f, -2.96250391f, 3.99258423f, 0.27084303f, 0.32213116f, 5.42332172f, -0.44414216f, 1.70881832f, 6.69346905f, 0.53058422f, -4.73146200f, 4.22051668f, 2.24834967f, 0.66996074f, 4.30173683f, 0.11849818f, -4.07520294f, 8.27318478f, -2.54398274f, -2.86705542f, 10.11775303f, -0.99382895f, 0.65881538f, 7.93556786f, -1.27934420f, -1.69343162f, 9.68042564f, -1.02609646f, -1.18189347f, 5.75370646f, -1.67888868f, -4.48871994f, 4.79537392f, -0.79212248f, -0.19855022f, 6.15060997f, -0.01081491f, 3.64454579f, 10.82562447f, 1.58859253f, -2.65847278f, 8.60093212f, -1.59196103f, 0.07635692f, 11.76175690f, -1.17453325f, 0.10122013f, 6.86458445f, -2.18891335f, -2.74004745f, 8.07066154f, 0.71818852f, -2.03035975f, 6.31053686f, 0.51509416f, 1.39789927f, 9.43515587f, 2.04256630f, 0.13985133f, 4.65010691f, 2.40911126f, -0.36255789f, -3.06867862f, -0.45225358f, -1.56778407f, 6.05917358f, -1.09891272f, 1.77184200f, 6.46248102f, 0.96042323f, -0.24346280f, 4.63436460f, -4.69907761f, 1.25187206f, 11.46173859f, -2.21917558f, 1.28007793f, 6.92173195f, 2.11268163f, -3.47389889f, 5.08722782f, -3.03950930f, -4.17154264f, 11.30568314f, 0.80361372f, 2.53214502f, 7.18707085f, -4.49114513f, 2.85449266f, 10.14906883f, -0.31974933f, -0.84472644f, -0.52459574f, 0.12921631f, -1.81390119f, 2.76170087f, 1.03982210f, 2.91744232f, -0.29048753f, 5.87453508f, -1.53684759f, 1.85800636f, -0.91404629f, 1.28954852f, 5.11354685f, -2.47475505f, -1.33179152f, 2.58552408f, 1.37316465f, -3.32339454f, 1.54122913f, 3.24953628f, -0.29758382f, 2.82391763f, -1.51142192f, -1.22699404f, 6.75745535f, 0.65452754f, -3.29385471f, 2.06008053f, 2.53172946f, -4.23532820f, -1.53909743f, -0.07010663f, -1.42173731f, 7.29031610f, -0.18448229f, 4.59496164f, 6.73027277f, 0.73441899f, 0.14426160f, 4.14915276f, -2.97010231f, 6.05851364f, 4.95218086f, -2.39145470f, 2.40494704f, 2.10288811f, 0.53503096f, 1.44511235f, 6.66344261f, -3.05803776f, 7.21418667f, 3.30303526f, -0.24163735f, 3.47409391f, 3.64520788f, 2.15189481f, -3.11243272f, 3.62310791f, 0.37379482f, 0.40865007f, -0.83132005f, -4.78246069f, 2.07030797f, 6.51765442f, 3.16178989f, 5.06180477f, 3.78434467f, -0.96689719f, 0.35965276f, 5.89967585f, 1.40294051f, 1.11952639f, 10.59778214f, 0.26739889f, -1.61297631f, 6.24801159f, -0.93914318f, -0.57812452f, 9.92604542f, -0.73025000f, -3.38530874f, 2.45646000f, -2.47949195f, 0.51638460f, 10.65636063f, 1.97816694f, -3.00407791f, 2.66914415f, -0.81951088f, -0.23316640f, 2.40737987f, -2.70007610f, 1.51531935f, 4.08860207f, -0.27552786f, -1.31721711f, 7.11568260f, -3.33498216f, -4.02545023f, 7.22675610f, -0.81690705f, -2.52689576f, 1.04016697f, -0.79291463f, -0.34875512f, 10.00498390f, -4.24167728f, 1.46162593f, 11.82569408f, -1.70359993f, -0.30161047f, 16.44085884f, -0.82253462f, -0.09435523f, 6.13080597f, -0.20259480f, 0.68308711f, 6.15663004f, -6.61776876f, 0.33295766f, 2.55449438f, -0.17819691f, -1.14892209f, 5.56776142f, 1.99279118f, 1.33035934f, 4.45823956f, 3.34916544f, -2.59905386f, 6.16164446f, -2.03881931f, -2.45273542f, 12.46793365f, -2.22743297f, 2.83738565f, 8.48628139f, -1.39347959f, -1.30867767f, 11.08041477f, -4.00363779f, 2.09183025f, 11.30395889f, -2.20504737f, 1.37426853f, 8.98735619f, 1.04676604f, -0.72757077f, 8.28050232f, -6.70741081f, -0.65798020f, 5.68592072f, -0.60760021f, 0.35854483f, 6.26852131f, 1.94100165f, 1.32112014f, 0.80987954f, -1.74617672f, -0.25434083f, 7.16045523f, 1.58884013f, -2.64847064f, 13.14820385f, 1.21393633f, -2.47258949f, 9.41650105f, -0.79384226f, 2.48954105f, 10.95629311f, 0.47723705f, 4.02126694f, 8.02593136f, -2.20726371f, -1.18794477f, 1.50836647f, 0.93118095f, -1.73513174f, 8.85493565f, -2.99670315f, -0.79055870f, 2.39473820f, 2.05046916f, -2.38055134f, 11.82299423f, 0.15609655f, 0.68744308f, 5.66401434f, -0.69281673f, 2.09855556f, 7.74626589f, -0.34283102f, 1.00542057f, 9.95838642f, 0.80161905f, 2.33455157f, 9.80057335f, -0.93561798f, 2.56991577f, 8.29711342f, 0.94213426f, 0.44209945f, 11.70259857f, 0.92710167f, 2.60957146f, 0.24971688f, -0.86529571f, 3.78628922f, 6.80884457f, -0.68178189f, 2.21103406f, 3.18895817f, 0.60283208f, -2.92716241f, 6.72060776f, -1.06625068f, 2.56543374f, 9.97404480f, 3.58080721f, -0.94936347f, 10.16736984f, -1.38464379f, 1.18191063f, 6.66179037f, -3.56115270f, 0.32329530f, 10.90870762f, 2.20638227f, 0.19653285f, 7.34650040f, -3.63859272f, -1.03027737f, 5.98829985f, -3.66606474f, -3.89746714f, 8.63469028f, 1.22569811f, 1.63240814f, 3.74385309f, 0.58243257f, -0.56981975f, 3.69260955f, 1.00979900f, -1.44030499f, 8.57058144f, -1.10648811f, 1.20474911f, 5.43133020f, -2.14822555f, -0.07928789f, 11.25825310f, 0.19645604f, -5.49546146f, 10.41917038f, -0.68178523f, -2.99639869f, 6.50054455f, 0.46488351f, -5.42328453f, 9.09500027f, -2.82107449f, 0.05601966f, 15.34610748f, -0.06820253f, 3.86699796f, 10.73316956f, -3.04795432f, -0.14702171f, 5.64813185f, 1.44028485f, -2.47596145f, 0.07280898f, -3.03187990f, -1.35183525f, 9.35835648f, 2.72966957f, 1.88199532f, 10.36187744f, -0.22834805f, -3.26738238f, 6.92025137f, -2.34061313f, 4.77379704f, 5.28559113f, -2.96323752f, -1.76186585f, 5.94436455f, 0.38647744f, -5.73869514f, 6.76849556f, 1.40892124f, -1.19068217f, 5.37919092f, -6.65328646f, 3.62782669f, 12.34744644f, 2.44762444f, -4.19242620f, 6.14906216f, 0.08121119f, 0.61355996f, 2.69666457f, -1.88962626f, -0.55314136f, 1.84937525f, 1.56048691f, 1.17460012f, 3.75674725f, 1.06198275f, -5.74625874f, 5.41645575f, -1.28946674f, -1.51689398f, 4.32400894f, -0.05222082f, -4.83948946f, 1.80747867f, 1.63144708f, -2.73887825f, 1.63975775f, -2.02163982f, -0.16210437f, 2.93518686f, 1.14427686f, -2.83246303f, 4.79283667f, 2.69697428f, -3.12678456f, -1.19225168f, -2.37022972f, -3.09429741f, 1.94225383f, -1.13747168f, -2.55048585f, 5.40242243f, 1.12777328f, 3.43713188f, 3.62658787f, -2.16878843f, 0.30164462f, 2.97407579f, -0.07275413f, -1.31149673f, 4.70066261f, -2.01323795f, 4.85255766f, 4.59128904f, 1.68084168f, 1.60336494f, 6.58138466f, -1.04759812f, 2.69906545f, 3.55769277f, -0.74327278f, 2.65819693f, 5.39528131f, 2.11248922f, -1.06446671f, 5.24546766f, -2.43146014f, 4.58907509f, 0.06521678f, -2.24503994f, 2.45722699f, 6.94863081f, 0.35258654f, 2.83396196f, 9.92525196f, -1.12225175f, -0.34365177f, 7.19116688f, -4.39813757f, 0.46517885f, 13.22028065f, -2.57483673f, -6.37226963f, 7.58046293f, -2.74600363f, 0.42231262f, 8.04881668f, 0.17289802f, -0.53447008f, 16.55157471f, -5.63614368f, 0.39288223f, 3.37079263f, 1.26484549f, -0.12820500f, 8.46440125f, -4.39304399f, 2.97676420f, 0.65650189f, 0.83158541f, -1.11556435f, 6.32885838f, -0.36087769f, 2.80724382f, 9.90292645f, 1.15936041f, 0.20947981f, 6.91249275f, -2.67404819f, 2.93782163f, 6.65656614f, -2.30828357f, 2.98214006f, 6.80611229f, -4.93821478f, -7.66555262f, 7.59763002f, -0.54159302f, 3.87403512f, 12.42607784f, 2.59284401f, -0.23375344f, 8.95293331f, -0.71807784f, 0.61873478f, 8.66713524f, 1.24289191f, -2.37835455f, 2.08071637f, -0.88315344f, -3.41891551f, 6.85245323f, 1.73007369f, 1.02169311f, 7.69170332f, -2.85411978f, 2.69790673f, 8.12906551f, -1.19351399f, -2.26442742f, 12.26104450f, -0.75579089f, -1.73274946f, 10.68729019f, 2.20655656f, -0.90522075f, 12.42165184f, -1.67929137f, 2.44851565f, 9.31565762f, -0.06645700f, 1.52762020f, 6.18427515f, -1.68882596f, 3.70261097f, 3.02252960f, -3.44125366f, -1.31575799f, 2.84617424f, -0.96849400f, -4.52356243f, 9.95027161f, 0.19966406f, -0.78874779f, 8.18595028f, -4.08300209f, 1.75126517f, 0.96418417f, -4.04913044f, -0.95200396f, 12.03637886f, -0.03041124f, 0.41642749f, 8.88267422f, -3.24985337f, -2.24919462f, 7.32566118f, 0.16964148f, -2.74123430f, 7.05264473f, -3.30191112f, 0.17163286f, 4.81851053f, -1.64463484f, -0.85933101f, 7.29276276f, 2.34066939f, -2.14860010f, 3.46148157f, -0.01782012f, 1.51504040f, 4.79304934f, 1.85281146f, -1.70663762f, 6.93470192f, -4.15440845f, -1.25983095f, 10.52491760f, 0.42930329f, -1.85146868f, 11.70042324f, -0.41704914f, 3.83796859f, 9.21148491f, -2.79719448f, 0.79470479f, 6.26926661f, -5.85230207f, 3.95105338f, 7.84790897f, -1.38680744f, -1.78099084f, 11.95235348f, -2.99841452f, -1.34507811f, 6.15714645f, -1.07552516f, -2.81228638f, 1.66234732f, -4.55166149f, -1.92601109f, 8.64634514f, -0.48158705f, 3.31595659f, 7.67371941f, 2.56964207f, 0.12107098f, 4.56467867f, -0.93541539f, 1.39432955f, 11.99714088f, 1.05353570f, -2.13099813f, 3.67617917f, 3.45895386f, 1.37365830f, 8.74344158f, -4.17585802f, 1.43908918f, 6.28764772f, 3.97346330f, -0.69144285f, 9.07983303f, -0.41635889f, -0.14965028f, 8.85469818f, 1.11306190f, 2.59440994f, 5.38982344f, -1.07948279f, 1.37252975f, 10.26984596f, -0.09318046f, 2.73104119f, 12.45902252f, -1.55446684f, -2.76124811f, 12.19395065f, -0.51846564f, 1.02764034f, 11.42673588f, -0.95940983f, -0.04781032f, 8.78379822f, -4.88957930f, 0.32534006f, 11.97696400f, -3.35108662f, 1.95104563f, 4.46915388f, -2.32061648f, 3.45230985f, 8.29983711f, 2.81034684f, -2.35529327f, 6.07801294f, -0.98105043f, -0.05359888f, 2.52291036f, -0.01986909f, -2.35321999f, 10.51954269f, 2.11145401f, 3.53506470f, 7.29093266f, 0.03721160f, -1.13496494f, 7.43886709f, -5.84201956f, 2.50796294f, 12.14647675f, 2.77490377f, -2.18896222f, 6.05641937f, 5.32617044f, 1.04221284f, 10.79106712f, -2.95749092f, -2.75414610f, 11.30037117f, -3.40654182f, -2.24673963f, 7.49126101f, 0.70811015f, -6.18003702f, 13.83951187f, -1.01204085f, 1.36298490f, -1.04451632f, 2.42435336f, -0.02346706f, -0.85528886f, 1.04731262f, 0.22192979f, 4.15708160f, 0.34933877f, 0.04814529f, 2.24107265f, 0.49676740f, -1.47752666f, 0.45040059f, -0.70471478f, -1.19759345f, 0.21711677f, 0.88461423f, -2.76830935f, 5.52066898f, 1.97664857f, -1.75381601f, 3.45877838f, 1.52617192f, -1.61350942f, 0.85337949f, 1.97610760f, -3.40310287f, 3.40319014f, -3.38691044f, -0.71319139f, 1.65463758f, -0.60680127f, -1.80700517f, 8.02592373f, 2.59627104f, 2.65895891f, 5.93043184f, -4.48425817f, 3.92670918f, 4.19496679f, -2.28286791f, 6.41634607f, 5.72330523f, 1.16269672f, -0.28753027f, 2.46342492f, 0.36693189f, 0.26712441f, 6.37652683f, -2.50139046f, 2.43923736f, 5.56310415f, 0.98065847f, 1.04267502f, 4.16403675f, -0.04966142f, 4.40897894f, 3.72905660f, -3.46129870f, 3.59962773f, 1.34830284f, -1.76661730f, 0.47943926f, 5.29946661f, -1.12711561f, 1.26970029f, 15.17655945f, -1.50971997f, 5.81345224f, 8.48562050f, -4.36049604f, 2.48144460f, 8.23780441f, -3.46030426f, -0.84656560f, 5.94946814f, 1.12747943f, -2.65683913f, 8.69085693f, 1.31309867f, -2.79958344f, 8.76840591f, -1.56444156f, 1.62710834f, 2.41177034f, -0.72804940f, 5.70619011f, 4.67169666f, -0.86167198f, -1.83803177f, 2.96346045f, 2.82692933f, -2.81557131f, 7.11113358f, -1.90071094f, 2.54244423f, 11.19284058f, -0.06298946f, -1.71517313f, 12.98388577f, 0.84510714f, 3.00816894f, 2.57200313f, 0.03899818f, -1.49330592f, 9.60099125f, -3.59513044f, -1.30045319f, 7.09241819f, -0.65233821f, -2.33627677f, 8.81366920f, 0.84154201f, 1.03312039f, 9.85289097f, 0.19351870f, 1.78496623f, 7.34631205f, -2.16530800f, -0.65016162f, 2.46842360f, 0.24016285f, -1.24308395f, 4.78175163f, -0.97682536f, 2.20942235f, 6.68382788f, 3.76786447f, -1.44454038f, 6.26453733f, -3.23575711f, -2.30137897f, 9.53092670f, -5.55222607f, 3.25999236f, 9.37559509f, 1.86339056f, -0.23551451f, 10.23400211f, 3.93031883f, -0.52629089f, 7.85724449f, -2.91549587f, 4.46612740f, 5.66530371f, -2.70820427f, 4.81359577f, 10.31247330f, 1.92230141f, 2.53931546f, 0.74986327f, 1.70303428f, 0.48063779f, 5.31099129f, -0.78976244f, 3.75864220f, 4.23051405f, 2.34042454f, -7.98193836f, 9.83987141f, -1.46722627f, 3.54497814f, 10.36455154f, -4.51249075f, 0.77715248f, 7.78694630f, -4.59989023f, -2.49585629f, 9.90296268f, 1.38535416f, 1.17441154f, 10.10452843f, -0.98628229f, 0.60194463f, 9.12639141f, -3.90754628f, 2.88526392f, 7.24123430f, -0.15283313f, -0.75728363f, -1.15116858f, -2.53791571f, 0.77229571f, 6.44114161f, 0.02646767f, 4.95463037f, 7.21066380f, 1.79384065f, 0.73250306f, 8.04447937f, 0.32576546f, -0.79447043f, 10.12717724f, 2.33392906f, 1.30716443f, 12.36073112f, -0.36694977f, -1.20438910f, 7.03105593f, 0.59557682f, 0.69267452f, 10.18113136f, 2.49944925f, -0.42229167f, 8.83143330f, -1.18805945f, -2.87509322f, 4.53596449f, 4.09732771f, -3.39088297f, -1.02536607f, 0.82119560f, -3.47302604f, 9.29991817f, 0.21001509f, 4.97036457f, 9.50018406f, 1.04420102f, 1.96560478f, 10.74769592f, -6.22709799f, 3.11690164f, 5.06759691f, -1.23724771f, -3.05831861f, 8.12925529f, -1.93435478f, -1.10151744f, 9.32263088f, -0.04249470f, -5.98547363f, 10.49398136f, 0.26400441f, -0.78915191f, 13.28219604f, 2.99276900f, 0.74853164f, 2.49364305f, -3.43529654f, 4.05278301f, 2.13498688f, -2.35444307f, -0.79900265f, 4.66968822f, -0.31095147f, 3.60674143f, 12.37222099f, -0.07855003f, -3.30292702f, 12.15215874f, 0.60886210f, 2.87075138f, 7.75271845f, 0.38044083f, 3.34402204f, 6.40583277f, -0.87888050f, 0.67438459f, 6.91080809f, 1.98332930f, -0.08303714f, 8.08630371f, -0.16772588f, -2.74058914f, 7.17253590f, -2.69122696f, 1.48173678f, 8.99470139f, -1.43302310f, -0.88651133f, 2.66944790f, -0.29186964f, 2.00838661f, 5.09587479f, -0.76676071f, -2.88322186f, 8.31110573f, -0.14550979f, -1.37726915f, 10.28355122f, -1.60575438f, -0.04118848f, 9.97510815f, 0.14440438f, -3.24632120f, 9.00034523f, 4.14319563f, -1.31023729f, 7.16950464f, -0.70428526f, 2.01559544f, 7.26155043f, 2.40816474f, 2.09847403f, 7.31264496f, -0.75401551f, 2.13392544f, 7.03648758f, 1.04036045f, -1.15636516f, 1.09634531f, -0.06340861f, -0.58107805f, -0.65623116f, 1.18972754f, -0.80717683f, 1.40118241f, -0.61932516f, -3.60596156f, 1.59904599f, -2.23774099f, -1.13721037f, 3.89620137f, -0.09115922f, -7.51356888f, 2.36975193f, -1.42520905f, -2.34173775f, 3.33830214f, -2.74016523f, -3.04115510f, 6.00119495f, -1.36084354f, -2.45065260f, 4.56992292f, -3.02825928f, -3.74182844f, 5.11069250f, -0.91531068f, -2.31385994f, 1.83399653f, 3.39370203f, -3.60886002f}); - auto z = NDArrayFactory::create('c', {4, 4, 4, 3}); - auto exp = NDArrayFactory::create('c', {4, 4, 4, 3}, {7.97172260f, 0.06878620f, 2.27749538f, 7.29276514f, -0.14074677f, 0.65480286f, 5.70313978f, -0.06546132f, 0.35443667f, 3.70382833f, -0.84020567f, 0.63826996f, 8.60301399f, -0.38236514f, 1.55177069f, 7.37542057f, -0.99374938f, -0.29971302f, 8.84352493f, -0.67121059f, 0.43132120f, 4.78175592f, -1.25070143f, -1.91523600f, 6.03855371f, -0.00292124f, -1.11214364f, 7.90158176f, -0.57949901f, -0.96735370f, 7.81192017f, -0.53255427f, -0.48009714f, 3.16953635f, 0.08353355f, -1.54299748f, 3.74821687f, 1.69396687f, 0.72724354f, 5.42915201f, -1.13686812f, -0.71793109f, 5.78376389f, -0.72239977f, -0.60055625f, 2.53636408f, 0.56777251f, -2.07892323f, 6.08064651f, 0.68620735f, 2.54017019f, 5.65828180f, -0.68255502f, 1.47283304f, 6.10842514f, -0.39655915f, 0.28380761f, 1.96707797f, -1.98206317f, 0.94027776f, 4.71811438f, 0.32104525f, -0.92409706f, 8.34588146f, -1.05581069f, -0.55217457f, 9.58440876f, -0.96549922f, 0.45820439f, 5.65453672f, -2.50953507f, -0.71441835f, 8.03059578f, -0.21281289f, 0.92125505f, 9.26900673f, -0.35963219f, -0.70039093f, 8.59924412f, -1.22358346f, 0.81318003f, 3.85920119f, -0.01305223f, -1.09234154f, 6.33158875f, 1.28094780f, -1.48926139f, 4.94969177f, -0.77126902f, -1.97033751f, 5.64381838f, -0.16285487f, -1.31277227f, 2.39893222f, -1.32902908f, -1.39609122f, 6.47572327f, -0.45267010f, 1.55727172f, 6.70965624f, -1.68735468f, -0.05672536f, 7.25092363f, -0.64613032f, 0.67050058f, 3.60789680f, -2.05948973f, 2.22687531f, 8.15202713f, -0.70148355f, 1.28314006f, 8.14842319f, -1.88807654f, -1.04808438f, 8.45500565f, -0.76425624f, 0.94542569f, 4.56179953f, -0.28786001f, -2.04502511f, 8.46278095f, -0.31019822f, 0.07339200f, 9.34214592f, -0.61948007f, 0.52481830f, 8.32515621f, -1.52418160f, 0.49678251f, 5.11082315f, -1.09908783f, -0.52969611f, 5.27806664f, 0.88632923f, 0.66754371f, 4.75839233f, 0.48928693f, -0.68036932f, 6.56925392f, -0.02949905f, -2.99189186f, 4.46320581f, -0.64534980f, -0.29516968f, 8.60809517f, -1.13120568f, 3.41720533f, 5.84243155f, -1.24109328f, 0.89566326f, 5.99578333f, -0.42496428f, 2.07076764f, 3.17812920f, -0.81566459f, -0.14363396f, 6.55184317f, 0.39633346f, -0.43852386f, 8.70214558f, -2.24613595f, 0.30708700f, 8.73882294f, -0.53545928f, 1.54409575f, 4.49452257f, -0.16509305f, 0.19028664f, 8.24897003f, 0.44750381f, 2.15448594f, 8.97640514f, -0.77728152f, 0.57272542f, 9.03467560f, 0.47173575f, -1.10807717f, 3.30056310f, -0.43268481f, -0.41470885f, 3.53798294f, -0.08546703f, -2.16840744f, 6.18733406f, -0.17871059f, -2.59837723f, 5.94218683f, -1.02990067f, -0.49760687f, 3.76938033f, 0.86383581f, -1.91504073f}); + auto input = NDArrayFactory::create( {4, 10, 10, 3}, {9.37125111f, 2.20166993f,2.91434479f,5.43639755f,-2.10573769f, 4.08528662f,5.86908436f,-4.46203756f,2.21057916f,5.35849190f,0.01394637f, 4.40566349f, 7.07982206f, -0.09633455f, 2.42429352f, 3.97301817f, -1.89553940f, 1.99690318f, 6.33141708f, 0.55401880f, 1.70707977f, 5.55204201f, -0.03513752f, 1.60011971f, 2.62700319f, -2.74582434f, 3.06697464f, 1.06277943f, -1.16075921f, -0.78095782f, 9.72352791f, -1.22686064f, 1.99644792f, 7.35571337f, 1.40607321f, 0.11390255f, 9.53334427f, 2.28303599f, -1.66728830f, 6.16678810f, -0.04532295f, -1.97708666f, 9.74906158f, 1.46223176f, -1.46734393f, 4.30761862f, -1.23790228f, 1.24823606f, 6.13938427f, -3.83689475f, -1.19625473f, 7.91535568f, 6.05868721f, -3.22946382f, 8.81633949f, -0.19967777f, 0.66053957f, 2.30919123f, 0.74543846f, -0.39347672f, 11.11058044f, 0.53720862f, 1.52645731f, 5.70012379f, -1.15213466f, 1.16451406f, 7.00526333f, 1.57362783f, -2.44384766f, 5.54213285f, -1.98828590f, -0.70483637f, 7.88281822f, -3.59875536f, 0.80745387f, 13.41578484f, -1.55507684f, -0.65855008f, 9.32583523f, -0.14544789f, 0.73436141f, 3.61176538f, -1.71268058f, -2.58490300f, 9.09280205f, -3.27405524f, -2.04569697f, 4.44761324f, -0.62955856f, -2.61917663f, 8.04890442f, 0.54579324f, 0.85929775f, 9.82259560f, -1.93825579f, 0.77703512f, 4.67090321f, -4.79267597f, -2.38906908f, 9.31265545f, 0.96026313f, -1.14109385f, 11.54231834f, -0.01417295f, -0.39500344f, 8.49191666f, 0.55300158f, 2.79490185f, 6.92466164f, 1.72254205f, 2.82222271f, 8.83112717f, 2.95033407f, 2.18054962f, 6.73509789f, -2.22272944f, 0.51127720f, -1.04563558f, 2.15747333f, -2.30959272f, 9.55441570f, 1.50396204f, 1.77370787f, 7.38146257f, -1.79076433f, 3.20961165f, 7.18864202f, 2.91217351f, 0.43018937f, 7.11078024f, -1.17386127f, -0.16817921f, 6.12327290f, -2.82205725f, 3.30696845f, 13.51291752f, -1.30856836f, -2.38332748f, 11.09487438f, -1.47190213f, -0.53050828f, 4.38285351f, -5.07309771f, 1.50714362f, 5.72274446f, -2.85825086f, -0.89673209f, 3.73791552f, -0.67708802f, -4.13149452f, -0.00671843f, -0.26566532f, 0.32961160f, 7.14501762f, -1.41608179f, -4.96590328f, 12.26205540f, -0.65158135f, -0.88641000f, 6.95777559f, -0.79058206f, -0.10260171f, 7.87169170f, 1.35921454f, 1.11759663f, 5.46187401f, -2.57214499f, 2.48484039f, 4.04043484f, -2.07137156f, -1.42709637f, 9.25487137f, -0.12605135f, -2.66949964f, 2.89412403f, 0.74451172f, -2.96250391f, 3.99258423f, 0.27084303f, 0.32213116f, 5.42332172f, -0.44414216f, 1.70881832f, 6.69346905f, 0.53058422f, -4.73146200f, 4.22051668f, 2.24834967f, 0.66996074f, 4.30173683f, 0.11849818f, -4.07520294f, 8.27318478f, -2.54398274f, -2.86705542f, 10.11775303f, -0.99382895f, 0.65881538f, 7.93556786f, -1.27934420f, -1.69343162f, 9.68042564f, -1.02609646f, -1.18189347f, 5.75370646f, -1.67888868f, -4.48871994f, 4.79537392f, -0.79212248f, -0.19855022f, 6.15060997f, -0.01081491f, 3.64454579f, 10.82562447f, 1.58859253f, -2.65847278f, 8.60093212f, -1.59196103f, 0.07635692f, 11.76175690f, -1.17453325f, 0.10122013f, 6.86458445f, -2.18891335f, -2.74004745f, 8.07066154f, 0.71818852f, -2.03035975f, 6.31053686f, 0.51509416f, 1.39789927f, 9.43515587f, 2.04256630f, 0.13985133f, 4.65010691f, 2.40911126f, -0.36255789f, -3.06867862f, -0.45225358f, -1.56778407f, 6.05917358f, -1.09891272f, 1.77184200f, 6.46248102f, 0.96042323f, -0.24346280f, 4.63436460f, -4.69907761f, 1.25187206f, 11.46173859f, -2.21917558f, 1.28007793f, 6.92173195f, 2.11268163f, -3.47389889f, 5.08722782f, -3.03950930f, -4.17154264f, 11.30568314f, 0.80361372f, 2.53214502f, 7.18707085f, -4.49114513f, 2.85449266f, 10.14906883f, -0.31974933f, -0.84472644f, -0.52459574f, 0.12921631f, -1.81390119f, 2.76170087f, 1.03982210f, 2.91744232f, -0.29048753f, 5.87453508f, -1.53684759f, 1.85800636f, -0.91404629f, 1.28954852f, 5.11354685f, -2.47475505f, -1.33179152f, 2.58552408f, 1.37316465f, -3.32339454f, 1.54122913f, 3.24953628f, -0.29758382f, 2.82391763f, -1.51142192f, -1.22699404f, 6.75745535f, 0.65452754f, -3.29385471f, 2.06008053f, 2.53172946f, -4.23532820f, -1.53909743f, -0.07010663f, -1.42173731f, 7.29031610f, -0.18448229f, 4.59496164f, 6.73027277f, 0.73441899f, 0.14426160f, 4.14915276f, -2.97010231f, 6.05851364f, 4.95218086f, -2.39145470f, 2.40494704f, 2.10288811f, 0.53503096f, 1.44511235f, 6.66344261f, -3.05803776f, 7.21418667f, 3.30303526f, -0.24163735f, 3.47409391f, 3.64520788f, 2.15189481f, -3.11243272f, 3.62310791f, 0.37379482f, 0.40865007f, -0.83132005f, -4.78246069f, 2.07030797f, 6.51765442f, 3.16178989f, 5.06180477f, 3.78434467f, -0.96689719f, 0.35965276f, 5.89967585f, 1.40294051f, 1.11952639f, 10.59778214f, 0.26739889f, -1.61297631f, 6.24801159f, -0.93914318f, -0.57812452f, 9.92604542f, -0.73025000f, -3.38530874f, 2.45646000f, -2.47949195f, 0.51638460f, 10.65636063f, 1.97816694f, -3.00407791f, 2.66914415f, -0.81951088f, -0.23316640f, 2.40737987f, -2.70007610f, 1.51531935f, 4.08860207f, -0.27552786f, -1.31721711f, 7.11568260f, -3.33498216f, -4.02545023f, 7.22675610f, -0.81690705f, -2.52689576f, 1.04016697f, -0.79291463f, -0.34875512f, 10.00498390f, -4.24167728f, 1.46162593f, 11.82569408f, -1.70359993f, -0.30161047f, 16.44085884f, -0.82253462f, -0.09435523f, 6.13080597f, -0.20259480f, 0.68308711f, 6.15663004f, -6.61776876f, 0.33295766f, 2.55449438f, -0.17819691f, -1.14892209f, 5.56776142f, 1.99279118f, 1.33035934f, 4.45823956f, 3.34916544f, -2.59905386f, 6.16164446f, -2.03881931f, -2.45273542f, 12.46793365f, -2.22743297f, 2.83738565f, 8.48628139f, -1.39347959f, -1.30867767f, 11.08041477f, -4.00363779f, 2.09183025f, 11.30395889f, -2.20504737f, 1.37426853f, 8.98735619f, 1.04676604f, -0.72757077f, 8.28050232f, -6.70741081f, -0.65798020f, 5.68592072f, -0.60760021f, 0.35854483f, 6.26852131f, 1.94100165f, 1.32112014f, 0.80987954f, -1.74617672f, -0.25434083f, 7.16045523f, 1.58884013f, -2.64847064f, 13.14820385f, 1.21393633f, -2.47258949f, 9.41650105f, -0.79384226f, 2.48954105f, 10.95629311f, 0.47723705f, 4.02126694f, 8.02593136f, -2.20726371f, -1.18794477f, 1.50836647f, 0.93118095f, -1.73513174f, 8.85493565f, -2.99670315f, -0.79055870f, 2.39473820f, 2.05046916f, -2.38055134f, 11.82299423f, 0.15609655f, 0.68744308f, 5.66401434f, -0.69281673f, 2.09855556f, 7.74626589f, -0.34283102f, 1.00542057f, 9.95838642f, 0.80161905f, 2.33455157f, 9.80057335f, -0.93561798f, 2.56991577f, 8.29711342f, 0.94213426f, 0.44209945f, 11.70259857f, 0.92710167f, 2.60957146f, 0.24971688f, -0.86529571f, 3.78628922f, 6.80884457f, -0.68178189f, 2.21103406f, 3.18895817f, 0.60283208f, -2.92716241f, 6.72060776f, -1.06625068f, 2.56543374f, 9.97404480f, 3.58080721f, -0.94936347f, 10.16736984f, -1.38464379f, 1.18191063f, 6.66179037f, -3.56115270f, 0.32329530f, 10.90870762f, 2.20638227f, 0.19653285f, 7.34650040f, -3.63859272f, -1.03027737f, 5.98829985f, -3.66606474f, -3.89746714f, 8.63469028f, 1.22569811f, 1.63240814f, 3.74385309f, 0.58243257f, -0.56981975f, 3.69260955f, 1.00979900f, -1.44030499f, 8.57058144f, -1.10648811f, 1.20474911f, 5.43133020f, -2.14822555f, -0.07928789f, 11.25825310f, 0.19645604f, -5.49546146f, 10.41917038f, -0.68178523f, -2.99639869f, 6.50054455f, 0.46488351f, -5.42328453f, 9.09500027f, -2.82107449f, 0.05601966f, 15.34610748f, -0.06820253f, 3.86699796f, 10.73316956f, -3.04795432f, -0.14702171f, 5.64813185f, 1.44028485f, -2.47596145f, 0.07280898f, -3.03187990f, -1.35183525f, 9.35835648f, 2.72966957f, 1.88199532f, 10.36187744f, -0.22834805f, -3.26738238f, 6.92025137f, -2.34061313f, 4.77379704f, 5.28559113f, -2.96323752f, -1.76186585f, 5.94436455f, 0.38647744f, -5.73869514f, 6.76849556f, 1.40892124f, -1.19068217f, 5.37919092f, -6.65328646f, 3.62782669f, 12.34744644f, 2.44762444f, -4.19242620f, 6.14906216f, 0.08121119f, 0.61355996f, 2.69666457f, -1.88962626f, -0.55314136f, 1.84937525f, 1.56048691f, 1.17460012f, 3.75674725f, 1.06198275f, -5.74625874f, 5.41645575f, -1.28946674f, -1.51689398f, 4.32400894f, -0.05222082f, -4.83948946f, 1.80747867f, 1.63144708f, -2.73887825f, 1.63975775f, -2.02163982f, -0.16210437f, 2.93518686f, 1.14427686f, -2.83246303f, 4.79283667f, 2.69697428f, -3.12678456f, -1.19225168f, -2.37022972f, -3.09429741f, 1.94225383f, -1.13747168f, -2.55048585f, 5.40242243f, 1.12777328f, 3.43713188f, 3.62658787f, -2.16878843f, 0.30164462f, 2.97407579f, -0.07275413f, -1.31149673f, 4.70066261f, -2.01323795f, 4.85255766f, 4.59128904f, 1.68084168f, 1.60336494f, 6.58138466f, -1.04759812f, 2.69906545f, 3.55769277f, -0.74327278f, 2.65819693f, 5.39528131f, 2.11248922f, -1.06446671f, 5.24546766f, -2.43146014f, 4.58907509f, 0.06521678f, -2.24503994f, 2.45722699f, 6.94863081f, 0.35258654f, 2.83396196f, 9.92525196f, -1.12225175f, -0.34365177f, 7.19116688f, -4.39813757f, 0.46517885f, 13.22028065f, -2.57483673f, -6.37226963f, 7.58046293f, -2.74600363f, 0.42231262f, 8.04881668f, 0.17289802f, -0.53447008f, 16.55157471f, -5.63614368f, 0.39288223f, 3.37079263f, 1.26484549f, -0.12820500f, 8.46440125f, -4.39304399f, 2.97676420f, 0.65650189f, 0.83158541f, -1.11556435f, 6.32885838f, -0.36087769f, 2.80724382f, 9.90292645f, 1.15936041f, 0.20947981f, 6.91249275f, -2.67404819f, 2.93782163f, 6.65656614f, -2.30828357f, 2.98214006f, 6.80611229f, -4.93821478f, -7.66555262f, 7.59763002f, -0.54159302f, 3.87403512f, 12.42607784f, 2.59284401f, -0.23375344f, 8.95293331f, -0.71807784f, 0.61873478f, 8.66713524f, 1.24289191f, -2.37835455f, 2.08071637f, -0.88315344f, -3.41891551f, 6.85245323f, 1.73007369f, 1.02169311f, 7.69170332f, -2.85411978f, 2.69790673f, 8.12906551f, -1.19351399f, -2.26442742f, 12.26104450f, -0.75579089f, -1.73274946f, 10.68729019f, 2.20655656f, -0.90522075f, 12.42165184f, -1.67929137f, 2.44851565f, 9.31565762f, -0.06645700f, 1.52762020f, 6.18427515f, -1.68882596f, 3.70261097f, 3.02252960f, -3.44125366f, -1.31575799f, 2.84617424f, -0.96849400f, -4.52356243f, 9.95027161f, 0.19966406f, -0.78874779f, 8.18595028f, -4.08300209f, 1.75126517f, 0.96418417f, -4.04913044f, -0.95200396f, 12.03637886f, -0.03041124f, 0.41642749f, 8.88267422f, -3.24985337f, -2.24919462f, 7.32566118f, 0.16964148f, -2.74123430f, 7.05264473f, -3.30191112f, 0.17163286f, 4.81851053f, -1.64463484f, -0.85933101f, 7.29276276f, 2.34066939f, -2.14860010f, 3.46148157f, -0.01782012f, 1.51504040f, 4.79304934f, 1.85281146f, -1.70663762f, 6.93470192f, -4.15440845f, -1.25983095f, 10.52491760f, 0.42930329f, -1.85146868f, 11.70042324f, -0.41704914f, 3.83796859f, 9.21148491f, -2.79719448f, 0.79470479f, 6.26926661f, -5.85230207f, 3.95105338f, 7.84790897f, -1.38680744f, -1.78099084f, 11.95235348f, -2.99841452f, -1.34507811f, 6.15714645f, -1.07552516f, -2.81228638f, 1.66234732f, -4.55166149f, -1.92601109f, 8.64634514f, -0.48158705f, 3.31595659f, 7.67371941f, 2.56964207f, 0.12107098f, 4.56467867f, -0.93541539f, 1.39432955f, 11.99714088f, 1.05353570f, -2.13099813f, 3.67617917f, 3.45895386f, 1.37365830f, 8.74344158f, -4.17585802f, 1.43908918f, 6.28764772f, 3.97346330f, -0.69144285f, 9.07983303f, -0.41635889f, -0.14965028f, 8.85469818f, 1.11306190f, 2.59440994f, 5.38982344f, -1.07948279f, 1.37252975f, 10.26984596f, -0.09318046f, 2.73104119f, 12.45902252f, -1.55446684f, -2.76124811f, 12.19395065f, -0.51846564f, 1.02764034f, 11.42673588f, -0.95940983f, -0.04781032f, 8.78379822f, -4.88957930f, 0.32534006f, 11.97696400f, -3.35108662f, 1.95104563f, 4.46915388f, -2.32061648f, 3.45230985f, 8.29983711f, 2.81034684f, -2.35529327f, 6.07801294f, -0.98105043f, -0.05359888f, 2.52291036f, -0.01986909f, -2.35321999f, 10.51954269f, 2.11145401f, 3.53506470f, 7.29093266f, 0.03721160f, -1.13496494f, 7.43886709f, -5.84201956f, 2.50796294f, 12.14647675f, 2.77490377f, -2.18896222f, 6.05641937f, 5.32617044f, 1.04221284f, 10.79106712f, -2.95749092f, -2.75414610f, 11.30037117f, -3.40654182f, -2.24673963f, 7.49126101f, 0.70811015f, -6.18003702f, 13.83951187f, -1.01204085f, 1.36298490f, -1.04451632f, 2.42435336f, -0.02346706f, -0.85528886f, 1.04731262f, 0.22192979f, 4.15708160f, 0.34933877f, 0.04814529f, 2.24107265f, 0.49676740f, -1.47752666f, 0.45040059f, -0.70471478f, -1.19759345f, 0.21711677f, 0.88461423f, -2.76830935f, 5.52066898f, 1.97664857f, -1.75381601f, 3.45877838f, 1.52617192f, -1.61350942f, 0.85337949f, 1.97610760f, -3.40310287f, 3.40319014f, -3.38691044f, -0.71319139f, 1.65463758f, -0.60680127f, -1.80700517f, 8.02592373f, 2.59627104f, 2.65895891f, 5.93043184f, -4.48425817f, 3.92670918f, 4.19496679f, -2.28286791f, 6.41634607f, 5.72330523f, 1.16269672f, -0.28753027f, 2.46342492f, 0.36693189f, 0.26712441f, 6.37652683f, -2.50139046f, 2.43923736f, 5.56310415f, 0.98065847f, 1.04267502f, 4.16403675f, -0.04966142f, 4.40897894f, 3.72905660f, -3.46129870f, 3.59962773f, 1.34830284f, -1.76661730f, 0.47943926f, 5.29946661f, -1.12711561f, 1.26970029f, 15.17655945f, -1.50971997f, 5.81345224f, 8.48562050f, -4.36049604f, 2.48144460f, 8.23780441f, -3.46030426f, -0.84656560f, 5.94946814f, 1.12747943f, -2.65683913f, 8.69085693f, 1.31309867f, -2.79958344f, 8.76840591f, -1.56444156f, 1.62710834f, 2.41177034f, -0.72804940f, 5.70619011f, 4.67169666f, -0.86167198f, -1.83803177f, 2.96346045f, 2.82692933f, -2.81557131f, 7.11113358f, -1.90071094f, 2.54244423f, 11.19284058f, -0.06298946f, -1.71517313f, 12.98388577f, 0.84510714f, 3.00816894f, 2.57200313f, 0.03899818f, -1.49330592f, 9.60099125f, -3.59513044f, -1.30045319f, 7.09241819f, -0.65233821f, -2.33627677f, 8.81366920f, 0.84154201f, 1.03312039f, 9.85289097f, 0.19351870f, 1.78496623f, 7.34631205f, -2.16530800f, -0.65016162f, 2.46842360f, 0.24016285f, -1.24308395f, 4.78175163f, -0.97682536f, 2.20942235f, 6.68382788f, 3.76786447f, -1.44454038f, 6.26453733f, -3.23575711f, -2.30137897f, 9.53092670f, -5.55222607f, 3.25999236f, 9.37559509f, 1.86339056f, -0.23551451f, 10.23400211f, 3.93031883f, -0.52629089f, 7.85724449f, -2.91549587f, 4.46612740f, 5.66530371f, -2.70820427f, 4.81359577f, 10.31247330f, 1.92230141f, 2.53931546f, 0.74986327f, 1.70303428f, 0.48063779f, 5.31099129f, -0.78976244f, 3.75864220f, 4.23051405f, 2.34042454f, -7.98193836f, 9.83987141f, -1.46722627f, 3.54497814f, 10.36455154f, -4.51249075f, 0.77715248f, 7.78694630f, -4.59989023f, -2.49585629f, 9.90296268f, 1.38535416f, 1.17441154f, 10.10452843f, -0.98628229f, 0.60194463f, 9.12639141f, -3.90754628f, 2.88526392f, 7.24123430f, -0.15283313f, -0.75728363f, -1.15116858f, -2.53791571f, 0.77229571f, 6.44114161f, 0.02646767f, 4.95463037f, 7.21066380f, 1.79384065f, 0.73250306f, 8.04447937f, 0.32576546f, -0.79447043f, 10.12717724f, 2.33392906f, 1.30716443f, 12.36073112f, -0.36694977f, -1.20438910f, 7.03105593f, 0.59557682f, 0.69267452f, 10.18113136f, 2.49944925f, -0.42229167f, 8.83143330f, -1.18805945f, -2.87509322f, 4.53596449f, 4.09732771f, -3.39088297f, -1.02536607f, 0.82119560f, -3.47302604f, 9.29991817f, 0.21001509f, 4.97036457f, 9.50018406f, 1.04420102f, 1.96560478f, 10.74769592f, -6.22709799f, 3.11690164f, 5.06759691f, -1.23724771f, -3.05831861f, 8.12925529f, -1.93435478f, -1.10151744f, 9.32263088f, -0.04249470f, -5.98547363f, 10.49398136f, 0.26400441f, -0.78915191f, 13.28219604f, 2.99276900f, 0.74853164f, 2.49364305f, -3.43529654f, 4.05278301f, 2.13498688f, -2.35444307f, -0.79900265f, 4.66968822f, -0.31095147f, 3.60674143f, 12.37222099f, -0.07855003f, -3.30292702f, 12.15215874f, 0.60886210f, 2.87075138f, 7.75271845f, 0.38044083f, 3.34402204f, 6.40583277f, -0.87888050f, 0.67438459f, 6.91080809f, 1.98332930f, -0.08303714f, 8.08630371f, -0.16772588f, -2.74058914f, 7.17253590f, -2.69122696f, 1.48173678f, 8.99470139f, -1.43302310f, -0.88651133f, 2.66944790f, -0.29186964f, 2.00838661f, 5.09587479f, -0.76676071f, -2.88322186f, 8.31110573f, -0.14550979f, -1.37726915f, 10.28355122f, -1.60575438f, -0.04118848f, 9.97510815f, 0.14440438f, -3.24632120f, 9.00034523f, 4.14319563f, -1.31023729f, 7.16950464f, -0.70428526f, 2.01559544f, 7.26155043f, 2.40816474f, 2.09847403f, 7.31264496f, -0.75401551f, 2.13392544f, 7.03648758f, 1.04036045f, -1.15636516f, 1.09634531f, -0.06340861f, -0.58107805f, -0.65623116f, 1.18972754f, -0.80717683f, 1.40118241f, -0.61932516f, -3.60596156f, 1.59904599f, -2.23774099f, -1.13721037f, 3.89620137f, -0.09115922f, -7.51356888f, 2.36975193f, -1.42520905f, -2.34173775f, 3.33830214f, -2.74016523f, -3.04115510f, 6.00119495f, -1.36084354f, -2.45065260f, 4.56992292f, -3.02825928f, -3.74182844f, 5.11069250f, -0.91531068f, -2.31385994f, 1.83399653f, 3.39370203f, -3.60886002f}); + auto z = NDArrayFactory::create( {4, 4, 4, 3}); + auto exp = NDArrayFactory::create( {4, 4, 4, 3}, {7.97172260f, 0.06878620f, 2.27749538f, 7.29276514f, -0.14074677f, 0.65480286f, 5.70313978f, -0.06546132f, 0.35443667f, 3.70382833f, -0.84020567f, 0.63826996f, 8.60301399f, -0.38236514f, 1.55177069f, 7.37542057f, -0.99374938f, -0.29971302f, 8.84352493f, -0.67121059f, 0.43132120f, 4.78175592f, -1.25070143f, -1.91523600f, 6.03855371f, -0.00292124f, -1.11214364f, 7.90158176f, -0.57949901f, -0.96735370f, 7.81192017f, -0.53255427f, -0.48009714f, 3.16953635f, 0.08353355f, -1.54299748f, 3.74821687f, 1.69396687f, 0.72724354f, 5.42915201f, -1.13686812f, -0.71793109f, 5.78376389f, -0.72239977f, -0.60055625f, 2.53636408f, 0.56777251f, -2.07892323f, 6.08064651f, 0.68620735f, 2.54017019f, 5.65828180f, -0.68255502f, 1.47283304f, 6.10842514f, -0.39655915f, 0.28380761f, 1.96707797f, -1.98206317f, 0.94027776f, 4.71811438f, 0.32104525f, -0.92409706f, 8.34588146f, -1.05581069f, -0.55217457f, 9.58440876f, -0.96549922f, 0.45820439f, 5.65453672f, -2.50953507f, -0.71441835f, 8.03059578f, -0.21281289f, 0.92125505f, 9.26900673f, -0.35963219f, -0.70039093f, 8.59924412f, -1.22358346f, 0.81318003f, 3.85920119f, -0.01305223f, -1.09234154f, 6.33158875f, 1.28094780f, -1.48926139f, 4.94969177f, -0.77126902f, -1.97033751f, 5.64381838f, -0.16285487f, -1.31277227f, 2.39893222f, -1.32902908f, -1.39609122f, 6.47572327f, -0.45267010f, 1.55727172f, 6.70965624f, -1.68735468f, -0.05672536f, 7.25092363f, -0.64613032f, 0.67050058f, 3.60789680f, -2.05948973f, 2.22687531f, 8.15202713f, -0.70148355f, 1.28314006f, 8.14842319f, -1.88807654f, -1.04808438f, 8.45500565f, -0.76425624f, 0.94542569f, 4.56179953f, -0.28786001f, -2.04502511f, 8.46278095f, -0.31019822f, 0.07339200f, 9.34214592f, -0.61948007f, 0.52481830f, 8.32515621f, -1.52418160f, 0.49678251f, 5.11082315f, -1.09908783f, -0.52969611f, 5.27806664f, 0.88632923f, 0.66754371f, 4.75839233f, 0.48928693f, -0.68036932f, 6.56925392f, -0.02949905f, -2.99189186f, 4.46320581f, -0.64534980f, -0.29516968f, 8.60809517f, -1.13120568f, 3.41720533f, 5.84243155f, -1.24109328f, 0.89566326f, 5.99578333f, -0.42496428f, 2.07076764f, 3.17812920f, -0.81566459f, -0.14363396f, 6.55184317f, 0.39633346f, -0.43852386f, 8.70214558f, -2.24613595f, 0.30708700f, 8.73882294f, -0.53545928f, 1.54409575f, 4.49452257f, -0.16509305f, 0.19028664f, 8.24897003f, 0.44750381f, 2.15448594f, 8.97640514f, -0.77728152f, 0.57272542f, 9.03467560f, 0.47173575f, -1.10807717f, 3.30056310f, -0.43268481f, -0.41470885f, 3.53798294f, -0.08546703f, -2.16840744f, 6.18733406f, -0.17871059f, -2.59837723f, 5.94218683f, -1.02990067f, -0.49760687f, 3.76938033f, 0.86383581f, -1.91504073f}); sd::ops::avgpool2d op; @@ -982,10 +982,10 @@ TEST_F(JavaInteropTests, Test_Mixed_Add_1) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto arrayX = NDArrayFactory::create({1, 2, 3, 4}); - auto arrayY = NDArrayFactory::create({1, 2, 3, 4}); - auto arrayZ = NDArrayFactory::create({0, 0, 0, 0}); - auto arrayE = NDArrayFactory::create({2, 4, 6, 8}); + auto arrayX = NDArrayFactory::vector({1, 2, 3, 4}); + auto arrayY = NDArrayFactory::vector({1, 2, 3, 4}); + auto arrayZ = NDArrayFactory::vector({0, 0, 0, 0}); + auto arrayE = NDArrayFactory::vector({2, 4, 6, 8}); NDArray::prepareSpecialUse({&arrayZ}, {&arrayX, &arrayY}); @@ -1005,9 +1005,9 @@ TEST_F(JavaInteropTests, Test_Mixed_Add_1) { } TEST_F(JavaInteropTests, Test_Add_1) { - auto x = NDArrayFactory::create('c', {5}, {1, 1, 1, 1, 1}); - auto y = NDArrayFactory::create('c', {5}, {1, 1, 1, 1, 1}); - auto e = NDArrayFactory::create('c', {5}, {2, 2, 2, 2, 2}); + auto x = NDArrayFactory::create( {5}, {1, 1, 1, 1, 1}); + auto y = NDArrayFactory::create( {5}, {1, 1, 1, 1, 1}); + auto e = NDArrayFactory::create( {5}, {2, 2, 2, 2, 2}); NDArray::prepareSpecialUse({&x}, {&x, &y}); @@ -1028,11 +1028,11 @@ TEST_F(JavaInteropTests, Test_Add_1) { TEST_F(JavaInteropTests, zeta_test10) { - auto x = NDArrayFactory::create('c', {3, 4}, {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.01, 1.11, 1.12}); - auto q = NDArrayFactory::create('c', {3, 4}, {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.12}); - auto z = NDArrayFactory::create('c', {3, 4}); + auto x = NDArrayFactory::create( {3, 4}, {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.01, 1.11, 1.12}); + auto q = NDArrayFactory::create( {3, 4}, {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.01, 0.11, 0.12}); + auto z = NDArrayFactory::create( {3, 4}); - auto e = NDArrayFactory::create('c', {3, 4}, {23.014574, 12.184081, 8.275731, 6.1532226, 4.776538, 3.7945523, 3.0541048, 2.4765317, 2.0163891, 205.27448, 21.090889, 19.477398}); + auto e = NDArrayFactory::create( {3, 4}, {23.014574, 12.184081, 8.275731, 6.1532226, 4.776538, 3.7945523, 3.0541048, 2.4765317, 2.0163891, 205.27448, 21.090889, 19.477398}); sd::ops::zeta op; @@ -1052,7 +1052,7 @@ TEST_F(JavaInteropTests, zeta_test10) { } TEST_F(JavaInteropTests, Test_IAMax_1) { - auto arrayX = NDArrayFactory::create({-0.24f, -0.26f, -0.07f, -0.01f}); + auto arrayX = NDArrayFactory::vector({-0.24f, -0.26f, -0.07f, -0.01f}); auto arrayZ = arrayX.indexReduceNumber(indexreduce::IndexAbsoluteMax, nullptr); auto exp = NDArrayFactory::create(1); @@ -1060,8 +1060,8 @@ TEST_F(JavaInteropTests, Test_IAMax_1) { } TEST_F(JavaInteropTests, Test_Boolean_Broadcastables_1) { - auto arrayX = NDArrayFactory::create('c', {10, 10}); - auto arrayY = NDArrayFactory::create('c', {10, 10}); + auto arrayX = NDArrayFactory::create( {10, 10}); + auto arrayY = NDArrayFactory::create( {10, 10}); Nd4jPointer ptrsInBuffer[] = {reinterpret_cast(arrayX.buffer()), reinterpret_cast(arrayY.buffer()), arrayX.specialBuffer(), arrayY.specialBuffer()}; Nd4jPointer ptrsInShapes[] = {(Nd4jPointer)arrayX.shapeInfo(), (Nd4jPointer)arrayY.shapeInfo(), (Nd4jPointer)arrayX.specialShapeInfo(), (Nd4jPointer)arrayY.specialShapeInfo()}; @@ -1096,11 +1096,11 @@ TEST_F(JavaInteropTests, Test_L2_Loss_3) { } TEST_F(JavaInteropTests, Test_Fastpath_3) { - auto array0 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto array1 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create('c', {3, 2}); + auto array0 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto array1 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto z = NDArrayFactory::create( {3, 2}); - auto exp = NDArrayFactory::create('c', {3, 2}, {2.f, 4.f, 6.f, 8.f, 10.f, 12.f}); + auto exp = NDArrayFactory::create( {3, 2}, {2.f, 4.f, 6.f, 8.f, 10.f, 12.f}); Context ctx(1); NDArray::prepareSpecialUse({&z}, {&array0, &array1}); @@ -1121,8 +1121,8 @@ TEST_F(JavaInteropTests, Test_Fastpath_3) { TEST_F(JavaInteropTests, Test_Fastpath_4) { - auto exp = NDArrayFactory::create('c', {3, 5}, {1,1,1,0,0, 1,1,1,1,0, 1,1,1,1,1}); - auto z = NDArrayFactory::create('c', {3, 5}); + auto exp = NDArrayFactory::create( {3, 5}, {1,1,1,0,0, 1,1,1,1,0, 1,1,1,1,1}); + auto z = NDArrayFactory::create( {3, 5}); Nd4jLong iArgs[] = {3, 5, 2}; @@ -1142,9 +1142,9 @@ TEST_F(JavaInteropTests, Test_Fastpath_4) { } TEST_F(JavaInteropTests, Test_Fastpath_5) { - auto a = NDArrayFactory::create('c', {3, 3}); - auto b = NDArrayFactory::create('c', {3, 3}); - auto c = NDArrayFactory::create('c', {3, 3}); + auto a = NDArrayFactory::create( {3, 3}); + auto b = NDArrayFactory::create( {3, 3}); + auto c = NDArrayFactory::create( {3, 3}); a.linspace(1.0); b.linspace(1.0); @@ -1165,12 +1165,12 @@ TEST_F(JavaInteropTests, Test_Fastpath_5) { } TEST_F(JavaInteropTests, Test_Fastpath_6) { - auto a = NDArrayFactory::create('c', {2, 3}); - auto b = NDArrayFactory::create('c', {3, 4}); - auto gI = NDArrayFactory::create('c', {2, 4}); + auto a = NDArrayFactory::create( {2, 3}); + auto b = NDArrayFactory::create( {3, 4}); + auto gI = NDArrayFactory::create( {2, 4}); - auto gA = NDArrayFactory::create('c', {2, 3}); - auto gB = NDArrayFactory::create('c', {3, 4}); + auto gA = NDArrayFactory::create( {2, 3}); + auto gB = NDArrayFactory::create( {3, 4}); a.linspace(1.0); b.linspace(1.0); gI.linspace(1.0); @@ -1198,10 +1198,10 @@ TEST_F(JavaInteropTests, Test_Fastpath_6) { } TEST_F(JavaInteropTests, Test_Fastpath_7) { - auto a = NDArrayFactory::create('c', {2}, {1.f, 2.f}); + auto a = NDArrayFactory::create( {2}, {1.f, 2.f}); auto b = NDArrayFactory::create(3.f); - auto z = NDArrayFactory::create('c', {3}); - auto e = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); + auto z = NDArrayFactory::create( {3}); + auto e = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); NDArray::prepareSpecialUse({&z}, {&a, &b}); @@ -1229,7 +1229,7 @@ TEST_F(JavaInteropTests, test_bfloat16_rng) { if (!Environment::getInstance()->isCPU()) return; - auto z = NDArrayFactory::create('c', {10}); + auto z = NDArrayFactory::create( {10}); RandomGenerator rng(119, 323841120L); bfloat16 args[2] = {(bfloat16) 0.0f, (bfloat16) 1.0f}; OpaqueDataBuffer zBuf(z.dataBuffer()); @@ -1240,7 +1240,7 @@ TEST_F(JavaInteropTests, test_bfloat16_rng) { } TEST_F(JavaInteropTests, test_ismax_view) { - auto original = NDArrayFactory::create('c', {2, 3, 40}); + auto original = NDArrayFactory::create( {2, 3, 40}); auto v = original.subarray({NDIndex::all(), NDIndex::all(), NDIndex::interval(0, 40, 2)}); v.assign(1.0); @@ -1264,7 +1264,7 @@ TEST_F(JavaInteropTests, test_ismax_view) { } TEST_F(JavaInteropTests, test_size_dtype_1) { - auto x = NDArrayFactory::create('c', {3}, {1.f, 1.f, 1.f}); + auto x = NDArrayFactory::create( {3}, {1.f, 1.f, 1.f}); auto z = NDArrayFactory::create(0.0f); auto e = NDArrayFactory::create(3.0f); @@ -1283,10 +1283,10 @@ TEST_F(JavaInteropTests, test_expandable_array_op_1) { auto x = NDArrayFactory::string( {2}, {"first string", "second"}); auto d = NDArrayFactory::string(" ", sd::DataType::UTF8); - auto z0 = NDArrayFactory::create('c', {6}); + auto z0 = NDArrayFactory::create( {6}); auto z1 = NDArrayFactory::string( {3}, {"", "", ""}); - auto exp0 = NDArrayFactory::create({0,0, 0,1, 1,0}); + auto exp0 = NDArrayFactory::vector({0,0, 0,1, 1,0}); auto exp1 = NDArrayFactory::string( {3}, {"first", "string", "second"}); InteropDataBuffer iz0(z0.dataBuffer()); @@ -1310,9 +1310,9 @@ TEST_F(JavaInteropTests, test_workspace_backed_arrays_1) { if (!Environment::getInstance()->isCPU()) return; - auto x = NDArrayFactory::create('c', {4, 3, 4, 4}); - auto y = NDArrayFactory::create('c', {4, 3, 3, 3}); - auto z = NDArrayFactory::create('c', {4, 3, 4, 4}); + auto x = NDArrayFactory::create( {4, 3, 4, 4}); + auto y = NDArrayFactory::create( {4, 3, 3, 3}); + auto z = NDArrayFactory::create( {4, 3, 4, 4}); double buffer[2048]; From 2807e09f369fea10b330acf72fbd05dd77611c6a Mon Sep 17 00:00:00 2001 From: shugeo Date: Mon, 22 Jun 2020 17:14:35 +0300 Subject: [PATCH 66/99] Fixed test with new factory create. Signed-off-by: shugeo --- .../layers_tests/JavaInteropTests.cpp | 6 +- .../tests_cpu/layers_tests/LegacyOpsTests.cpp | 174 +++++++++--------- .../layers_tests/ListOperationsTests.cpp | 62 +++---- 3 files changed, 121 insertions(+), 121 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp b/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp index 4619b975f985..ffabf3449528 100644 --- a/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp @@ -1280,14 +1280,14 @@ TEST_F(JavaInteropTests, test_size_dtype_1) { } TEST_F(JavaInteropTests, test_expandable_array_op_1) { - auto x = NDArrayFactory::string( {2}, {"first string", "second"}); + auto x = NDArrayFactory::string( {2}, std::vector{"first string", "second"}); auto d = NDArrayFactory::string(" ", sd::DataType::UTF8); auto z0 = NDArrayFactory::create( {6}); - auto z1 = NDArrayFactory::string( {3}, {"", "", ""}); + auto z1 = NDArrayFactory::string( {3}, std::vector{"", "", ""}); auto exp0 = NDArrayFactory::vector({0,0, 0,1, 1,0}); - auto exp1 = NDArrayFactory::string( {3}, {"first", "string", "second"}); + auto exp1 = NDArrayFactory::string( {3}, std::vector{"first", "string", "second"}); InteropDataBuffer iz0(z0.dataBuffer()); InteropDataBuffer iz1(z1.dataBuffer()); diff --git a/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp index 7c7734b385d1..6e614431bd97 100644 --- a/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp @@ -41,10 +41,10 @@ class LegacyOpsTests : public testing::Test { TEST_F(LegacyOpsTests, TransformTests_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(1.0); - auto z = NDArrayFactory::create('c', {5,5}); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto z = NDArrayFactory::create( {5,5}); + auto exp = NDArrayFactory::create( {5, 5}); exp.assign(-1.0); sd::ops::LegacyTransformSameOp op(transform::Neg); // Neg @@ -55,10 +55,10 @@ TEST_F(LegacyOpsTests, TransformTests_1) { } TEST_F(LegacyOpsTests, TransformTests_2) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(1.0); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); exp.assign(-1.0); sd::ops::LegacyTransformSameOp op(transform::Neg); // Neg @@ -74,10 +74,10 @@ TEST_F(LegacyOpsTests, TransformTests_2) { } TEST_F(LegacyOpsTests, Reciprocal_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(2.0f); - auto ethalon = NDArrayFactory::create('c', {5, 5}); + auto ethalon = NDArrayFactory::create( {5, 5}); ethalon.assign(0.5f); sd::ops::LegacyTransformSameOp op(transform::Reciprocal); // Reciprocal @@ -89,13 +89,13 @@ TEST_F(LegacyOpsTests, Reciprocal_1) { } TEST_F(LegacyOpsTests, PWT_Tests_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(2.0); - auto y = NDArrayFactory::create('c', {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); y.assign(3.0); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); exp.assign(6.0); sd::ops::LegacyPairwiseTransformOp op(pairwise::Multiply); // Multiply @@ -109,13 +109,13 @@ TEST_F(LegacyOpsTests, PWT_Tests_1) { } TEST_F(LegacyOpsTests, PWT_Tests_2) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(2.0); - auto y = NDArrayFactory::create('c', {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); y.assign(3.0); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); exp.assign(6.0); sd::ops::LegacyPairwiseTransformOp op(pairwise::Multiply); // Multiply @@ -130,10 +130,10 @@ TEST_F(LegacyOpsTests, PWT_Tests_2) { } TEST_F(LegacyOpsTests, Scalar_Test_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(2.0); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); exp.assign(7.0); sd::ops::LegacyScalarOp op(scalar::Add); @@ -143,10 +143,10 @@ TEST_F(LegacyOpsTests, Scalar_Test_1) { } TEST_F(LegacyOpsTests, Scalar_Test_2) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(2.0); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); exp.assign(7.0); auto y = NDArrayFactory::create(5.0f); @@ -162,7 +162,7 @@ TEST_F(LegacyOpsTests, Scalar_Test_2) { TEST_F(LegacyOpsTests, ReduceTests_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(1.0); int opNum = reduce::Sum; sd::ops::LegacyReduceSameOp op(opNum); @@ -181,11 +181,11 @@ TEST_F(LegacyOpsTests, ReduceTests_1) { TEST_F(LegacyOpsTests, ReduceTests_2) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(1.0); sd::ops::LegacyReduceSameOp op(reduce::Sum); - auto axis = NDArrayFactory::create('c', {1}, {1}); + auto axis = NDArrayFactory::create( {1}, {1}); auto result = op.evaluate({&x, &axis}, {}, {}); ASSERT_EQ(1, result.size()); @@ -202,9 +202,9 @@ TEST_F(LegacyOpsTests, ReduceTests_2) { TEST_F(LegacyOpsTests, ReduceTests_3) { - auto x = NDArrayFactory::create('c', {3, 5}); + auto x = NDArrayFactory::create( {3, 5}); x.linspace(1); - auto indices = NDArrayFactory::create('c', {1,1}, {1}); + auto indices = NDArrayFactory::create( {1,1}, {1}); sd::ops::LegacyReduceSameOp op(reduce::Sum); @@ -222,9 +222,9 @@ TEST_F(LegacyOpsTests, ReduceTests_3) { TEST_F(LegacyOpsTests, ReduceTests_4) { - auto x = NDArrayFactory::create('c', {2, 3, 5}); + auto x = NDArrayFactory::create( {2, 3, 5}); x.linspace(1); - auto indices = NDArrayFactory::create('c', {1, 1}, {1}); + auto indices = NDArrayFactory::create( {1, 1}, {1}); sd::ops::LegacyReduceSameOp op(reduce::Sum); @@ -242,7 +242,7 @@ TEST_F(LegacyOpsTests, ReduceTests_4) { } TEST_F(LegacyOpsTests, ReduceTests_5) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(1.0); int opNum = reduce::Mean; sd::ops::LegacyReduceFloatOp op(opNum); @@ -261,9 +261,9 @@ TEST_F(LegacyOpsTests, ReduceTests_5) { TEST_F(LegacyOpsTests, ReduceTests_6) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(1.0); - auto axis = NDArrayFactory::create('c', {1}, {1}); + auto axis = NDArrayFactory::create( {1}, {1}); sd::ops::LegacyReduceFloatOp op(reduce::Mean); auto result = op.evaluate({&x, &axis}, {}, {}); @@ -282,9 +282,9 @@ TEST_F(LegacyOpsTests, ReduceTests_6) { TEST_F(LegacyOpsTests, ReduceTests_7) { - auto x = NDArrayFactory::create('c', {3, 5}); + auto x = NDArrayFactory::create( {3, 5}); x.linspace(1); - auto indices = NDArrayFactory::create('c', {1,1}, {1}); + auto indices = NDArrayFactory::create( {1,1}, {1}); sd::ops::LegacyReduceFloatOp op(reduce::Mean); @@ -302,9 +302,9 @@ TEST_F(LegacyOpsTests, ReduceTests_7) { TEST_F(LegacyOpsTests, ReduceTests_8) { - auto x = NDArrayFactory::create('c', {2, 3, 5}); + auto x = NDArrayFactory::create( {2, 3, 5}); x.linspace(1); - auto indices = NDArrayFactory::create('c', {1}, {1}); + auto indices = NDArrayFactory::create( {1}, {1}); sd::ops::LegacyReduceFloatOp op(reduce::Mean); @@ -324,7 +324,7 @@ TEST_F(LegacyOpsTests, ReduceTests_8) { TEST_F(LegacyOpsTests, IndexReduceTests_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.linspace(1); sd::ops::LegacyIndexReduceOp op(indexreduce::IndexMax); @@ -343,10 +343,10 @@ TEST_F(LegacyOpsTests, IndexReduceTests_1) { TEST_F(LegacyOpsTests, IndexReduceTests_2) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto indices = NDArrayFactory::create('c', {1}, {1}); + auto x = NDArrayFactory::create( {5, 5}); + auto indices = NDArrayFactory::create( {1}, {1}); x.linspace(1); - auto exp = NDArrayFactory::create({4,4,4,4,4}); + auto exp = NDArrayFactory::vector({4,4,4,4,4}); sd::ops::LegacyIndexReduceOp op(indexreduce::IndexMax); auto result = op.evaluate({&x, &indices}, {}, {}); @@ -366,12 +366,12 @@ TEST_F(LegacyOpsTests, IndexReduceTests_2) { } TEST_F(LegacyOpsTests, BroadcastingTests_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); x.assign(0.0f); - auto row = NDArrayFactory::create('c', {1, 5}); + auto row = NDArrayFactory::create( {1, 5}); row.linspace(1); - auto axis = NDArrayFactory::create('c', {1}, {1}); + auto axis = NDArrayFactory::create( {1}, {1}); sd::ops::LegacyBroadcastOp op(broadcast::Add); Nd4jStatus status = op.execute({&x, &row, &axis}, {&x}, {}, {}, {}); @@ -385,9 +385,9 @@ TEST_F(LegacyOpsTests, BroadcastingTests_1) { } TEST_F(LegacyOpsTests, BroadcastingTests_2) { - auto x = NDArrayFactory::create('c', {5}, {1, 1, 1, 1, 1}); - auto y = NDArrayFactory::create('c', {10, 5}); - auto e = NDArrayFactory::create('c', {10, 5}); + auto x = NDArrayFactory::create( {5}, {1, 1, 1, 1, 1}); + auto y = NDArrayFactory::create( {10, 5}); + auto e = NDArrayFactory::create( {10, 5}); y.assign(3.0); e.assign(4.0); @@ -406,8 +406,8 @@ TEST_F(LegacyOpsTests, BroadcastingTests_2) { } TEST_F(LegacyOpsTests, PowDerivative_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); x.assign(3.f); exp.assign(6.f); @@ -452,11 +452,11 @@ TEST_F(LegacyOpsTests, reduce3_1) { TEST_F(LegacyOpsTests, Reduce3_2) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5}); - auto z = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5}); + auto z = NDArrayFactory::create( {5}); - auto dim = NDArrayFactory::create('c', {1}, {1}); + auto dim = NDArrayFactory::create( {1}, {1}); dim.syncToHost(); sd::LaunchContext* context = sd::LaunchContext::defaultContext(); @@ -488,15 +488,15 @@ TEST_F(LegacyOpsTests, Reduce3_2) { } TEST_F(LegacyOpsTests, Reduce3_3) { - auto x = NDArrayFactory::create('c', {3, 5}, {-0.84443557262, -0.06822254508, 0.74266910552, 0.61765557527, -0.77555125951, + auto x = NDArrayFactory::create( {3, 5}, {-0.84443557262, -0.06822254508, 0.74266910552, 0.61765557527, -0.77555125951, -0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673, 0.62955373525, -0.31357592344, 1.03362500667, -0.59279078245, 1.1914824247}); - auto y = NDArrayFactory::create('c', {5}, {-0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673}); - auto e = NDArrayFactory::create('c', {3}, {0.577452, 0.0, 1.80182}); - auto z = NDArrayFactory::create('c', {3}); + auto y = NDArrayFactory::create( {5}, {-0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673}); + auto e = NDArrayFactory::create( {3}, {0.577452, 0.0, 1.80182}); + auto z = NDArrayFactory::create( {3}); - auto dim = NDArrayFactory::create('c', {1}, {1}); + auto dim = NDArrayFactory::create( {1}, {1}); dim.syncToHost(); sd::LaunchContext* context = sd::LaunchContext::defaultContext(); @@ -528,15 +528,15 @@ TEST_F(LegacyOpsTests, Reduce3_3) { } TEST_F(LegacyOpsTests, Reduce3_4) { - auto x = NDArrayFactory::create('c', {3, 5}, {-0.84443557262, -0.06822254508, 0.74266910552, 0.61765557527, -0.77555125951, + auto x = NDArrayFactory::create( {3, 5}, {-0.84443557262, -0.06822254508, 0.74266910552, 0.61765557527, -0.77555125951, -0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673, 0.62955373525, -0.31357592344, 1.03362500667, -0.59279078245, 1.1914824247}); - auto y = NDArrayFactory::create('c', {1, 5}, {-0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673}); - auto e = NDArrayFactory::create('c', {1, 3}, {0.577452, 0.0, 1.80182}); - auto z = NDArrayFactory::create('c', {1, 3}); + auto y = NDArrayFactory::create( {1, 5}, {-0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673}); + auto e = NDArrayFactory::create( {1, 3}, {0.577452, 0.0, 1.80182}); + auto z = NDArrayFactory::create( {1, 3}); - auto dim = NDArrayFactory::create('c', {1}, {1}); + auto dim = NDArrayFactory::create( {1}, {1}); dim.syncToHost(); sd::LaunchContext* context = sd::LaunchContext::defaultContext(); @@ -570,15 +570,15 @@ TEST_F(LegacyOpsTests, Reduce3_4) { } TEST_F(LegacyOpsTests, Reduce3_5) { - auto x = NDArrayFactory::create('c', {3, 5}, {-0.84443557262, -0.06822254508, 0.74266910552, 0.61765557527, -0.77555125951, + auto x = NDArrayFactory::create( {3, 5}, {-0.84443557262, -0.06822254508, 0.74266910552, 0.61765557527, -0.77555125951, -0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673, 0.62955373525, -0.31357592344, 1.03362500667, -0.59279078245, 1.1914824247}); - auto y = NDArrayFactory::create('c', {1, 5}, {-0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673}); - auto e = NDArrayFactory::create('c', {1, 3}, {0.577452, 0.0, 1.80182}); - auto z = NDArrayFactory::create('c', {1, 3}); + auto y = NDArrayFactory::create( {1, 5}, {-0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673}); + auto e = NDArrayFactory::create( {1, 3}, {0.577452, 0.0, 1.80182}); + auto z = NDArrayFactory::create( {1, 3}); - auto dim = NDArrayFactory::create('c', {1}, {1}); + auto dim = NDArrayFactory::create( {1}, {1}); dim.syncToHost(); sd::LaunchContext* context = sd::LaunchContext::defaultContext(); @@ -611,10 +611,10 @@ TEST_F(LegacyOpsTests, Reduce3_5) { } TEST_F(LegacyOpsTests, test_Reduce3_All_1) { - auto x = NDArrayFactory::create('c', {1000, 100}); - auto y = NDArrayFactory::create('c', {1, 100}); - auto z = NDArrayFactory::create('c', {1000, 1}); - auto dim = NDArrayFactory::create('c', {1}, {-1}); + auto x = NDArrayFactory::create( {1000, 100}); + auto y = NDArrayFactory::create( {1, 100}); + auto z = NDArrayFactory::create( {1000, 1}); + auto dim = NDArrayFactory::create( {1}, {-1}); auto tadPackX = sd::ConstantTadHelper::getInstance()->tadForDimensions(x.shapeInfo(), -1); auto tadPackY = sd::ConstantTadHelper::getInstance()->tadForDimensions(y.shapeInfo(), -1); @@ -647,9 +647,9 @@ TEST_F(LegacyOpsTests, test_Reduce3_All_1) { TEST_F(LegacyOpsTests, test_inverse_broadcast_1) { - auto x = NDArrayFactory::create('c', {4}, {2.0f, 2.0f, 2.0f, 2.0f}); - auto y = NDArrayFactory::create('c', {3, 4}); - auto e = NDArrayFactory::create('c', {3, 4}); + auto x = NDArrayFactory::create( {4}, {2.0f, 2.0f, 2.0f, 2.0f}); + auto y = NDArrayFactory::create( {3, 4}); + auto e = NDArrayFactory::create( {3, 4}); e.assign(2.0f); auto tadPackY = sd::ConstantTadHelper::getInstance()->tadForDimensions(y.shapeInfo(), 1); @@ -668,10 +668,10 @@ TEST_F(LegacyOpsTests, test_inverse_broadcast_1) { } TEST_F(LegacyOpsTests, test_inverse_broadcast_2) { - auto x = NDArrayFactory::create('c', {4}, {2.0f, 2.0f, 2.0f, 2.0f}); - auto y = NDArrayFactory::create('c', {3, 4}); - auto z = NDArrayFactory::create('c', {3, 4}); - auto e = NDArrayFactory::create('c', {3, 4}); + auto x = NDArrayFactory::create( {4}, {2.0f, 2.0f, 2.0f, 2.0f}); + auto y = NDArrayFactory::create( {3, 4}); + auto z = NDArrayFactory::create( {3, 4}); + auto e = NDArrayFactory::create( {3, 4}); e.assign(false); auto row = y(1, {0}); @@ -697,9 +697,9 @@ TEST_F(LegacyOpsTests, test_inverse_broadcast_2) { } TEST_F(LegacyOpsTests, test_legacy_reduce_empty_1) { - auto x = NDArrayFactory::create('c', {2, 0, 3}); - auto z = NDArrayFactory::create('c', {2, 3}); - auto e = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 0, 3}); + auto z = NDArrayFactory::create( {2, 3}); + auto e = NDArrayFactory::create( {2, 3}); int dim = 1; @@ -713,9 +713,9 @@ TEST_F(LegacyOpsTests, test_legacy_reduce_empty_1) { } TEST_F(LegacyOpsTests, test_legacy_reduce_empty_2) { - auto x = NDArrayFactory::create('c', {2, 0, 3}); - auto z = NDArrayFactory::create('c', {2, 3}); - auto e = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 0, 3}); + auto z = NDArrayFactory::create( {2, 3}); + auto e = NDArrayFactory::create( {2, 3}); e.assign(std::numeric_limits::infinity()); int dim = 1; @@ -726,9 +726,9 @@ TEST_F(LegacyOpsTests, test_legacy_reduce_empty_2) { } TEST_F(LegacyOpsTests, test_legacy_reduce_empty_3) { - auto x = NDArrayFactory::create('c', {2, 0, 3}); - auto z = NDArrayFactory::create('c', {2, 3}); - auto e = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 0, 3}); + auto z = NDArrayFactory::create( {2, 3}); + auto e = NDArrayFactory::create( {2, 3}); e.assign(-std::numeric_limits::infinity()); int dim = 1; @@ -743,10 +743,10 @@ TEST_F(LegacyOpsTests, test_legacy_reduce_empty_4) { return; int a = 0; - auto x = NDArrayFactory::create('c', {1, 0, 2}); - auto d = NDArrayFactory::create('c', {1}, {a}); - auto z = NDArrayFactory::create('c', {0, 2}); - auto e = NDArrayFactory::create('c', {0, 2}); + auto x = NDArrayFactory::create( {1, 0, 2}); + auto d = NDArrayFactory::create( {1}, {a}); + auto z = NDArrayFactory::create( {0, 2}); + auto e = NDArrayFactory::create( {0, 2}); InteropDataBuffer xdb(x.dataBuffer()); InteropDataBuffer ddb(d.dataBuffer()); @@ -762,7 +762,7 @@ TEST_F(LegacyOpsTests, test_legacy_reduce_empty_4) { } TEST_F(LegacyOpsTests, test_legacy_transform_float_1) { - auto x = NDArrayFactory::create('c', {1, 0, 4}); + auto x = NDArrayFactory::create( {1, 0, 4}); NativeOpExecutioner::execTransformFloat(LaunchContext::defaultContext(), transform::FloatOps::RSqrt, x.buffer(), x.shapeInfo(), x.specialBuffer(), x.specialShapeInfo(), x.buffer(), x.shapeInfo(), x.specialBuffer(), x.specialShapeInfo(), nullptr, nullptr, nullptr); } diff --git a/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp b/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp index 4ea222714d1f..801dbe07ae0a 100644 --- a/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp @@ -32,7 +32,7 @@ class ListOperationsTests : public testing::Test { TEST_F(ListOperationsTests, BasicTest_Write_1) { NDArrayList list(5); - auto x = NDArrayFactory::create('c', {128}); + auto x = NDArrayFactory::create( {128}); x.linspace(1); sd::ops::write_list op; @@ -53,10 +53,10 @@ TEST_F(ListOperationsTests, BasicTest_Write_1) { TEST_F(ListOperationsTests, BasicTest_Stack_1) { NDArrayList list(10); - auto exp = NDArrayFactory::create('c', {10, 100}); + auto exp = NDArrayFactory::create( {10, 100}); auto tads = exp.allTensorsAlongDimension({1}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create('c', {100}); + auto row = NDArrayFactory::create( {100}); row.assign((double) e); list.write(e, new NDArray(row)); tads.at(e)->assign(row); @@ -79,10 +79,10 @@ TEST_F(ListOperationsTests, BasicTest_Stack_1) { TEST_F(ListOperationsTests, BasicTest_UnStackList_1) { NDArrayList list(0, true); - auto x = NDArrayFactory::create('c', {10, 100}); + auto x = NDArrayFactory::create( {10, 100}); auto tads = x.allTensorsAlongDimension({1}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create('c', {100}); + auto row = NDArrayFactory::create( {100}); row.assign((double) e); //list.write(e, row); tads.at(e)->assign(row); @@ -111,10 +111,10 @@ TEST_F(ListOperationsTests, BasicTest_UnStackList_1) { //TEST_F(ListOperationsTests, BasicTest_UnStackList_2) { //// NDArrayList list(0, true); -// auto x = NDArrayFactory::create('c', {10, 100}); +// auto x = NDArrayFactory::create( {10, 100}); // auto tads = x.allTensorsAlongDimension({1}); // for (int e = 0; e < 10; e++) { -// auto row = NDArrayFactory::create_('c', {100}); +// auto row = NDArrayFactory::create_( {100}); // row->assign((double) e); // //list.write(e, row); // tads->at(e)->assign(row); @@ -144,11 +144,11 @@ TEST_F(ListOperationsTests, BasicTest_UnStackList_1) { TEST_F(ListOperationsTests, BasicTest_Read_1) { NDArrayList list(10); - auto exp = NDArrayFactory::create('c', {1, 100}); + auto exp = NDArrayFactory::create( {1, 100}); exp.assign(4.0f); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create('c', {1, 100}); + auto row = NDArrayFactory::create( {1, 100}); row.assign((double) e); list.write(e, new NDArray(row)); @@ -171,10 +171,10 @@ TEST_F(ListOperationsTests, BasicTest_Read_1) { TEST_F(ListOperationsTests, BasicTest_Pick_1) { NDArrayList list(10); - auto exp = NDArrayFactory::create('c', {4, 100}); + auto exp = NDArrayFactory::create( {4, 100}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create('c', {100}); + auto row = NDArrayFactory::create( {100}); row.assign((double) e); list.write(e, new NDArray(row)); @@ -205,7 +205,7 @@ TEST_F(ListOperationsTests, BasicTest_Size_1) { NDArrayList list(10); auto exp = NDArrayFactory::create(10); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_('c', {100}); + auto row = NDArrayFactory::create_( {100}); row.assign((double) e); list.write(e, new NDArray(row)); } @@ -225,7 +225,7 @@ TEST_F(ListOperationsTests, BasicTest_Size_1) { } TEST_F(ListOperationsTests, BasicTest_Create_1) { - auto matrix = NDArrayFactory::create('c', {3, 2}); + auto matrix = NDArrayFactory::create( {3, 2}); matrix.linspace(1); sd::ops::create_list op; @@ -243,13 +243,13 @@ TEST_F(ListOperationsTests, BasicTest_Create_1) { TEST_F(ListOperationsTests, BasicTest_Split_1) { NDArrayList list(0, true); - auto exp0 = NDArrayFactory::create('c', {2, 5}); - auto exp1 = NDArrayFactory::create('c', {3, 5}); - auto exp2 = NDArrayFactory::create('c', {5, 5}); + auto exp0 = NDArrayFactory::create( {2, 5}); + auto exp1 = NDArrayFactory::create( {3, 5}); + auto exp2 = NDArrayFactory::create( {5, 5}); - auto matrix = NDArrayFactory::create('c', {10, 5}); + auto matrix = NDArrayFactory::create( {10, 5}); - auto lengths = NDArrayFactory::create('c', {3}); + auto lengths = NDArrayFactory::create( {3}); lengths.p(0, 2); lengths.p(1, 3); lengths.p(2, 5); @@ -264,7 +264,7 @@ TEST_F(ListOperationsTests, BasicTest_Split_1) { int cnt1 = 0; int cnt2 = 0; for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create('c', {5}); + auto row = NDArrayFactory::create( {5}); row.assign((double) e); tads.at(e)->assign(row); @@ -300,14 +300,14 @@ TEST_F(ListOperationsTests, BasicTest_Scatter_1) { NDArrayList list(0, true); auto s = NDArrayFactory::create(0.0); - auto matrix = NDArrayFactory::create('c', {10, 5}); + auto matrix = NDArrayFactory::create( {10, 5}); auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create('c', {1, 5}); + auto row = NDArrayFactory::create( {1, 5}); row.assign((double) e); tads.at(e)->assign(row); } - auto indices = NDArrayFactory::create('c', {1, 10}); + auto indices = NDArrayFactory::create( {1, 10}); for (int e = 0; e < matrix.rows(); e++) indices.p(e, 9 - e); @@ -360,19 +360,19 @@ TEST_F(ListOperationsTests, BasicTest_Clone_1) { TEST_F(ListOperationsTests, BasicTest_Gather_1) { NDArrayList list(0, true); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create('c', {3}); + auto row = NDArrayFactory::create( {3}); row.assign((double) e); list.write(e, new NDArray(row)); } - auto exp = NDArrayFactory::create('c', {10, 3}); + auto exp = NDArrayFactory::create( {10, 3}); auto tads = exp.allTensorsAlongDimension({1}); for (int e = 0; e < 10; e++) { auto tad = tads.at(9 - e); tad->assign(e); } - auto indices = NDArrayFactory::create('c', {1, 10}); + auto indices = NDArrayFactory::create( {1, 10}); indices.linspace(9, -1); sd::ops::gather_list op; @@ -396,20 +396,20 @@ TEST_F(ListOperationsTests, BasicTest_Gather_1) { TEST_F(ListOperationsTests, GraphTests_Sequential_1) { Graph graph; - auto matrix = NDArrayFactory::create('c', {3, 3}); + auto matrix = NDArrayFactory::create( {3, 3}); auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { tads.at(e)->assign((float) (e+1)); } - auto exp = NDArrayFactory::create('c', {3, 3}); + auto exp = NDArrayFactory::create( {3, 3}); auto tadsExp = exp.allTensorsAlongDimension({1}); tadsExp.at(0)->assign(0.f); tadsExp.at(1)->assign(-1.f); tadsExp.at(2)->assign(-2.f); - auto indices = NDArrayFactory::valueOf({3}, 1, 'c'); + auto indices = NDArrayFactory::valueOf({3}, 1); //indices->linspace(0); @@ -526,20 +526,20 @@ TEST_F(ListOperationsTests, GraphTests_Sequential_2) { Graph graph; auto scalar = NDArrayFactory::create(0.0f); - auto matrix = NDArrayFactory::create('c', {3, 3}); + auto matrix = NDArrayFactory::create( {3, 3}); auto tads = matrix.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { tads.at(e)->assign((float) (e+1)); } - auto exp = NDArrayFactory::create('c', {3, 3}); + auto exp = NDArrayFactory::create( {3, 3}); auto tadsExp = exp.allTensorsAlongDimension({1}); tadsExp.at(0)->assign(0.f); tadsExp.at(1)->assign(-1.f); tadsExp.at(2)->assign(-2.f); //auto indices = NDArray::valueOf({1, 3}, 1.0f, 'c'); - auto indices = NDArrayFactory::create('c', {1, 3}); + auto indices = NDArrayFactory::create( {1, 3}); indices.linspace(0); From 9c356d6c499a91d3a1625d8d9025690ee3d34f78 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 10:03:25 +0300 Subject: [PATCH 67/99] Fixed tests with new factory create methods. Signed-off-by: shugeo --- .../layers_tests/ListOperationsTests.cpp | 19 +- .../layers_tests/MultiDataTypeTests.cpp | 52 +-- .../layers_tests/MultiDeviceTests.cpp | 5 +- .../layers_tests/NDArrayListTests.cpp | 10 +- .../tests_cpu/layers_tests/NDArrayTests.cpp | 438 +++++++++--------- .../tests_cpu/layers_tests/NDArrayTests2.cpp | 287 ++++++------ 6 files changed, 398 insertions(+), 413 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp b/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp index 801dbe07ae0a..fb3d82269be7 100644 --- a/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp @@ -151,8 +151,6 @@ TEST_F(ListOperationsTests, BasicTest_Read_1) { auto row = NDArrayFactory::create( {1, 100}); row.assign((double) e); list.write(e, new NDArray(row)); - - delete row; } sd::ops::read_list op; @@ -177,8 +175,6 @@ TEST_F(ListOperationsTests, BasicTest_Pick_1) { auto row = NDArrayFactory::create( {100}); row.assign((double) e); list.write(e, new NDArray(row)); - - delete row; } auto tads = exp.allTensorsAlongDimension({1}); @@ -197,7 +193,6 @@ TEST_F(ListOperationsTests, BasicTest_Pick_1) { ASSERT_TRUE(exp.isSameShape(z)); ASSERT_TRUE(exp.equalsTo(z)); - } @@ -205,7 +200,7 @@ TEST_F(ListOperationsTests, BasicTest_Size_1) { NDArrayList list(10); auto exp = NDArrayFactory::create(10); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create_( {100}); + auto row = NDArrayFactory::create( {100}); row.assign((double) e); list.write(e, new NDArray(row)); } @@ -274,8 +269,6 @@ TEST_F(ListOperationsTests, BasicTest_Split_1) { tads1.at(cnt1++)->assign(row); else tads2.at(cnt2++)->assign(row); - - delete row; } sd::ops::split_list op; @@ -414,8 +407,8 @@ TEST_F(ListOperationsTests, GraphTests_Sequential_1) { auto variableSpace = graph.getVariableSpace(); - variableSpace->putVariable(-1, matrix); - variableSpace->putVariable(-2, indices); + variableSpace->putVariable(-1, new NDArray(matrix)); + variableSpace->putVariable(-2, new NDArray(indices)); auto nodeA = new Node(OpType_TRANSFORM_SAME, 0, 1, {-1}); @@ -544,9 +537,9 @@ TEST_F(ListOperationsTests, GraphTests_Sequential_2) { auto variableSpace = graph.getVariableSpace(); - variableSpace->putVariable(-1, matrix); - variableSpace->putVariable(-2, indices); - variableSpace->putVariable(-3, scalar); + variableSpace->putVariable(-1, new NDArray(matrix)); + variableSpace->putVariable(-2, new NDArray(indices)); + variableSpace->putVariable(-3, new NDArray(scalar)); auto nodeA = new Node(OpType_TRANSFORM_SAME, 0, 1, {-1}); diff --git a/libnd4j/tests_cpu/layers_tests/MultiDataTypeTests.cpp b/libnd4j/tests_cpu/layers_tests/MultiDataTypeTests.cpp index 80302921617e..5487f5d4d678 100644 --- a/libnd4j/tests_cpu/layers_tests/MultiDataTypeTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/MultiDataTypeTests.cpp @@ -59,9 +59,9 @@ TEST_F(MultiDataTypeTests, Basic_Test_1) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto x = NDArrayFactory::create('c', {2, 3}, {0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f}); - auto y = NDArrayFactory::create('c', {2, 3}, {0.0, 1.0, 2.0, 3.0, 4.0, 5.0}); - auto e = NDArrayFactory::create('c', {2, 3}, {0.0f, 2.0f, 4.0f, 6.0f, 8.0f, 10.0f}); + auto x = NDArrayFactory::create( {2, 3}, {0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f}); + auto y = NDArrayFactory::create( {2, 3}, {0.0, 1.0, 2.0, 3.0, 4.0, 5.0}); + auto e = NDArrayFactory::create( {2, 3}, {0.0f, 2.0f, 4.0f, 6.0f, 8.0f, 10.0f}); auto z = x + y; @@ -73,9 +73,9 @@ TEST_F(MultiDataTypeTests, Basic_Test_2) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto x = NDArrayFactory::create('c', {2, 3}, {0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f}); + auto x = NDArrayFactory::create( {2, 3}, {0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f}); auto y = NDArrayFactory::create(2.0); - auto e = NDArrayFactory::create('c', {2, 3}, {0.0f, 2.0f, 4.0f, 6.0f, 8.0f, 10.0f}); + auto e = NDArrayFactory::create( {2, 3}, {0.0f, 2.0f, 4.0f, 6.0f, 8.0f, 10.0f}); auto z = x * y; @@ -87,9 +87,9 @@ TEST_F(MultiDataTypeTests, Basic_Test_3) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto x = NDArrayFactory::create('c', {2, 3}, {0, 1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3}, {0, 1, 2, 3, 4, 5}); auto y = NDArrayFactory::create(2.0); - auto e = NDArrayFactory::create('c', {2, 3}, {0.0f, 2.0f, 4.0f, 6.0f, 8.0f, 10.0f}); + auto e = NDArrayFactory::create( {2, 3}, {0.0f, 2.0f, 4.0f, 6.0f, 8.0f, 10.0f}); auto z = x * y; @@ -101,9 +101,9 @@ TEST_F(MultiDataTypeTests, Basic_Test_4) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto x = NDArrayFactory::create('c', {2, 3}, {0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f}); + auto x = NDArrayFactory::create( {2, 3}, {0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f}); auto y = NDArrayFactory::create(2.0); - auto e = NDArrayFactory::create('c', {2, 3}, {0.0f, 2.0f, 4.0f, 6.0f, 8.0f, 10.0f}); + auto e = NDArrayFactory::create( {2, 3}, {0.0f, 2.0f, 4.0f, 6.0f, 8.0f, 10.0f}); auto z = x * y; @@ -115,9 +115,9 @@ TEST_F(MultiDataTypeTests, Basic_Test_5) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto x = NDArrayFactory::create('c', {2, 3}, {0, 1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3}, {0, 1, 2, 3, 4, 5}); auto y = NDArrayFactory::create(2); - auto e = NDArrayFactory::create('c', {2, 3}, {0, 2, 4, 6, 8, 10}); + auto e = NDArrayFactory::create( {2, 3}, {0, 2, 4, 6, 8, 10}); auto z = x * y; @@ -128,9 +128,9 @@ TEST_F(MultiDataTypeTests, Basic_Test_7) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto x = NDArrayFactory::create('c', {2, 3}, {0, 1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {2, 3}, {0.f, 1.f, 2.f, 3.f, 4.f, 5.f}); - auto e = NDArrayFactory::create('c', {2, 3}, {0.f, 2.f, 4.f, 6.f, 8.f, 10.f}); + auto x = NDArrayFactory::create( {2, 3}, {0, 1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {2, 3}, {0.f, 1.f, 2.f, 3.f, 4.f, 5.f}); + auto e = NDArrayFactory::create( {2, 3}, {0.f, 2.f, 4.f, 6.f, 8.f, 10.f}); sd::ops::add op; auto result = op.evaluate({&x, &y}); @@ -146,9 +146,9 @@ TEST_F(MultiDataTypeTests, Basic_Test_6) { if (!Environment::getInstance()->isExperimentalBuild()) return; - auto x = NDArrayFactory::create('c', {2, 3}, {0, 1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3}, {0, 1, 2, 3, 4, 5}); auto y = NDArrayFactory::create(2); - auto e = NDArrayFactory::create('c', {2, 3}, {0, 2, 4, 6, 8, 10}); + auto e = NDArrayFactory::create( {2, 3}, {0, 2, 4, 6, 8, 10}); auto z = x * y; @@ -1852,11 +1852,11 @@ TEST_F(MultiDataTypeTests, assign_test2) { } TEST_F(MultiDataTypeTests, Test_Cast_1) { - auto first = NDArrayFactory::create('c', {10}); - auto asBool = NDArrayFactory::create('c', {10}); - auto _not = NDArrayFactory::create('c', {10}); - auto asFloat = NDArrayFactory::create('c', {10}); - auto exp = NDArrayFactory::create('c', {10}); + auto first = NDArrayFactory::vector(10); + auto asBool = NDArrayFactory::vector(10); + auto _not = NDArrayFactory::vector(10); + auto asFloat = NDArrayFactory::vector(10); + auto exp = NDArrayFactory::vector(10); exp.assign(0.0f); asBool.assign(first); @@ -1873,11 +1873,11 @@ TEST_F(MultiDataTypeTests, Test_Cast_1) { } TEST_F(MultiDataTypeTests, Test_Cast_2) { - auto first = NDArrayFactory::create('c', {10}); - auto asBool = NDArrayFactory::create('c', {10}); - auto _not = NDArrayFactory::create('c', {10}); - auto asFloat = NDArrayFactory::create('c', {10}); - auto exp = NDArrayFactory::create('c', {10}); + auto first = NDArrayFactory::vector(10); + auto asBool = NDArrayFactory::vector(10); + auto _not = NDArrayFactory::vector(10); + auto asFloat = NDArrayFactory::vector(10); + auto exp = NDArrayFactory::vector(10); exp.assign(1.0f); asBool.assign(first); diff --git a/libnd4j/tests_cpu/layers_tests/MultiDeviceTests.cpp b/libnd4j/tests_cpu/layers_tests/MultiDeviceTests.cpp index 063f653cc20c..30a25022b211 100644 --- a/libnd4j/tests_cpu/layers_tests/MultiDeviceTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/MultiDeviceTests.cpp @@ -41,7 +41,7 @@ void createArrays(int limit, std::vector &arrays) { for (int e = 0; e < limit; e++) { auto value = deviceId * limit + e; - arrays[value] = NDArrayFactory::create('c', {10}); + arrays[value] = NDArrayFactory::vector(10); // create a vector with 10 float values arrays[value].assign(value); //nd4j_printf("device_%i; value: [%i]; mean: [%f]\n", deviceId, value, arrays[value]->meanNumber().e(0)); } @@ -62,7 +62,6 @@ TEST_F(MultiDeviceTests, test_multi_device_migration_1) { // at this moment all arrays are build, so we can test migration for (int e = 0; e < arrays.size(); e++) { - ASSERT_NEAR((float) e, arrays[e]->meanNumber().e(0), 1e-5f); - delete arrays[e]; + ASSERT_NEAR((float) e, arrays[e].meanNumber().e(0), 1e-5f); } } diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayListTests.cpp b/libnd4j/tests_cpu/layers_tests/NDArrayListTests.cpp index 2de3e4651377..7fa89e18026f 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayListTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/NDArrayListTests.cpp @@ -33,8 +33,8 @@ class NDArrayListTests : public testing::Test { TEST_F(NDArrayListTests, BasicTests_1) { NDArrayList list(false); - auto x = NDArrayFactory::create('c', {1, 10}); - auto y = NDArrayFactory::create('c', {1, 10}); + auto x = NDArrayFactory::create( {1, 10}); + auto y = NDArrayFactory::create( {1, 10}); ASSERT_EQ(ND4J_STATUS_OK, list.write(1, new NDArray(x.dup()))); @@ -44,8 +44,8 @@ TEST_F(NDArrayListTests, BasicTests_1) { TEST_F(NDArrayListTests, BasicTests_2) { NDArrayList list(false); - auto x = NDArrayFactory::create('c', {1, 10}); - auto y = NDArrayFactory::create('c', {1, 7}); + auto x = NDArrayFactory::create( {1, 10}); + auto y = NDArrayFactory::create( {1, 7}); ASSERT_EQ(ND4J_STATUS_OK, list.write(1, new NDArray(x.dup()))); @@ -54,7 +54,7 @@ TEST_F(NDArrayListTests, BasicTests_2) { TEST_F(NDArrayListTests, Test_Stack_UnStack_1) { - auto input = NDArrayFactory::create('c', {10, 10}); + auto input = NDArrayFactory::create( {10, 10}); input.linspace(1); NDArrayList list(false); diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp b/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp index cf69e9af15d0..2651a3aa112f 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp @@ -67,7 +67,7 @@ TEST_F(NDArrayTest, TestDup1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, AssignScalar1) { - auto array = NDArrayFactory::create('c', {1, 10}); + auto array = NDArrayFactory::create( {1, 10}); array.assign(2.0f); @@ -151,12 +151,12 @@ TEST_F(NDArrayTest, TestGetScalar1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, EqualityTest1) { - auto arrayA = NDArrayFactory::create('f', {3, 5}); - auto arrayB = NDArrayFactory::create('f', {3, 5}); - auto arrayC = NDArrayFactory::create('f', {3, 5}); + auto arrayA = NDArrayFactory::create( {3, 5}, {}, sd::kArrayOrderFortran); + auto arrayB = NDArrayFactory::create( {3, 5}, {}, sd::kArrayOrderFortran); + auto arrayC = NDArrayFactory::create( {3, 5}, {}, sd::kArrayOrderFortran); - auto arrayD = NDArrayFactory::create('f', {2, 4}); - auto arrayE = NDArrayFactory::create('f', {1, 15}); + auto arrayD = NDArrayFactory::create( {2, 4}, {}, sd::kArrayOrderFortran); + auto arrayE = NDArrayFactory::create( {1, 15}, {}, sd::kArrayOrderFortran); for (int i = 0; i < arrayA.rows(); i++) { for (int k = 0; k < arrayA.columns(); k++) { @@ -191,37 +191,33 @@ TEST_F(NDArrayTest, EqualityTest1) { } TEST_F(NDArrayTest, TestTad1) { - auto array = NDArrayFactory::create_('c', {3, 3}); + auto array = NDArrayFactory::create( {3, 3}); - auto row2 = (*array)(1, {0}); + auto row2 = array(1, {0}); ASSERT_TRUE(row2.isView()); ASSERT_EQ(3, row2.lengthOf()); row2.assign(1.0); - ASSERT_NEAR(3.0f, array->sumNumber().e(0), 1e-5); - delete array; + ASSERT_NEAR(3.0f, array.sumNumber().e(0), 1e-5); } ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestTad2) { - auto array = NDArrayFactory::create_('c', {3, 3}); - - ASSERT_EQ(3, array->tensorsAlongDimension({1})); + auto array = NDArrayFactory::create( {3, 3}); - delete array; + ASSERT_EQ(3, array.tensorsAlongDimension({1})); } ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestTad3) { - auto array = NDArrayFactory::create_('c', {4, 3}); + auto array = NDArrayFactory::create( {4, 3}); - auto row2 = (*array)(1, {0}); + auto row2 = array(1, {0}); ASSERT_TRUE(row2.isView()); ASSERT_EQ(3, row2.lengthOf()); - delete array; } @@ -244,7 +240,7 @@ TEST_F(NDArrayTest, TestPermuteReshape1) { TEST_F(NDArrayTest, TestPermuteReshape2) { - auto array = NDArrayFactory::create('c', {2, 2, 5, 5, 6, 6}); + auto array = NDArrayFactory::create( {2, 2, 5, 5, 6, 6}); int pShape[] = {6, 2, 2, 6, 6, 5, 5, 900, 1800, 6, 1, 180, 36, 8192, 0, 99}; int rShape[] = {3, 2, 72, 25, 1800, 25, 1, 8192, 1, 99}; @@ -294,7 +290,7 @@ TEST_F(NDArrayTest, TestRepeat1) { TEST_F(NDArrayTest, TestRepeat2) { auto eBuffer = new float[8] {1.0,2.0,1.0,2.0,3.0,4.0,3.0,4.0}; auto eShape = new Nd4jLong[8]{2, 4, 2, 2, 1, 8192, 1, 99}; - auto array = NDArrayFactory::create('c', {2, 2}); + auto array = NDArrayFactory::create( {2, 2}); auto exp = new NDArray(eBuffer, eShape); for (int e = 0; e < array.lengthOf(); e++) array.p(e, e + 1); @@ -321,10 +317,10 @@ TEST_F(NDArrayTest, TestRepeat2) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestIndexedPut1) { - auto array = NDArrayFactory::create('f', {3, 3}); + auto array = NDArrayFactory::create( {3, 3}, {}, sd::kArrayOrderFortran); array.p(4, 1.0f); - ASSERT_EQ(1.0f, array->e(4)); + ASSERT_EQ(1.0f, array.e(4)); //array->printBuffer(); } @@ -348,7 +344,7 @@ TEST_F(NDArrayTest, TestAddiRowVector) { float *e = new float[4] {2, 3, 4, 5}; auto array = new NDArray(c, cShape); - auto row = NDArrayFactory::create('c', {1, 2}); + auto row = NDArrayFactory::create( {1, 2}); auto exp = new NDArray(e, cShape); row.assign(1.0f); @@ -399,8 +395,8 @@ TEST_F(NDArrayTest, TestMuliColumnVector) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test3D_1) { - auto arrayC = NDArrayFactory::create('c', {2, 5, 10}); - auto arrayF = NDArrayFactory::create('f', {2, 5, 10}); + auto arrayC = NDArrayFactory::create( {2, 5, 10}); + auto arrayF = NDArrayFactory::create( {2, 5, 10}, {}, sd::kArrayOrderFortran); ASSERT_EQ(100, arrayC.lengthOf()); ASSERT_EQ(100, arrayF.lengthOf()); @@ -412,7 +408,7 @@ TEST_F(NDArrayTest, Test3D_1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestTranspose1) { - auto arrayC = NDArrayFactory::create('c', {2, 5, 10}); + auto arrayC = NDArrayFactory::create( {2, 5, 10}); auto expC = new Nd4jLong[10] {3, 2, 5, 10, 50, 10, 1, 16384, 1, 99}; auto expT = new Nd4jLong[10] {3, 10, 5, 2, 1, 10, 50, 16384, 1, 102}; @@ -430,7 +426,7 @@ TEST_F(NDArrayTest, TestTranspose1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestTranspose2) { - auto arrayC = NDArrayFactory::create('c', {2, 5, 10}); + auto arrayC = NDArrayFactory::create( {2, 5, 10}); auto expC = new Nd4jLong[10] {3, 2, 5, 10, 50, 10, 1, 16384, 1, 99}; auto expT = new Nd4jLong[10] {3, 10, 5, 2, 1, 10, 50, 16384, 1, 102}; @@ -586,7 +582,7 @@ TEST_F(NDArrayTest, TestVectors1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestChecks1) { - auto array = NDArrayFactory::create('c', {1, 5}); + auto array = NDArrayFactory::create( {1, 5}); ASSERT_FALSE(array.isMatrix()); ASSERT_FALSE(array.isScalar()); @@ -597,7 +593,7 @@ TEST_F(NDArrayTest, TestChecks1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestChecks2) { - auto array = NDArrayFactory::create('c', {5, 5}); + auto array = NDArrayFactory::create( {5, 5}); ASSERT_TRUE(array.isMatrix()); ASSERT_FALSE(array.isScalar()); @@ -608,7 +604,7 @@ TEST_F(NDArrayTest, TestChecks2) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestChecks3) { - auto array = NDArrayFactory::create('c', {5, 1}); + auto array = NDArrayFactory::create( {5, 1}); ASSERT_FALSE(array.isMatrix()); ASSERT_FALSE(array.isScalar()); @@ -619,7 +615,7 @@ TEST_F(NDArrayTest, TestChecks3) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestChecks4) { - auto array = NDArrayFactory::create('c', {1, 1}); + auto array = NDArrayFactory::create( {1, 1}); ASSERT_FALSE(array.isMatrix()); ASSERT_FALSE(array.isVector()); @@ -629,7 +625,7 @@ TEST_F(NDArrayTest, TestChecks4) { } TEST_F(NDArrayTest, TestReductionAny1) { - auto array = NDArrayFactory::create('c', {2, 2}); + auto array = NDArrayFactory::create( {2, 2}); array.p(0, 1.0f); array.p(1, 1.0f); array.p(2, 0.0f); @@ -651,7 +647,7 @@ TEST_F(NDArrayTest, TestReductionAny1) { } TEST_F(NDArrayTest, TestReductionAll1) { - auto array = NDArrayFactory::create('c', {2, 2}); + auto array = NDArrayFactory::create( {2, 2}); array.p(0, 1.0f); array.p(1, 1.0f); array.p(2, 0.0f); @@ -672,7 +668,7 @@ TEST_F(NDArrayTest, TestReductionAll1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestChecks5) { - auto array = NDArrayFactory::create('c', {5, 5, 5}); + auto array = NDArrayFactory::create( {5, 5, 5}); ASSERT_FALSE(array.isMatrix()); ASSERT_FALSE(array.isVector()); @@ -739,8 +735,8 @@ TEST_F(NDArrayTest, TestTile4) { float xBuff[] = {1,2,3,4,5,6}; float expBuff[] = {1.f,2.f, 1.f,2.f, 3.f,4.f, 3.f,4.f, 5.f,6.f, 5.f,6.f}; - auto x = NDArrayFactory::create(xBuff, 'c', {3,1,2}); - auto exp = NDArrayFactory::create(expBuff, 'c', {3,2,2}); + auto x = NDArrayFactory::create(xBuff, {3,1,2}); + auto exp = NDArrayFactory::create(expBuff, {3,2,2}); auto result = x.tile({2,1}); @@ -754,8 +750,8 @@ TEST_F(NDArrayTest, TestTile5) { float xBuff[] = {1,2,3,4,5,6,7,8,9,10,11,12}; float expBuff[] = {1.f, 2.f, 3.f, 4.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 5.f, 6.f, 7.f, 8.f, 9.f,10.f, 11.f,12.f, 9.f,10.f, 11.f,12.f}; - auto x = NDArrayFactory::create(xBuff, 'c', {3,2,2}); - auto exp = NDArrayFactory::create(expBuff, 'c', {3,4,2}); + auto x = NDArrayFactory::create(xBuff, {3,2,2}); + auto exp = NDArrayFactory::create(expBuff, {3,4,2}); auto result = x.tile({2,1}); @@ -768,8 +764,8 @@ TEST_F(NDArrayTest, TestTile6) { double expBuff[] = {10.,11., 10.,11., 10.,11., 10.,11., 12.,13., 12.,13., 12.,13., 12.,13., 14.,15., 14.,15., 14.,15., 14.,15.}; - auto x = NDArrayFactory::create('c', {3, 1, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 2}); + auto x = NDArrayFactory::create( {3, 1, 2}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 2}); x.linspace(10); @@ -806,8 +802,8 @@ TEST_F(NDArrayTest, TestMmulHelper1) { TEST_F(NDArrayTest, TestPermuteReshapeMmul1) { - auto x = NDArrayFactory::create('c', {6, 3}); - auto y = NDArrayFactory::create('c', {3, 6}); + auto x = NDArrayFactory::create( {6, 3}); + auto y = NDArrayFactory::create( {3, 6}); Nd4jLong _expS[] = {2, 3, 3, 1, 3, 8192, 1, 102}; float _expB[] = {231.0f, 252.0f, 273.0f, 537.0f, 594.0f, 651.0f, 843.0f, 936.0f, 1029.0f}; @@ -831,8 +827,8 @@ TEST_F(NDArrayTest, TestPermuteReshapeMmul1) { } TEST_F(NDArrayTest, TestPermuteReshapeMmul2) { - auto x = NDArrayFactory::create('c', {6, 3}); - auto y = NDArrayFactory::create('c', {3, 6}); + auto x = NDArrayFactory::create( {6, 3}); + auto y = NDArrayFactory::create( {3, 6}); Nd4jLong _expS[] = {2, 3, 3, 1, 3, 8192, 1, 102}; float _expB[] = {231.0f, 252.0f, 273.0f, 537.0f, 594.0f, 651.0f, 843.0f, 936.0f, 1029.0f}; @@ -862,8 +858,8 @@ TEST_F(NDArrayTest, TestPermuteReshapeMmul2) { TEST_F(NDArrayTest, TestPermuteReshapeMmul3) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 3, 2, 2}); - auto y = NDArrayFactory::create('c', {2, 3, 2 ,2}); + auto x = NDArrayFactory::create( {2, 2, 2, 3, 2, 2}); + auto y = NDArrayFactory::create( {2, 3, 2 ,2}); Nd4jLong _expS[] = {2, 8, 2, 1, 8, 8192, 1, 102}; float _expB[] = {1624.0f, 1858.0f, 2092.0f, 2326.0f, 5368.0f, 5602.0f, 5836.0f, 6070.0f, 4504.0f, 5170.0f, 5836.0f, 6502.0f, 15160.0f, 15826.0f, 16492.0f, 17158.0f}; @@ -890,8 +886,8 @@ TEST_F(NDArrayTest, TestPermuteReshapeMmul3) { } TEST_F(NDArrayTest, TestPermuteReshapeMmul4) { - auto x = NDArrayFactory::create('c', {2, 2, 2, 3, 2, 2}); - auto y = NDArrayFactory::create('c', {2, 3, 2 ,2}); + auto x = NDArrayFactory::create( {2, 2, 2, 3, 2, 2}); + auto y = NDArrayFactory::create( {2, 3, 2 ,2}); Nd4jLong _expS[] = {2, 8, 2, 1, 8, 8192, 1, 102}; float _expB[] = {1624.0f, 1858.0f, 2092.0f, 2326.0f, 5368.0f, 5602.0f, 5836.0f, 6070.0f, 4504.0f, 5170.0f, 5836.0f, 6502.0f, 15160.0f, 15826.0f, 16492.0f, 17158.0f}; @@ -932,7 +928,7 @@ TEST_F(NDArrayTest, TestMmulHelper2) { Nd4jLong yShape[8] = {2, 3, 1, 1, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape, sd::LaunchContext ::defaultContext(), true); - auto z = NDArrayFactory::create('f', {5, 1}); + auto z = NDArrayFactory::create( {5, 1}, {}, sd::kArrayOrderFortran); auto expBuffer = new float[5]{28.00f, 64.00f, 100.00f, 136.00f, 172.00f}; auto exp = new NDArray(expBuffer, z.shapeInfo(), sd::LaunchContext ::defaultContext(), true); @@ -960,7 +956,7 @@ TEST_F(NDArrayTest, TestMmulHelper3) { auto yShape = new Nd4jLong[8] {2, 3, 1, 1, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create('f', {5, 1}); + auto z = NDArrayFactory::create( {5, 1}, {}, sd::kArrayOrderFortran); auto expBuffer = new float[5]{92.00f, 104.00f, 116.00f, 128.00f, 140.00f}; auto exp = new NDArray(expBuffer, z.shapeInfo()); @@ -994,12 +990,12 @@ TEST_F(NDArrayTest, TestMmulHelper4) { auto yShape = new Nd4jLong[8] {2, 2, 3, 3, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create('f', {3, 3}); + auto z = NDArrayFactory::create( {3, 3}, {}, sd::kArrayOrderFortran); auto expBuffer = new float[9]{7.0f, 21.0f, 35.0f, 10.0f, 28.0f, 46.0f, 13.0f, 35.0f, 57.0f}; auto exp = new NDArray(expBuffer, z.shapeInfo()); - MmulHelper::mmul(x, y, z); + MmulHelper::mmul(x, y, &z); ASSERT_TRUE(z.equalsTo(exp)); delete[] expBuffer; @@ -1023,7 +1019,7 @@ TEST_F(NDArrayTest, TestMmulHelper5) { auto yShape = new Nd4jLong[8] {2, 2, 3, 3, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create('f', {3, 3}); + auto z = NDArrayFactory::create( {3, 3}, {}, sd::kArrayOrderFortran); auto expBuffer = new float[9]{7.0f, 14.0f, 21.0f, 12.0f, 21.0f, 30.0f, 17.0f, 28.0f, 39.0f}; auto exp = new NDArray(expBuffer, z.shapeInfo()); @@ -1052,7 +1048,7 @@ TEST_F(NDArrayTest, TestMmulHelper6) { auto yShape = new Nd4jLong[8] {2, 2, 3, 1, 2, 8192, 1, 102}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create('f', {3, 3}); + auto z = NDArrayFactory::create( {3, 3}, {}, sd::kArrayOrderFortran); auto expBuffer = new float[9]{39.0f, 54.0f, 69.0f, 9.0f, 18.0f, 27.0f, 9.0f, 12.0f, 15.0f}; auto exp = new NDArray(expBuffer, z.shapeInfo()); @@ -1069,7 +1065,6 @@ TEST_F(NDArrayTest, TestMmulHelper6) { delete x; delete y; - delete z; delete exp; } @@ -1083,7 +1078,7 @@ TEST_F(NDArrayTest, TestMmulHelper7) { auto yShape = new Nd4jLong[8] {2, 1, 5, 1, 1, 8192, 1, 99}; auto y = new NDArray(yBuffer, yShape); - auto z = NDArrayFactory::create('f', {1, 3}); + auto z = NDArrayFactory::create( {1, 3}, {}, sd::kArrayOrderFortran); auto expBuffer = new float[9]{110.00f, 260.00f, 410.00f}; auto exp = new NDArray(expBuffer, z.shapeInfo()); @@ -1109,11 +1104,11 @@ TEST_F(NDArrayTest, TestMmulHelper_ND_1) { Nd4jLong _expS[] = {3, 2, 3, 3, 9, 3, 1, 8192, 1, 99}; float _expB[] = {70.f, 80.f, 90.f, 158.f, 184.f, 210.f, 246.f, 288.f, 330.f, 1030.f, 1088.f, 1146.f, 1310.f, 1384.f, 1458.f, 1590.f, 1680.f, 1770.f}; - auto a = NDArrayFactory::create('c', {2, 3, 4}); + auto a = NDArrayFactory::create( {2, 3, 4}); for (int e = 0; e < a.lengthOf(); e++) a.p(e, e+1); - auto b = NDArrayFactory::create('c', {2, 4, 3}); + auto b = NDArrayFactory::create( {2, 4, 3}); for (int e = 0; e < b.lengthOf(); e++) b.p(e, e+1); @@ -1183,11 +1178,11 @@ TEST_F(NDArrayTest, TestMmulHelper_ND_2) { 1.17619750e+07f, 1.18560500e+07f, 1.18401000e+07f, 1.19348000e+07f, 1.19182250e+07f, 1.20135500e+07f, 1.19963500e+07f, 1.20923000e+07f, 1.20744750e+07f, 1.21710500e+07f, 1.21526000e+07f, 1.22498000e+07f, 1.22307250e+07f, 1.23285500e+07f, 1.23088500e+07f, 1.24073000e+07f, 1.23869750e+07f, 1.24860500e+07f, 1.24651000e+07f, 1.25648000e+07f, 1.25432250e+07f, 1.26435500e+07f, 1.26213500e+07f, 1.27223000e+07f, 1.26994750e+07f, 1.28010500e+07f, 1.27776000e+07f, 1.28798000e+07f, 1.28557250e+07f, 1.29585500e+07f, 1.29338500e+07f, 1.30373000e+07f, 1.30119750e+07f, 1.31160500e+07f, 1.30901000e+07f, 1.31948000e+07f, 1.31682250e+07f, 1.32735500e+07f, 1.32463500e+07f, 1.33523000e+07f, 1.33244750e+07f, 1.34310500e+07f, 1.34026000e+07f, 1.35098000e+07f, 1.34807250e+07f, 1.35885500e+07f, 1.35588500e+07f, 1.36673000e+07f, 1.36369750e+07f, 1.37460500e+07f, 1.37151000e+07f, 1.38248000e+07f, 1.37932250e+07f, 1.39035500e+07f, 1.38713500e+07f, 1.39823000e+07f, 1.39494750e+07f, 1.40610500e+07f, 1.40276000e+07f, 1.41398000e+07f, 1.41057250e+07f, 1.42185500e+07f, 1.41838500e+07f, 1.42973000e+07f, 1.42619750e+07f, 1.43760500e+07f, 1.43401000e+07f, 1.44548000e+07f, 1.44182250e+07f, 1.45335500e+07f, 1.44963500e+07f, 1.46123000e+07f, 1.45744750e+07f, 1.46910500e+07f, 1.46526000e+07f, 1.47698000e+07f, 1.47307250e+07f, 1.48485500e+07f, 1.48088500e+07f, 1.49273000e+07f, 1.48869750e+07f, 1.50060500e+07f, 1.49651000e+07f, 1.50848000e+07f, 1.50432250e+07f, 1.51635500e+07f, 1.51213500e+07f, 1.52423000e+07f, 1.51994750e+07f, 1.53210500e+07f, 1.52776000e+07f, 1.53998000e+07f, 1.53557250e+07f, 1.54785500e+07f, 1.54338500e+07f, 1.55573000e+07f, 1.55119750e+07f, 1.56360500e+07f, 1.55901000e+07f, 1.57148000e+07f, 1.56682250e+07f, 1.57935500e+07f, 1.57463500e+07f, 1.58723000e+07f, 1.58244750e+07f, 1.59510500e+07f, 1.59026000e+07f, 1.60298000e+07f, 1.59807250e+07f, 1.61085500e+07f, 1.60588500e+07f, 1.61873000e+07f, 1.61369750e+07f, 1.62660500e+07f, 1.62151000e+07f, 1.63448000e+07f, 1.62932250e+07f, 1.64235500e+07f, 1.63713500e+07f, 1.65023000e+07f, 1.64494750e+07f, 1.65810500e+07f, 1.65276000e+07f, 1.66598000e+07f, 1.66057250e+07f, 1.67385500e+07f, 1.66838500e+07f, 1.68173000e+07f, 1.67619750e+07f, 1.68960500e+07f, 1.68401000e+07f, 1.69748000e+07f, 1.69182250e+07f, 1.70535500e+07f, 1.69963500e+07f, 1.71323000e+07f, 1.70744750e+07f, 1.72110500e+07f, 1.71526000e+07f, 1.72898000e+07f, 1.72307250e+07f, 1.73685500e+07f, 1.73088500e+07f, 1.74473000e+07f, 1.73869750e+07f, 1.75260500e+07f, 1.74651000e+07f, 1.76048000e+07f, 1.75432250e+07f, 1.76835500e+07f, 2.46688500e+07f, 2.48098000e+07f, 2.47782250e+07f, 2.49198000e+07f, 2.48876000e+07f, 2.50298000e+07f, 2.49969750e+07f, 2.51398000e+07f, 2.51063500e+07f, 2.52498000e+07f, 2.52157250e+07f, 2.53598000e+07f, 2.53251000e+07f, 2.54698000e+07f, 2.54344750e+07f, 2.55798000e+07f, 2.55438500e+07f, 2.56898000e+07f, 2.56532250e+07f, 2.57998000e+07f, 2.57626000e+07f, 2.59098000e+07f, 2.58719750e+07f, 2.60198000e+07f, 2.59813500e+07f, 2.61298000e+07f, 2.60907250e+07f, 2.62398000e+07f, 2.62001000e+07f, 2.63498000e+07f, 2.63094750e+07f, 2.64598000e+07f, 2.64188500e+07f, 2.65698000e+07f, 2.65282250e+07f, 2.66798000e+07f, 2.66376000e+07f, 2.67898000e+07f, 2.67469750e+07f, 2.68998000e+07f, 2.68563500e+07f, 2.70098000e+07f, 2.69657250e+07f, 2.71198000e+07f, 2.70751000e+07f, 2.72298000e+07f, 2.71844750e+07f, 2.73398000e+07f, 2.72938500e+07f, 2.74498000e+07f, 2.74032250e+07f, 2.75598000e+07f, 2.75126000e+07f, 2.76698000e+07f, 2.76219750e+07f, 2.77798000e+07f, 2.77313500e+07f, 2.78898000e+07f, 2.78407250e+07f, 2.79998000e+07f, 2.79501000e+07f, 2.81098000e+07f, 2.80594750e+07f, 2.82198000e+07f, 2.81688500e+07f, 2.83298000e+07f, 2.82782250e+07f, 2.84398000e+07f, 2.83876000e+07f, 2.85498000e+07f, 2.84969750e+07f, 2.86598000e+07f, 2.86063500e+07f, 2.87698000e+07f, 2.87157250e+07f, 2.88798000e+07f, 2.88251000e+07f, 2.89898000e+07f, 2.89344750e+07f, 2.90998000e+07f, 2.90438500e+07f, 2.92098000e+07f, 2.91532250e+07f, 2.93198000e+07f, 2.92626000e+07f, 2.94298000e+07f, 2.93719750e+07f, 2.95398000e+07f, 2.94813500e+07f, 2.96498000e+07f, 2.95907250e+07f, 2.97598000e+07f, 2.97001000e+07f, 2.98698000e+07f, 2.98094750e+07f, 2.99798000e+07f, 2.99188500e+07f, 3.00898000e+07f, 3.00282250e+07f, 3.01998000e+07f, 3.01376000e+07f, 3.03098000e+07f, 3.02469750e+07f, 3.04198000e+07f, 3.03563500e+07f, 3.05298000e+07f, 3.04657250e+07f, 3.06398000e+07f, 3.05751000e+07f, 3.07498000e+07f, 3.06844750e+07f, 3.08598000e+07f, 3.07938500e+07f, 3.09698000e+07f, 3.09032250e+07f, 3.10798000e+07f, 3.10126000e+07f, 3.11898000e+07f, 3.11219750e+07f, 3.12998000e+07f, 3.12313500e+07f, 3.14098000e+07f, 3.13407250e+07f, 3.15198000e+07f, 3.14501000e+07f, 3.16298000e+07f, 3.15594750e+07f, 3.17398000e+07f, 3.16688500e+07f, 3.18498000e+07f, 3.17782250e+07f, 3.19598000e+07f, 3.18876000e+07f, 3.20698000e+07f, 3.19969750e+07f, 3.21798000e+07f, 3.21063500e+07f, 3.22898000e+07f, 3.22157250e+07f, 3.23998000e+07f, 3.23251000e+07f, 3.25098000e+07f, 3.24344750e+07f, 3.26198000e+07f, 3.25438500e+07f, 3.27298000e+07f, 3.26532250e+07f, 3.28398000e+07f, 3.27626000e+07f, 3.29498000e+07}; - auto a = NDArrayFactory::create('c', {2, 72, 25}); + auto a = NDArrayFactory::create( {2, 72, 25}); for (int e = 0; e < a.lengthOf(); e++) a.p(e, e+1); - auto b = NDArrayFactory::create('c', {2, 25, 2}); + auto b = NDArrayFactory::create( {2, 25, 2}); for (int e = 0; e < b.lengthOf(); e++) b.p(e, e+1); @@ -1203,7 +1198,7 @@ TEST_F(NDArrayTest, TestMmulHelper_ND_2) { TEST_F(NDArrayTest, TestNegSize1) { - auto array = NDArrayFactory::create('c', {2, 5, 7}); + auto array = NDArrayFactory::create( {2, 5, 7}); ASSERT_EQ(7, array.sizeAt(-1)); ASSERT_EQ(5, array.sizeAt(-2)); @@ -1241,10 +1236,10 @@ TEST_F(NDArrayTest, Permute2) { } TEST_F(NDArrayTest, RSubScalarTest1) { - auto array = NDArrayFactory::create('c', {1, 4}); + auto array = NDArrayFactory::create( {1, 4}); array.assign(2.0); - auto result = NDArrayFactory::create('c', {1, 4}); + auto result = NDArrayFactory::create( {1, 4}); array.applyScalar(scalar::ReverseSubtract, 1.0, result); @@ -1253,7 +1248,7 @@ TEST_F(NDArrayTest, RSubScalarTest1) { TEST_F(NDArrayTest, BroadcastOpsTest1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto row = NDArrayFactory::linspace(1.0f, 5.0f, 5); float *brow = new float[5]{1,2,3,4,5}; auto bshape = new Nd4jLong[8]{2, 1, 5, 1, 1, 8192, 1, 99}; @@ -1262,10 +1257,10 @@ TEST_F(NDArrayTest, BroadcastOpsTest1) { NDArray expRow(brow, bshape); NDArray exp(ebuf, eshape); - ASSERT_TRUE(row->equalsTo(&expRow)); + ASSERT_TRUE(row.equalsTo(&expRow)); - x.applyBroadcast(broadcast::Add, {1}, *row, x); + x.applyBroadcast(broadcast::Add, {1}, row, x); //x.printBuffer("Result"); @@ -1275,11 +1270,10 @@ TEST_F(NDArrayTest, BroadcastOpsTest1) { delete[] bshape; delete[] ebuf; delete[] eshape; - delete row; } TEST_F(NDArrayTest, TestIndexedPut2) { - auto x = NDArrayFactory::create('f', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}, {}, sd::kArrayOrderFortran); //x.printShapeInfo("x shape"); x.p(1, 1.0f); @@ -1288,7 +1282,7 @@ TEST_F(NDArrayTest, TestIndexedPut2) { } TEST_F(NDArrayTest, TestIndexedPut3) { - auto x = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}); x.p(1, 1.0f); //x.printBuffer("after"); @@ -1296,7 +1290,7 @@ TEST_F(NDArrayTest, TestIndexedPut3) { } TEST_F(NDArrayTest, TestIndexedPut4) { - auto x = NDArrayFactory::create('f', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}, {}, sd::kArrayOrderFortran); x.p(0, 1, 1.0f); //x.printBuffer("after"); @@ -1305,7 +1299,7 @@ TEST_F(NDArrayTest, TestIndexedPut4) { TEST_F(NDArrayTest, TestIndexedPut5) { - auto x = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}); x.p(0, 1, 1.0f); //x.printBuffer("after"); @@ -1313,7 +1307,7 @@ TEST_F(NDArrayTest, TestIndexedPut5) { } TEST_F(NDArrayTest, TestAllTensors1) { - auto matrix = NDArrayFactory::create('c', {3, 5}); + auto matrix = NDArrayFactory::create( {3, 5}); ResultSet rows = matrix.allTensorsAlongDimension({1}); @@ -1322,7 +1316,7 @@ TEST_F(NDArrayTest, TestAllTensors1) { TEST_F(NDArrayTest, TestIndexing1) { - auto matrix = NDArrayFactory::create('c', {5, 5}); + auto matrix = NDArrayFactory::create( {5, 5}); for (int e = 0; e < matrix.lengthOf(); e++) matrix.p(e, (float) e); @@ -1336,7 +1330,7 @@ TEST_F(NDArrayTest, TestIndexing1) { TEST_F(NDArrayTest, TestIndexing2) { - auto matrix = NDArrayFactory::create('c', {2, 5, 4, 4}); + auto matrix = NDArrayFactory::create( {2, 5, 4, 4}); matrix.linspace(0); auto sub = matrix({0,0, 2,4, 0,0, 0,0}, true); @@ -1352,7 +1346,7 @@ TEST_F(NDArrayTest, TestIndexing2) { } TEST_F(NDArrayTest, TestIndexing3) { - auto matrix = NDArrayFactory::create('c', {5, 5}); + auto matrix = NDArrayFactory::create( {5, 5}); matrix.linspace(0); auto sub = matrix({2,4, 0,0}); @@ -1365,7 +1359,7 @@ TEST_F(NDArrayTest, TestIndexing3) { TEST_F(NDArrayTest, TestIndexing4) { - auto matrix = NDArrayFactory::create('c', {2, 5, 4, 4}); + auto matrix = NDArrayFactory::create( {2, 5, 4, 4}); matrix.linspace(0); auto sub = matrix({0,0, 2,4, 0,0, 0,0}); @@ -1382,7 +1376,7 @@ TEST_F(NDArrayTest, TestIndexing4) { } TEST_F(NDArrayTest, TestReshapeNegative1) { - auto array = NDArrayFactory::create('c', {2, 3, 4, 64}); + auto array = NDArrayFactory::create( {2, 3, 4, 64}); array.reshapei('c', {-1, 64}); @@ -1391,7 +1385,7 @@ TEST_F(NDArrayTest, TestReshapeNegative1) { } TEST_F(NDArrayTest, TestReshapeNegative2) { - auto array = NDArrayFactory::create('c', {2, 3, 4, 64}); + auto array = NDArrayFactory::create( {2, 3, 4, 64}); auto reshaped = array.reshape('c', {-1, 64}); @@ -1501,7 +1495,7 @@ TEST_F(NDArrayTest, TestReshapeNegative2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestStdDev1) { - auto array = NDArrayFactory::create('c', {1, 5}); + auto array = NDArrayFactory::create( {1, 5}); for (int e = 0; e < array.lengthOf(); e++) array.p(e, e+1); @@ -1511,7 +1505,7 @@ TEST_F(NDArrayTest, TestStdDev1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestStdDev2) { - auto array = NDArrayFactory::create('c', {5, 6}); + auto array = NDArrayFactory::create( {5, 6}); auto tad = array(0, {1}); ASSERT_EQ(5, tad.lengthOf()); @@ -1526,7 +1520,7 @@ TEST_F(NDArrayTest, TestStdDev2) { } TEST_F(NDArrayTest, TestStdDev3) { - auto array = NDArrayFactory::create('c', {1, 50000}); + auto array = NDArrayFactory::create( {1, 50000}); for (int e = 0; e < array.lengthOf(); e++) array.p(e, 1.f + (e%2?0.5f:-0.5f)); @@ -1536,7 +1530,7 @@ TEST_F(NDArrayTest, TestStdDev3) { } TEST_F(NDArrayTest, TestStdDev4) { - auto array = NDArrayFactory::create('c', {1, 20000}); + auto array = NDArrayFactory::create( {1, 20000}); float const ethalon = 1 / 3.f; float x = ethalon; int total = array.lengthOf(); @@ -1568,8 +1562,8 @@ TEST_F(NDArrayTest, TestStdDev4) { } TEST_F(NDArrayTest, TestStdDev5) { - auto array = NDArrayFactory::create('c', {1, 10000}); //00000}); - auto arrayD = NDArrayFactory::create('c', {1, 10000}); //00000}); + auto array = NDArrayFactory::create( {1, 10000}); //00000}); + auto arrayD = NDArrayFactory::create( {1, 10000}); //00000}); for (int e = 0; e < array.lengthOf(); e++) { array.p(e, 1.f + (e%2?1/5.f:-1/5.f)); arrayD.p(e, 1.0 + (e%2?1/5.:-1/5.)); @@ -1588,7 +1582,7 @@ TEST_F(NDArrayTest, TestApplyIndexReduce1) { std::vector dim = {0,1}; NDArray x(xBuff, xShapeInfo); - auto exp = NDArrayFactory::create({3, 1}); + auto exp = NDArrayFactory::vector({3, 1}); auto result = x.applyIndexReduce(indexreduce::IndexMax, dim); ASSERT_TRUE(exp.isSameShapeStrict(result)); @@ -1619,7 +1613,7 @@ TEST_F(NDArrayTest, applyAllReduce3EuclideanDistance) { NDArray x(xBuff, xShapeInfo); NDArray y(yBuff, xShapeInfo); - auto exp = NDArrayFactory::create('c', {2, 2}, {1.414214f, 1.414214f, 5.385165f, 5.385165f}); + auto exp = NDArrayFactory::create( {2, 2}, {1.414214f, 1.414214f, 5.385165f, 5.385165f}); auto result = x.applyAllReduce3(reduce3::EuclideanDistance, y, {1}); @@ -1682,8 +1676,8 @@ TEST_F(NDArrayTest, TestVarianceAlongDimension2) { TEST_F(NDArrayTest, TestVarianceAlongDimension3) { - NDArray x = NDArrayFactory::create('c', {10, 10});//(xBuff, xShapeInfo); - NDArray exp = NDArrayFactory::create('c', {10});//(expBuff, expShapeInfo); + NDArray x = NDArrayFactory::create( {10, 10});//(xBuff, xShapeInfo); + NDArray exp = NDArrayFactory::create( {10});//(expBuff, expShapeInfo); x.linspace(1); // 1, 2, 3, ..., 100 exp.assign(825.f); auto result = x.varianceAlongDimension(variance::SummaryStatsVariance, false, {0}); @@ -1695,8 +1689,8 @@ TEST_F(NDArrayTest, TestVarianceAlongDimension3) { TEST_F(NDArrayTest, TestVarianceAlongDimension4) { - NDArray x = NDArrayFactory::create('c', {12, 1, 12});//(xBuff, xShapeInfo); - NDArray exp = NDArrayFactory::create('c', {1,12});//(expBuff, expShapeInfo); + NDArray x = NDArrayFactory::create( {12, 1, 12});//(xBuff, xShapeInfo); + NDArray exp = NDArrayFactory::create( {1,12});//(expBuff, expShapeInfo); x.linspace(1); // 1, 2, 3, ..., 100 exp.assign(1716.); auto result = x.varianceAlongDimension(variance::SummaryStatsVariance, false, {0}); @@ -1787,8 +1781,8 @@ TEST_F(NDArrayTest, TestTensorDotAgain_1) { Nd4jLong _expS[] = {6, 2, 3, 3, 2, 2, 2, 72, 24, 8, 4, 2, 1, 16384, 1, 99}; NDArray exp(_expB, _expS, sd::LaunchContext ::defaultContext(), false); - auto input = NDArrayFactory::create('c', {B, iC, iY, iX}); - auto weights = NDArrayFactory::create('c', {iC, oC, kY, kX}); + auto input = NDArrayFactory::create( {B, iC, iY, iX}); + auto weights = NDArrayFactory::create( {iC, oC, kY, kX}); input.linspace(1); weights.linspace(1); @@ -1811,8 +1805,8 @@ TEST_F(NDArrayTest, TestBroadcast_1) { Nd4jLong _expS[] = {4, 2, 3, 2, 2, 12, 4, 2, 1, 16384, 1, 99}; NDArray exp(_expB, _expS, sd::LaunchContext ::defaultContext(), false); - auto input = NDArrayFactory::create('c',{ 2, 3, 2, 2}); - auto bias = NDArrayFactory::create('c', {1, 3}); + auto input = NDArrayFactory::create( { 2, 3, 2, 2}); + auto bias = NDArrayFactory::create( {1, 3}); bias.linspace(1); @@ -1823,7 +1817,7 @@ TEST_F(NDArrayTest, TestBroadcast_1) { } TEST_F(NDArrayTest, TestTranspose_11) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); x.transposei(); ASSERT_EQ(4, x.sizeAt(0)); @@ -1833,7 +1827,7 @@ TEST_F(NDArrayTest, TestTranspose_11) { TEST_F(NDArrayTest, TestTranspose_12) { - auto x = NDArrayFactory::create('c', {2, 3, 4}); + auto x = NDArrayFactory::create( {2, 3, 4}); auto y = x.transpose(); ASSERT_EQ(4, y.sizeAt(0)); @@ -1851,9 +1845,9 @@ TEST_F(NDArrayTest, TestMMulMultiDim) { const int K=3; const int N=4; - auto input = NDArrayFactory::create('c', {bS, K, N}); - auto weights = NDArrayFactory::create('c', {3*K, K}); - auto expected = NDArrayFactory::create('c', {bS, 3*K, N}, { 38, 44, 50, 56, 83, 98, 113, 128, 128, 152, 176, 200, 173, 206, 239, 272, 218, 260, 302, 344, 263, 314, 365, 416, 308, 368, 428, 488, 353, 422, 491, 560, 398, 476, 554, 632, 110, 116, 122, 128, 263, 278, 293, 308, 416, 440, 464, 488, 569, 602, 635, 668, 722, 764, 806, 848, 875, 926, 977, 1028, 1028, 1088, 1148, 1208, 1181, 1250, 1319, 1388, 1334, 1412, 1490, 1568}); + auto input = NDArrayFactory::create( {bS, K, N}); + auto weights = NDArrayFactory::create( {3*K, K}); + auto expected = NDArrayFactory::create( {bS, 3*K, N}, { 38, 44, 50, 56, 83, 98, 113, 128, 128, 152, 176, 200, 173, 206, 239, 272, 218, 260, 302, 344, 263, 314, 365, 416, 308, 368, 428, 488, 353, 422, 491, 560, 398, 476, 554, 632, 110, 116, 122, 128, 263, 278, 293, 308, 416, 440, 464, 488, 569, 602, 635, 668, 722, 764, 806, 848, 875, 926, 977, 1028, 1028, 1088, 1148, 1208, 1181, 1250, 1319, 1388, 1334, 1412, 1490, 1568}); input.linspace(1); weights.linspace(1); @@ -1872,9 +1866,9 @@ TEST_F(NDArrayTest, TestMMulMultiDim) { TEST_F(NDArrayTest, AdditionOperator1) { - auto input1 = NDArrayFactory::create('c', {2,2}); - auto input2 = NDArrayFactory::create('c', {2,2}); - auto expected = NDArrayFactory::create('c', {2,2}); + auto input1 = NDArrayFactory::create( {2,2}); + auto input2 = NDArrayFactory::create( {2,2}); + auto expected = NDArrayFactory::create( {2,2}); input1.assign(1.5); input2.assign(2.); @@ -1888,8 +1882,8 @@ TEST_F(NDArrayTest, AdditionOperator1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestMatmMul_Again_1) { - auto a = NDArrayFactory::create('c', {3, 4, 1}); - auto b = NDArrayFactory::create('c', {3, 1, 5}); + auto a = NDArrayFactory::create( {3, 4, 1}); + auto b = NDArrayFactory::create( {3, 1, 5}); a.linspace(1); b.linspace(1); @@ -1908,8 +1902,8 @@ TEST_F(NDArrayTest, TestMatmMul_Again_1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, TestMatmMul_Again_2) { - auto a = NDArrayFactory::create('c', {2, 5, 4}); - auto b = NDArrayFactory::create('c', {2, 4, 1}); + auto a = NDArrayFactory::create( {2, 5, 4}); + auto b = NDArrayFactory::create( {2, 4, 1}); a.linspace(1); b.linspace(1); @@ -1932,9 +1926,9 @@ TEST_F(NDArrayTest, Operator_Plus_Test_1) { double expBuff[] = {2., 3, 3., 4., 4., 5, 5., 6., 6., 7, 7., 8.}; - auto x = NDArrayFactory::create('c', {3, 1, 2}); - auto y = NDArrayFactory::create('c', {2, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 1, 2}); + auto y = NDArrayFactory::create( {2, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); //x.printShapeInfo("x shape"); //y.printShapeInfo("y shape"); @@ -1958,9 +1952,9 @@ TEST_F(NDArrayTest, Operator_Plus_Test_2) { double expBuff[] = {2., 3, 3., 4., 4., 5, 5., 6., 6., 7, 7., 8.}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {1, 2}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(1); y.linspace(1); @@ -1978,9 +1972,9 @@ TEST_F(NDArrayTest, Operator_Plus_Test_3) { double expBuff[] = {2., 3, 3., 4., 4., 5, 5., 6., 6., 7, 7., 8.}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {1, 2}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(1); y.linspace(1); @@ -1996,9 +1990,9 @@ TEST_F(NDArrayTest, Operator_Plus_Test_4) { double expBuff[] = {11.,12., 12.,13., 13.,14., 14.,15., 13.,14., 14.,15., 15.,16., 16.,17., 15.,16., 16.,17., 17.,18., 18.,19.}; - auto x = NDArrayFactory::create('c', {3, 1, 2}); - auto y = NDArrayFactory::create('c', {4, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 2}); + auto x = NDArrayFactory::create( {3, 1, 2}); + auto y = NDArrayFactory::create( {4, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 2}); x.linspace(10); y.linspace(1); @@ -2015,9 +2009,9 @@ TEST_F(NDArrayTest, Operator_Minus_Test_1) { double expBuff[] = {9. ,10., 10.,11., 11.,12., 12.,13., 17.,18., 18.,19., 19.,20., 20.,21., 25.,26., 26.,27., 27.,28., 28.,29.}; - auto x = NDArrayFactory::create('c', {3, 4, 2}); - auto y = NDArrayFactory::create('c', {4, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 2}); + auto x = NDArrayFactory::create( {3, 4, 2}); + auto y = NDArrayFactory::create( {4, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 2}); x.linspace(10); y.linspace(1); @@ -2034,9 +2028,9 @@ TEST_F(NDArrayTest, Operator_Minus_Test_2) { double expBuff[] = {9., 8., 7., 6., 6., 5., 4., 3., 11.,10., 9., 8., 8., 7., 6., 5., 13.,12.,11.,10., 10., 9., 8., 7.}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2, 4}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 4}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {1, 2, 4}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 4}); x.linspace(10); y.linspace(1); @@ -2052,9 +2046,9 @@ TEST_F(NDArrayTest, Operator_Minus_Test_3) { double expBuff[] = {9., 8., 7., 6., 6., 5., 4., 3., 11.,10., 9., 8., 8., 7., 6., 5., 13.,12.,11.,10., 10., 9., 8., 7.}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {2, 4}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 4}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {2, 4}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 4}); x.linspace(10); y.linspace(1); @@ -2070,9 +2064,9 @@ TEST_F(NDArrayTest, Operator_Minus_Test_4) { double expBuff[] = {9.,10., 8., 9., 11.,12.,10.,11., 13.,14.,12.,13.}; - auto x = NDArrayFactory::create('c', {3, 1, 2}); - auto y = NDArrayFactory::create('c', {2, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 1, 2}); + auto y = NDArrayFactory::create( {2, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(10); y.linspace(1); @@ -2089,9 +2083,9 @@ TEST_F(NDArrayTest, Operator_Minus_Test_5) { double expBuff[] = {9. ,8 ,10., 9., 11.,10, 12.,11., 13.,12, 14.,13.}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {1, 2}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(10); y.linspace(1); @@ -2108,9 +2102,9 @@ TEST_F(NDArrayTest, Operator_Minus_Test_6) { double expBuff[] = {9., 8, 10., 9, 11.,10, 12.,11., 13.,12, 14.,13, 15.,14, 16.,15., 17.,16, 18.,17, 19.,18, 20.,19.}; - auto x = NDArrayFactory::create('c', {3, 4, 1}); - auto y = NDArrayFactory::create('c', {1, 1, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 2}); + auto x = NDArrayFactory::create( {3, 4, 1}); + auto y = NDArrayFactory::create( {1, 1, 2}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 2}); x.linspace(10); y.linspace(1); @@ -2126,9 +2120,9 @@ TEST_F(NDArrayTest, Operator_Multiply_Test_1) { double expBuff[] = {10., 11., 24., 26., 42., 45., 64., 68., 18., 19., 40., 42., 66., 69., 96.,100., 26., 27., 56., 58., 90., 93., 128.,132.}; - auto x = NDArrayFactory::create('c', {3, 4, 2}); - auto y = NDArrayFactory::create('c', {4, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 2}); + auto x = NDArrayFactory::create( {3, 4, 2}); + auto y = NDArrayFactory::create( {4, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 2}); x.linspace(10); y.linspace(1); @@ -2144,9 +2138,9 @@ TEST_F(NDArrayTest, Operator_Multiply_Test_2) { double expBuff[] = {10.,20., 30., 40., 55.,66., 77., 88., 12.,24., 36., 48., 65.,78., 91.,104., 14.,28., 42., 56., 75.,90.,105.,120.}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2, 4}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 4}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {1, 2, 4}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 4}); x.linspace(10); y.linspace(1); @@ -2163,9 +2157,9 @@ TEST_F(NDArrayTest, Operator_Multiply_Test_3) { double expBuff[] = {10.,20., 30., 40.,55.,66., 77., 88., 12.,24., 36., 48.,65.,78., 91.,104., 14.,28., 42., 56.,75.,90.,105.,120.}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {2, 4}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 4}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {2, 4}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 4}); x.linspace(10); y.linspace(1); @@ -2182,9 +2176,9 @@ TEST_F(NDArrayTest, Operator_Multiply_Test_4) { double expBuff[] = {10.,11.,20.,22., 12.,13.,24.,26., 14.,15.,28.,30.}; - auto x = NDArrayFactory::create('c', {3, 1, 2}); - auto y = NDArrayFactory::create('c', {2, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 1, 2}); + auto y = NDArrayFactory::create( {2, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(10); y.linspace(1); @@ -2202,9 +2196,9 @@ TEST_F(NDArrayTest, Operator_Multiply_Test_5) { double expBuff[] = {10.,20.,11.,22., 12.,24.,13.,26., 14.,28.,15.,30.}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {1, 2}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(10); y.linspace(1); @@ -2222,9 +2216,9 @@ TEST_F(NDArrayTest, Operator_Multiply_Test_6) { double expBuff[] = {10,11.,12.,13.,28.,30.,32.,34.,54.,57.,60.,63.}; - auto x = NDArrayFactory::create('c', {3, 4, 1}); - auto y = NDArrayFactory::create('c', {3, 1, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 1}); + auto x = NDArrayFactory::create( {3, 4, 1}); + auto y = NDArrayFactory::create( {3, 1, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 1}); x.linspace(10); y.linspace(1); @@ -2241,9 +2235,9 @@ TEST_F(NDArrayTest, Operator_Divide_Test_1) { double expBuff[] = {10. ,11. , 6. , 6.5 , 4.6666, 5. , 4. , 4.25 , 18. ,19. , 10. ,10.5 , 7.3333, 7.6666, 6. , 6.25 , 26. ,27. , 14. ,14.5 , 10. ,10.3333, 8. , 8.25}; - auto x = NDArrayFactory::create('c', {3, 4, 2}); - auto y = NDArrayFactory::create('c', {4, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 2}); + auto x = NDArrayFactory::create( {3, 4, 2}); + auto y = NDArrayFactory::create( {4, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 2}); x.linspace(10); y.linspace(1); @@ -2260,9 +2254,9 @@ TEST_F(NDArrayTest, Operator_Divide_Test_2) { double expBuff[] = {10. ,5. ,3.333333,2.5 , 2.2,1.83333,1.571428,1.375, 12. ,6. ,4. ,3. , 2.6,2.16666,1.857142,1.625, 14. ,7. ,4.666666,3.5 , 3. ,2.5 ,2.142857,1.875}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2, 4}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 4}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {1, 2, 4}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 4}); x.linspace(10); y.linspace(1); @@ -2279,9 +2273,9 @@ TEST_F(NDArrayTest, Operator_Divide_Test_3) { double expBuff[] = {10. ,5. ,3.333333,2.5 , 2.2,1.833333,1.571428,1.375, 12. ,6. ,4. ,3. , 2.6,2.166666,1.857142,1.625, 14. ,7. ,4.666666,3.5 , 3. ,2.5 ,2.142857,1.875}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {2, 4}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 4}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {2, 4}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 4}); x.linspace(10); y.linspace(1); @@ -2298,9 +2292,9 @@ TEST_F(NDArrayTest, Operator_Divide_Test_4) { double expBuff[] = {10.,11., 5., 5.5, 12.,13., 6., 6.5, 14.,15., 7., 7.5}; - auto x = NDArrayFactory::create('c', {3, 1, 2}); - auto y = NDArrayFactory::create('c', {2, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 1, 2}); + auto y = NDArrayFactory::create( {2, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(10); y.linspace(1); @@ -2317,9 +2311,9 @@ TEST_F(NDArrayTest, Operator_Divide_Test_5) { double expBuff[] = {10.,5., 11.,5.5, 12.,6., 13.,6.5, 14.,7., 15.,7.5}; - auto x = NDArrayFactory::create('c', {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto x = NDArrayFactory::create( {3, 2, 1}); + auto y = NDArrayFactory::create( {1, 2}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(10); y.linspace(1); @@ -2336,9 +2330,9 @@ TEST_F(NDArrayTest, Operator_Divide_Test_6) { double expBuff[] = {10. , 5.5 , 4. , 3.25 ,14. , 7.5 , 5.333333, 4.25 ,18. , 9.5 , 6.666666, 5.25}; - auto x = NDArrayFactory::create('c', {3, 4, 1}); - auto y = NDArrayFactory::create('c', {1, 4, 1}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 1}); + auto x = NDArrayFactory::create( {3, 4, 1}); + auto y = NDArrayFactory::create( {1, 4, 1}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 1}); x.linspace(10); y.linspace(1); @@ -2355,9 +2349,9 @@ TEST_F(NDArrayTest, Operator_Divide_Test_7) { double expBuff[] = {10., 5. ,3.333333,2.5 ,11., 5.5,3.666666,2.75,12., 6. ,4. ,3. ,13., 6.5,4.333333,3.25, 14., 7. ,4.666666,3.5 ,15., 7.5,5. ,3.75,16., 8. ,5.333333,4. ,17., 8.5,5.666666,4.25, 18., 9. ,6. ,4.5 ,19., 9.5,6.333333,4.75,20.,10. ,6.666666,5. ,21.,10.5,7. ,5.25}; - auto x = NDArrayFactory::create('c', {3, 4, 1}); - auto y = NDArrayFactory::create('c', {1, 1, 4}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 4, 4}); + auto x = NDArrayFactory::create( {3, 4, 1}); + auto y = NDArrayFactory::create( {1, 1, 4}); + auto expected = NDArrayFactory::create(expBuff, {3, 4, 4}); x.linspace(10); y.linspace(1); @@ -2371,8 +2365,8 @@ TEST_F(NDArrayTest, Operator_Divide_Test_7) #ifndef __CUDABLAS__ ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_Lambda_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); - auto exp = NDArrayFactory::create('c', {1, 5}, {4, 5, 6, 7, 8}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); + auto exp = NDArrayFactory::create( {1, 5}, {4, 5, 6, 7, 8}); auto lambda = LAMBDA_F(_val) { return _val + 3.0f; @@ -2385,9 +2379,9 @@ TEST_F(NDArrayTest, Test_Lambda_1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_Lambda_2) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 1, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 5}, {1, 2, 1, 2, 1}); - auto exp = NDArrayFactory::create('c', {1, 5}, {3, 5, 3, 5, 3}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 1, 2, 1}); + auto y = NDArrayFactory::create( {1, 5}, {1, 2, 1, 2, 1}); + auto exp = NDArrayFactory::create( {1, 5}, {3, 5, 3, 5, 3}); auto lambda = LAMBDA_FF(_x, _y) { return _x + _y + 1.0f; @@ -2400,9 +2394,9 @@ TEST_F(NDArrayTest, Test_Lambda_2) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_Lambda_3) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 1, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 5}, {1, 2, 1, 2, 1}); - auto exp = NDArrayFactory::create('c', {1, 5}, {4, 8, 4, 8, 4}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 1, 2, 1}); + auto y = NDArrayFactory::create( {1, 5}, {1, 2, 1, 2, 1}); + auto exp = NDArrayFactory::create( {1, 5}, {4, 8, 4, 8, 4}); auto lambda = LAMBDA_DD(_x, _y) { return (_x + _y) * 2; @@ -2418,10 +2412,10 @@ TEST_F(NDArrayTest, Test_Lambda_3) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_swapUnsafe_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {1, 4}, {5, 6, 7, 8}); - auto expX = NDArrayFactory::create('c', {2, 2}, {5, 6, 7, 8}); - auto expY = NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {1, 4}, {5, 6, 7, 8}); + auto expX = NDArrayFactory::create( {2, 2}, {5, 6, 7, 8}); + auto expY = NDArrayFactory::create( {1, 4}, {1, 2, 3, 4}); x.swapUnsafe(y); @@ -2432,8 +2426,8 @@ TEST_F(NDArrayTest, Test_swapUnsafe_1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 4, 5, 6}); - auto exp = NDArrayFactory::create('c', {2, 1}, {1, 5}); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 4, 5, 6}); + auto exp = NDArrayFactory::create( {2, 1}, {1, 5}); auto diag = x.diagonal('c'); @@ -2444,8 +2438,8 @@ TEST_F(NDArrayTest, Test_diagonal_1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_2) { - auto x = NDArrayFactory::create('f', {2, 3}); - auto exp = NDArrayFactory::create('f', {2, 1}, {1, 5}); + auto x = NDArrayFactory::create( {2, 3}, {}, sd::kArrayOrderFortran); + auto exp = NDArrayFactory::create( {2, 1}, {1, 5}, sd::kArrayOrderFortran); x.linspace(1); auto diag = x.diagonal('c'); @@ -2457,9 +2451,9 @@ TEST_F(NDArrayTest, Test_diagonal_2) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_3) { - auto x = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1, 2}, {1, 4}); + auto exp = NDArrayFactory::create( {1, 2}, {1, 4}); auto diag = x.diagonal('r'); @@ -2470,9 +2464,9 @@ TEST_F(NDArrayTest, Test_diagonal_3) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_4) { - auto x = NDArrayFactory::create('f', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}, {}, sd::kArrayOrderFortran); x.linspace(1); - auto exp = NDArrayFactory::create('f', {1, 2}, {1, 4}); + auto exp = NDArrayFactory::create( {1, 2}, {1, 4}, sd::kArrayOrderFortran); auto diag = x.diagonal('r'); @@ -2483,9 +2477,9 @@ TEST_F(NDArrayTest, Test_diagonal_4) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_5) { - auto x = NDArrayFactory::create('c', {2, 2, 2}); + auto x = NDArrayFactory::create( {2, 2, 2}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1, 2}, {1, 8}); + auto exp = NDArrayFactory::create( {1, 2}, {1, 8}); auto diag = x.diagonal('r'); @@ -2496,9 +2490,9 @@ TEST_F(NDArrayTest, Test_diagonal_5) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_6) { - auto x = NDArrayFactory::create('f', {2, 2, 2}); + auto x = NDArrayFactory::create( {2, 2, 2}, {}, sd::kArrayOrderFortran); x.linspace(1); - auto exp = NDArrayFactory::create('f', {1, 2}, {1, 8}); + auto exp = NDArrayFactory::create( {1, 2}, {1, 8}, sd::kArrayOrderFortran); auto diag = x.diagonal('r'); @@ -2509,9 +2503,9 @@ TEST_F(NDArrayTest, Test_diagonal_6) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_7) { - auto x = NDArrayFactory::create('f', {2, 2, 2}); + auto x = NDArrayFactory::create( {2, 2, 2}, {}, sd::kArrayOrderFortran); x.linspace(1); - auto exp = NDArrayFactory::create('f', {2, 1}, {1, 8}); + auto exp = NDArrayFactory::create( {2, 1}, {1, 8}, sd::kArrayOrderFortran); auto diag = x.diagonal('c'); @@ -2522,9 +2516,9 @@ TEST_F(NDArrayTest, Test_diagonal_7) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_8) { - auto x = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 3}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1, 2}, {1, 5}); + auto exp = NDArrayFactory::create( {1, 2}, {1, 5}); auto diag = x.diagonal('r'); @@ -2535,9 +2529,9 @@ TEST_F(NDArrayTest, Test_diagonal_8) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_9) { - auto x = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {2, 1}, {1, 4}); + auto exp = NDArrayFactory::create( {2, 1}, {1, 4}); auto diag = x.diagonal('c'); @@ -2549,9 +2543,9 @@ TEST_F(NDArrayTest, Test_diagonal_9) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_10) { - auto x = NDArrayFactory::create('f', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}, {}, sd::kArrayOrderFortran); x.linspace(1); - auto exp = NDArrayFactory::create('f', {2, 1}, {1, 4}); + auto exp = NDArrayFactory::create( {2, 1}, {1, 4}, sd::kArrayOrderFortran); auto diag = x.diagonal('c'); @@ -2562,9 +2556,9 @@ TEST_F(NDArrayTest, Test_diagonal_10) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_11) { - auto x = NDArrayFactory::create('f', {3, 3}); + auto x = NDArrayFactory::create( {3, 3}, {}, sd::kArrayOrderFortran); x.linspace(1); - auto exp = NDArrayFactory::create('f', {3, 1}, {1, 5, 9}); + auto exp = NDArrayFactory::create( {3, 1}, {1, 5, 9}, sd::kArrayOrderFortran); auto diag = x.diagonal('c'); @@ -2575,9 +2569,9 @@ TEST_F(NDArrayTest, Test_diagonal_11) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_12) { - auto x = NDArrayFactory::create('c', {3, 3}); + auto x = NDArrayFactory::create( {3, 3}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1, 3}, {1, 5, 9}); + auto exp = NDArrayFactory::create( {1, 3}, {1, 5, 9}); auto diag = x.diagonal('r'); @@ -2588,9 +2582,9 @@ TEST_F(NDArrayTest, Test_diagonal_12) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_13) { - auto x = NDArrayFactory::create('c', {3, 3, 4}); + auto x = NDArrayFactory::create( {3, 3, 4}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 1}, {1,18,35}); + auto exp = NDArrayFactory::create( {3, 1}, {1,18,35}); auto diag = x.diagonal('c'); @@ -2601,9 +2595,9 @@ TEST_F(NDArrayTest, Test_diagonal_13) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_14) { - auto x = NDArrayFactory::create('c', {3, 3, 4}); + auto x = NDArrayFactory::create( {3, 3, 4}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1, 3}, {1,18,35}); + auto exp = NDArrayFactory::create( {1, 3}, {1,18,35}); auto diag = x.diagonal('r'); @@ -2614,9 +2608,9 @@ TEST_F(NDArrayTest, Test_diagonal_14) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_15) { - auto x = NDArrayFactory::create('f', {3, 3, 4}); + auto x = NDArrayFactory::create( {3, 3, 4}, {}, sd::kArrayOrderFortran); x.linspace(1); - auto exp = NDArrayFactory::create('f', {1, 3}, {1,18,35}); + auto exp = NDArrayFactory::create( {1, 3}, {1,18,35}, sd::kArrayOrderFortran); auto diag = x.diagonal('r'); @@ -2627,9 +2621,9 @@ TEST_F(NDArrayTest, Test_diagonal_15) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_16) { - auto x = NDArrayFactory::create('f', {1, 5}); + auto x = NDArrayFactory::create( {1, 5}, {}, sd::kArrayOrderFortran); x.linspace(1); - auto exp = NDArrayFactory::create('f', {1, 1}, {1}); + auto exp = NDArrayFactory::create( {1, 1}, {1}, sd::kArrayOrderFortran); auto diag = x.diagonal('c'); @@ -2640,9 +2634,9 @@ TEST_F(NDArrayTest, Test_diagonal_16) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_17) { - auto x = NDArrayFactory::create('c', {5, 1}); + auto x = NDArrayFactory::create( {5, 1}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {1, 1}, {1}); + auto exp = NDArrayFactory::create( {1, 1}, {1}); auto diag = x.diagonal('r'); @@ -2653,9 +2647,9 @@ TEST_F(NDArrayTest, Test_diagonal_17) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest, Test_diagonal_18) { - auto x = NDArrayFactory::create('f', {1, 1}); + auto x = NDArrayFactory::create( {1, 1}, {}, sd::kArrayOrderFortran); x.linspace(1); - auto exp = NDArrayFactory::create('f', {1, 1}, {1}); + auto exp = NDArrayFactory::create( {1, 1}, {1}, sd::kArrayOrderFortran); auto diag = x.diagonal('r'); diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayTests2.cpp b/libnd4j/tests_cpu/layers_tests/NDArrayTests2.cpp index 4dd4c3abee4d..63eb3a790db6 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayTests2.cpp +++ b/libnd4j/tests_cpu/layers_tests/NDArrayTests2.cpp @@ -34,7 +34,7 @@ class NDArrayTest2 : public testing::Test { TEST_F(NDArrayTest2, Test_ByteVector_1) { - auto x = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); x.linspace(1); auto vec = x.asByteVector(); @@ -48,7 +48,7 @@ TEST_F(NDArrayTest2, Test_ByteVector_1) { } TEST_F(NDArrayTest2, Test_ByteVector_2) { - auto x = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); x.linspace(1); auto vec = x.asByteVector(); @@ -61,7 +61,7 @@ TEST_F(NDArrayTest2, Test_ByteVector_2) { } TEST_F(NDArrayTest2, Test_ByteVector_3) { - auto x = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); x.linspace(1); auto vec = x.asByteVector(); @@ -74,7 +74,7 @@ TEST_F(NDArrayTest2, Test_ByteVector_3) { } TEST_F(NDArrayTest2, Test_Reshape_Scalar_1) { - auto x = NDArrayFactory::create('c', {1, 1}, {1.0}); + auto x = NDArrayFactory::create( {1, 1}, {1.0}); auto e = NDArrayFactory::create(1.0); x.reshapei({}); @@ -84,8 +84,8 @@ TEST_F(NDArrayTest2, Test_Reshape_Scalar_1) { } TEST_F(NDArrayTest2, Test_Reshape_Scalar_2) { - auto x = NDArrayFactory::create('c', {1, 1}, {1.0}); - auto e = NDArrayFactory::create('c', {1}, {1.0}); + auto x = NDArrayFactory::create( {1, 1}, {1.0}); + auto e = NDArrayFactory::create( {1}, {1.0}); x.reshapei({1}); @@ -94,7 +94,7 @@ TEST_F(NDArrayTest2, Test_Reshape_Scalar_2) { } TEST_F(NDArrayTest2, Test_IndexReduce_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); ExtraArguments extras({3.0, 0.0, 10.0}); int idx = x.indexReduceNumber(indexreduce::FirstIndex, &extras).e(0); @@ -105,8 +105,8 @@ TEST_F(NDArrayTest2, Test_IndexReduce_1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, SetIdentity_test_1) { - auto x = NDArrayFactory::create('c', {1, 5}); - auto xExp = NDArrayFactory::create('c', {1, 5}, {1, 0, 0, 0, 0}); + auto x = NDArrayFactory::create( {1, 5}); + auto xExp = NDArrayFactory::create( {1, 5}, {1, 0, 0, 0, 0}); x.setIdentity(); ASSERT_TRUE(x.equalsTo(&xExp)); @@ -115,8 +115,8 @@ TEST_F(NDArrayTest2, SetIdentity_test_1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, SetIdentity_test_2) { - auto x = NDArrayFactory::create('f', {1, 5}); - auto xExp = NDArrayFactory::create('f', {1, 5}, {1, 0, 0, 0, 0}); + auto x = NDArrayFactory::create( {1, 5}, {}, sd::kArrayOrderFortran); + auto xExp = NDArrayFactory::create( {1, 5}, {1, 0, 0, 0, 0}, sd::kArrayOrderFortran); x.setIdentity(); @@ -126,8 +126,8 @@ TEST_F(NDArrayTest2, SetIdentity_test_2) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, SetIdentity_test_3) { - auto x = NDArrayFactory::create('f', {1, 1}); - auto xExp = NDArrayFactory::create('f', {1, 1}, {1}); + auto x = NDArrayFactory::create( {1, 1}, {}, sd::kArrayOrderFortran); + auto xExp = NDArrayFactory::create( {1, 1}, {1}, sd::kArrayOrderFortran); x.setIdentity(); @@ -137,8 +137,8 @@ TEST_F(NDArrayTest2, SetIdentity_test_3) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, SetIdentity_test_4) { - auto x = NDArrayFactory::create('f', {2, 1}); - auto xExp = NDArrayFactory::create('f', {2, 1}, {1,0}); + auto x = NDArrayFactory::create( {2, 1}, {}, sd::kArrayOrderFortran); + auto xExp = NDArrayFactory::create({2, 1}, {1,0}, sd::kArrayOrderFortran); x.setIdentity(); @@ -148,8 +148,8 @@ TEST_F(NDArrayTest2, SetIdentity_test_4) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, SetIdentity_test_5) { - auto x = NDArrayFactory::create('f', {2, 2}); - auto xExp = NDArrayFactory::create('f', {2, 2}, {1,0,0,1}); + auto x = NDArrayFactory::create( {2, 2}, {}, sd::kArrayOrderFortran); + auto xExp = NDArrayFactory::create( {2, 2}, {1,0,0,1}, sd::kArrayOrderFortran); x.setIdentity(); @@ -159,8 +159,8 @@ TEST_F(NDArrayTest2, SetIdentity_test_5) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, SetIdentity_test_6) { - auto x = NDArrayFactory::create('c', {3, 2}); - auto xExp = NDArrayFactory::create('c', {3, 2}, {1.f, 0.f, 0.f, 1.f, 0.f, 0.f}); + auto x = NDArrayFactory::create( {3, 2}); + auto xExp = NDArrayFactory::create( {3, 2}, {1.f, 0.f, 0.f, 1.f, 0.f, 0.f}); x.setIdentity(); @@ -170,8 +170,8 @@ TEST_F(NDArrayTest2, SetIdentity_test_6) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, SetIdentity_test_7) { - auto x = NDArrayFactory::create('c', {3, 4}); - auto xExp = NDArrayFactory::create('c', {3, 4}, {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f}); + auto x = NDArrayFactory::create( {3, 4}); + auto xExp = NDArrayFactory::create( {3, 4}, {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f}); x.setIdentity(); @@ -182,8 +182,8 @@ TEST_F(NDArrayTest2, SetIdentity_test_7) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, SetIdentity_test_8) { - auto x = NDArrayFactory::create('c', {3, 3, 3}); - auto xExp = NDArrayFactory::create('c', {3, 3, 3}, {1.,0.,0. ,0.,0.,0., 0.,0.,0., 0.,0.,0. ,0.,1.,0., 0.,0.,0., 0.,0.,0. ,0.,0.,0., 0.,0.,1.}); + auto x = NDArrayFactory::create( {3, 3, 3}); + auto xExp = NDArrayFactory::create( {3, 3, 3}, {1.,0.,0. ,0.,0.,0., 0.,0.,0., 0.,0.,0. ,0.,1.,0., 0.,0.,0., 0.,0.,0. ,0.,0.,0., 0.,0.,1.}); x.setIdentity(); ASSERT_TRUE(x.equalsTo(&xExp)); @@ -192,9 +192,9 @@ TEST_F(NDArrayTest2, SetIdentity_test_8) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_AllReduce3_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 1, 2, 3}); - auto y = NDArrayFactory::create('c', {2, 3}, {2, 3, 4, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {2, 2}, {1.73205, 1.73205, 1.73205, 1.73205}); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 1, 2, 3}); + auto y = NDArrayFactory::create( {2, 3}, {2, 3, 4, 2, 3, 4}); + auto exp = NDArrayFactory::create( {2, 2}, {1.73205, 1.73205, 1.73205, 1.73205}); auto z = x.applyAllReduce3(reduce3::EuclideanDistance, y, {1}); @@ -204,9 +204,9 @@ TEST_F(NDArrayTest2, Test_AllReduce3_1) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_AllReduce3_2) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 2, 3, 4 }); - auto y = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {2, 2}, {0., 1.73205, 1.73205, 0.}); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 2, 3, 4 }); + auto y = NDArrayFactory::create( {2, 3}, {1, 2, 3, 2, 3, 4}); + auto exp = NDArrayFactory::create( {2, 2}, {0., 1.73205, 1.73205, 0.}); auto z = x.applyAllReduce3(reduce3::EuclideanDistance, y, {1}); @@ -217,9 +217,9 @@ TEST_F(NDArrayTest2, Test_AllReduce3_2) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, mmul_test1) { - auto x = NDArrayFactory::create('c', {4, 1}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4, 4}, {1,2, 3, 4,2,4, 6, 8,3,6, 9,12,4,8,12,16}); + auto x = NDArrayFactory::create( {4, 1}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {1, 4}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {4, 4}, {1,2, 3, 4,2,4, 6, 8,3,6, 9,12,4,8,12,16}); auto result = mmul(x, y); ASSERT_TRUE(exp.isSameShape(&result)); @@ -230,9 +230,9 @@ TEST_F(NDArrayTest2, mmul_test1) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, mmul_test2) { - auto x = NDArrayFactory::create('c', {4, 1}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {1, 1}, {30}); + auto x = NDArrayFactory::create( {4, 1}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {1, 4}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {1, 1}, {30}); auto result = mmul(y ,x); @@ -244,10 +244,10 @@ TEST_F(NDArrayTest2, mmul_test2) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, mmul_test3) { - auto x = NDArrayFactory::create('c', {4, 1}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4, 4}, {1. ,0.2 ,0.3 ,0.4 ,0.2,0.04,0.06,0.08,0.3,0.06,0.09,0.12,0.4,0.08,0.12,0.16}); - auto w = NDArrayFactory::create( x.ordering(), {(int)x.lengthOf(), 1}, x.getContext()); // column-vector - auto wT = NDArrayFactory::create(x.ordering(), {1, (int)x.lengthOf()}, x.getContext()); // row-vector (transposed w) + auto x = NDArrayFactory::create( {4, 1}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {4, 4}, {1. ,0.2 ,0.3 ,0.4 ,0.2,0.04,0.06,0.08,0.3,0.06,0.09,0.12,0.4,0.08,0.12,0.16}); + auto w = NDArrayFactory::create( {x.lengthOf(), 1}, {}, (sd::Order)x.ordering(), x.getContext()); // column-vector + auto wT = NDArrayFactory::create( {1, x.lengthOf()}, {}, (sd::Order)x.ordering(), x.getContext()); // row-vector (transposed w) w = x / (float)10.; w.p(0, 1.); @@ -262,8 +262,8 @@ TEST_F(NDArrayTest2, mmul_test3) { TEST_F(NDArrayTest2, Test_Streamline_1) { - auto x = NDArrayFactory::create('c', {3, 4, 6}); - auto y = NDArrayFactory::create('c', {3, 4, 6}); + auto x = NDArrayFactory::create( {3, 4, 6}); + auto y = NDArrayFactory::create( {3, 4, 6}); x.linspace(1); y.linspace(1); @@ -279,8 +279,8 @@ TEST_F(NDArrayTest2, Test_Streamline_1) { TEST_F(NDArrayTest2, Test_Streamline_2) { - auto x = NDArrayFactory::create('c', {3, 4, 6}); - auto y = NDArrayFactory::create('f', {3, 4, 6}); + auto x = NDArrayFactory::create( {3, 4, 6}); + auto y = NDArrayFactory::create( {3, 4, 6}, {}, sd::kArrayOrderFortran); x.linspace(1); y.linspace(1); @@ -294,8 +294,8 @@ TEST_F(NDArrayTest2, Test_Streamline_2) { } TEST_F(NDArrayTest2, Test_Enforce_1) { - auto x = NDArrayFactory::create('c', {4, 1, 1, 4}); - auto exp = NDArrayFactory::create('c', {4, 4}); + auto x = NDArrayFactory::create( {4, 1, 1, 4}); + auto exp = NDArrayFactory::create( {4, 4}); x.linspace(1); exp.linspace(1); @@ -307,9 +307,9 @@ TEST_F(NDArrayTest2, Test_Enforce_1) { } TEST_F(NDArrayTest2, TestVector_1) { - auto x = NDArrayFactory::create('c', {2, 3}); - auto row = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 1, 2, 3}); + auto x = NDArrayFactory::create( {2, 3}); + auto row = NDArrayFactory::create( {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {2, 3}, {1, 2, 3, 1, 2, 3}); x.addiRowVector(row); @@ -320,9 +320,9 @@ TEST_F(NDArrayTest2, TestVector_1) { TEST_F(NDArrayTest2, Operator_Plus_Test_5) { - auto x = NDArrayFactory::create('c', {8, 8, 8}); - auto y = NDArrayFactory::create('c', {8, 1, 8}); - auto expected = NDArrayFactory::create('c', {8, 8, 8}); + auto x = NDArrayFactory::create( {8, 8, 8}); + auto y = NDArrayFactory::create( {8, 1, 8}); + auto expected = NDArrayFactory::create( {8, 8, 8}); x = 1.; y = 2.; @@ -337,9 +337,9 @@ TEST_F(NDArrayTest2, Operator_Plus_Test_5) ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Operator_Plus_Test_6) { - auto x = NDArrayFactory::create('c', {3, 3, 3}); - auto y = NDArrayFactory::create('c', {3, 1, 3}); - auto expected = NDArrayFactory::create('c', {3, 3, 3}, {2., 4., 6., 5., 7., 9., 8.,10.,12., 14.,16.,18.,17.,19.,21.,20.,22.,24., 26.,28.,30.,29.,31.,33.,32.,34.,36.}); + auto x = NDArrayFactory::create( {3, 3, 3}); + auto y = NDArrayFactory::create( {3, 1, 3}); + auto expected = NDArrayFactory::create( {3, 3, 3}, {2., 4., 6., 5., 7., 9., 8.,10.,12., 14.,16.,18.,17.,19.,21.,20.,22.,24., 26.,28.,30.,29.,31.,33.,32.,34.,36.}); x.linspace(1); y.linspace(1); @@ -352,8 +352,8 @@ TEST_F(NDArrayTest2, Operator_Plus_Test_6) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, tileToShape_test1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1,2,3,4}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1,2,3,4,1,2,3,4}); + auto x = NDArrayFactory::create( {2, 2}, {1,2,3,4}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1,2,3,4,1,2,3,4}); x.tileToShape({2,2,2}, x); @@ -364,8 +364,8 @@ TEST_F(NDArrayTest2, tileToShape_test1) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, tileToShape_test2) { - auto x = NDArrayFactory::create('c', {2, 1, 2}, {1,2,3,4}); - auto exp = NDArrayFactory::create('c', {2, 3, 2}, {1,2,1,2,1,2,3,4,3,4,3,4}); + auto x = NDArrayFactory::create( {2, 1, 2}, {1,2,3,4}); + auto exp = NDArrayFactory::create( {2, 3, 2}, {1,2,1,2,1,2,3,4,3,4,3,4}); x.tileToShape({2,3,2}, x); @@ -376,9 +376,9 @@ TEST_F(NDArrayTest2, tileToShape_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, tileToShape_test3) { - auto x = NDArrayFactory::create('c', {2, 2}, {1,2,3,4}); - auto result = NDArrayFactory::create('c', {2, 2, 2}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1,2,3,4,1,2,3,4}); + auto x = NDArrayFactory::create( {2, 2}, {1,2,3,4}); + auto result = NDArrayFactory::create( {2, 2, 2}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1,2,3,4,1,2,3,4}); x.tileToShape({2,2,2}, result); // result.printIndexedBuffer(); @@ -390,9 +390,9 @@ TEST_F(NDArrayTest2, tileToShape_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, tileToShape_test4) { - auto x = NDArrayFactory::create('c', {2, 1, 2}, {1,2,3,4}); - auto result = NDArrayFactory::create('c', {2, 3, 2}); - auto exp = NDArrayFactory::create('c', {2, 3, 2}, {1,2,1,2,1,2,3,4,3,4,3,4}); + auto x = NDArrayFactory::create( {2, 1, 2}, {1,2,3,4}); + auto result = NDArrayFactory::create( {2, 3, 2}); + auto exp = NDArrayFactory::create( {2, 3, 2}, {1,2,1,2,1,2,3,4,3,4,3,4}); x.tileToShape({2,3,2}, result); @@ -403,10 +403,10 @@ TEST_F(NDArrayTest2, tileToShape_test4) { #ifndef __CUDABLAS__ TEST_F(NDArrayTest2, Test_TriplewiseLambda_1) { - auto t = NDArrayFactory::create('c', {3, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1}); - auto u = NDArrayFactory::create('c', {3, 3}, {2, 2, 2, 2, 2, 2, 2, 2, 2}); - auto v = NDArrayFactory::create('c', {3, 3}, {3, 3, 3, 3, 3, 3, 3, 3, 3}); - auto exp = NDArrayFactory::create('c', {3, 3}, {7, 7, 7, 7, 7, 7, 7, 7, 7}); + auto t = NDArrayFactory::create( {3, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1}); + auto u = NDArrayFactory::create( {3, 3}, {2, 2, 2, 2, 2, 2, 2, 2, 2}); + auto v = NDArrayFactory::create( {3, 3}, {3, 3, 3, 3, 3, 3, 3, 3, 3}); + auto exp = NDArrayFactory::create( {3, 3}, {7, 7, 7, 7, 7, 7, 7, 7, 7}); float extra = 1.0f; @@ -421,10 +421,10 @@ TEST_F(NDArrayTest2, Test_TriplewiseLambda_1) { TEST_F(NDArrayTest2, Test_TriplewiseLambda_2) { - auto t = NDArrayFactory::create('c', {3, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1}); - auto u = NDArrayFactory::create('f', {3, 3}, {2, 2, 2, 2, 2, 2, 2, 2, 2}); - auto v = NDArrayFactory::create('c', {3, 3}, {3, 3, 3, 3, 3, 3, 3, 3, 3}); - auto exp = NDArrayFactory::create('c', {3, 3}, {7, 7, 7, 7, 7, 7, 7, 7, 7}); + auto t = NDArrayFactory::create( {3, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1}); + auto u = NDArrayFactory::create( {3, 3}, {2, 2, 2, 2, 2, 2, 2, 2, 2}, sd::kArrayOrderFortran); + auto v = NDArrayFactory::create( {3, 3}, {3, 3, 3, 3, 3, 3, 3, 3, 3}); + auto exp = NDArrayFactory::create( {3, 3}, {7, 7, 7, 7, 7, 7, 7, 7, 7}); float extra = 1.0f; @@ -439,8 +439,8 @@ TEST_F(NDArrayTest2, Test_TriplewiseLambda_2) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_Indexed_Lambda) { - auto x = NDArrayFactory::create('c', {2, 2}); - auto exp = NDArrayFactory::create('c', {2, 2}, {0, 1, 2, 3}); + auto x = NDArrayFactory::create( {2, 2}); + auto exp = NDArrayFactory::create( {2, 2}, {0, 1, 2, 3}); auto lambda = ILAMBDA_D(_x) { return (float) _idx; @@ -454,8 +454,8 @@ TEST_F(NDArrayTest2, Test_Indexed_Lambda) { #endif TEST_F(NDArrayTest2, Test_PermuteEquality_1) { - auto x = NDArrayFactory::create('c', {1, 60}); - auto exp = NDArrayFactory::create('c', {3, 5, 4}, {1.0, 6.0, 11.0, 16.0, 2.0, 7.0, 12.0, 17.0, 3.0, 8.0, 13.0, 18.0, 4.0, 9.0, 14.0, 19.0, 5.0, 10.0, 15.0, 20.0, 21.0, 26.0, 31.0, 36.0, 22.0, 27.0, 32.0, 37.0, 23.0, 28.0, 33.0, 38.0, 24.0, 29.0, 34.0, 39.0, 25.0, 30.0, 35.0, 40.0, 41.0, 46.0, 51.0, 56.0, 42.0, 47.0, 52.0, 57.0, 43.0, 48.0, 53.0, 58.0, 44.0, 49.0, 54.0, 59.0, 45.0, 50.0, 55.0, 60.0}); + auto x = NDArrayFactory::create( {1, 60}); + auto exp = NDArrayFactory::create( {3, 5, 4}, {1.0, 6.0, 11.0, 16.0, 2.0, 7.0, 12.0, 17.0, 3.0, 8.0, 13.0, 18.0, 4.0, 9.0, 14.0, 19.0, 5.0, 10.0, 15.0, 20.0, 21.0, 26.0, 31.0, 36.0, 22.0, 27.0, 32.0, 37.0, 23.0, 28.0, 33.0, 38.0, 24.0, 29.0, 34.0, 39.0, 25.0, 30.0, 35.0, 40.0, 41.0, 46.0, 51.0, 56.0, 42.0, 47.0, 52.0, 57.0, 43.0, 48.0, 53.0, 58.0, 44.0, 49.0, 54.0, 59.0, 45.0, 50.0, 55.0, 60.0}); x.linspace(1); x.reshapei('c', {3, 4, 5}); @@ -470,9 +470,9 @@ TEST_F(NDArrayTest2, Test_PermuteEquality_1) { } TEST_F(NDArrayTest2, Test_PermuteEquality_0) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0}); x.reshapei('c', {3, 4, 5}); x.permutei({0, 1, 2}); @@ -487,9 +487,9 @@ TEST_F(NDArrayTest2, Test_PermuteEquality_0) { TEST_F(NDArrayTest2, Test_PermuteEquality_2) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {4, 3, 5}, {1.0, 2.0, 3.0, 4.0, 5.0, 21.0, 22.0, 23.0, 24.0, 25.0, 41.0, 42.0, 43.0, 44.0, 45.0, 6.0, 7.0, 8.0, 9.0, 10.0, 26.0, 27.0, 28.0, 29.0, 30.0, 46.0, 47.0, 48.0, 49.0, 50.0, 11.0, 12.0, 13.0, 14.0, 15.0, 31.0, 32.0, 33.0, 34.0, 35.0, 51.0, 52.0, 53.0, 54.0, 55.0, 16.0, 17.0, 18.0, 19.0, 20.0, 36.0, 37.0, 38.0, 39.0, 40.0, 56.0, 57.0, 58.0, 59.0, 60.0}); + auto exp = NDArrayFactory::create( {4, 3, 5}, {1.0, 2.0, 3.0, 4.0, 5.0, 21.0, 22.0, 23.0, 24.0, 25.0, 41.0, 42.0, 43.0, 44.0, 45.0, 6.0, 7.0, 8.0, 9.0, 10.0, 26.0, 27.0, 28.0, 29.0, 30.0, 46.0, 47.0, 48.0, 49.0, 50.0, 11.0, 12.0, 13.0, 14.0, 15.0, 31.0, 32.0, 33.0, 34.0, 35.0, 51.0, 52.0, 53.0, 54.0, 55.0, 16.0, 17.0, 18.0, 19.0, 20.0, 36.0, 37.0, 38.0, 39.0, 40.0, 56.0, 57.0, 58.0, 59.0, 60.0}); x.reshapei('c', {3, 4, 5}); x.permutei({1, 0, 2}); @@ -503,9 +503,9 @@ TEST_F(NDArrayTest2, Test_PermuteEquality_2) { } TEST_F(NDArrayTest2, Test_PermuteEquality_3) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {4, 5, 3}, {1.0, 21.0, 41.0, 2.0, 22.0, 42.0, 3.0, 23.0, 43.0, 4.0, 24.0, 44.0, 5.0, 25.0, 45.0, 6.0, 26.0, 46.0, 7.0, 27.0, 47.0, 8.0, 28.0, 48.0, 9.0, 29.0, 49.0, 10.0, 30.0, 50.0, 11.0, 31.0, 51.0, 12.0, 32.0, 52.0, 13.0, 33.0, 53.0, 14.0, 34.0, 54.0, 15.0, 35.0, 55.0, 16.0, 36.0, 56.0, 17.0, 37.0, 57.0, 18.0, 38.0, 58.0, 19.0, 39.0, 59.0, 20.0, 40.0, 60.0}); + auto exp = NDArrayFactory::create( {4, 5, 3}, {1.0, 21.0, 41.0, 2.0, 22.0, 42.0, 3.0, 23.0, 43.0, 4.0, 24.0, 44.0, 5.0, 25.0, 45.0, 6.0, 26.0, 46.0, 7.0, 27.0, 47.0, 8.0, 28.0, 48.0, 9.0, 29.0, 49.0, 10.0, 30.0, 50.0, 11.0, 31.0, 51.0, 12.0, 32.0, 52.0, 13.0, 33.0, 53.0, 14.0, 34.0, 54.0, 15.0, 35.0, 55.0, 16.0, 36.0, 56.0, 17.0, 37.0, 57.0, 18.0, 38.0, 58.0, 19.0, 39.0, 59.0, 20.0, 40.0, 60.0}); x.reshapei('c', {3, 4, 5}); x.permutei({1, 2, 0}); @@ -519,9 +519,9 @@ TEST_F(NDArrayTest2, Test_PermuteEquality_3) { } TEST_F(NDArrayTest2, Test_PermuteEquality_4) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {5, 3, 4}, {1.0, 6.0, 11.0, 16.0, 21.0, 26.0, 31.0, 36.0, 41.0, 46.0, 51.0, 56.0, 2.0, 7.0, 12.0, 17.0, 22.0, 27.0, 32.0, 37.0, 42.0, 47.0, 52.0, 57.0, 3.0, 8.0, 13.0, 18.0, 23.0, 28.0, 33.0, 38.0, 43.0, 48.0, 53.0, 58.0, 4.0, 9.0, 14.0, 19.0, 24.0, 29.0, 34.0, 39.0, 44.0, 49.0, 54.0, 59.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0}); + auto exp = NDArrayFactory::create( {5, 3, 4}, {1.0, 6.0, 11.0, 16.0, 21.0, 26.0, 31.0, 36.0, 41.0, 46.0, 51.0, 56.0, 2.0, 7.0, 12.0, 17.0, 22.0, 27.0, 32.0, 37.0, 42.0, 47.0, 52.0, 57.0, 3.0, 8.0, 13.0, 18.0, 23.0, 28.0, 33.0, 38.0, 43.0, 48.0, 53.0, 58.0, 4.0, 9.0, 14.0, 19.0, 24.0, 29.0, 34.0, 39.0, 44.0, 49.0, 54.0, 59.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0}); x.reshapei('c', {3, 4, 5}); x.permutei({2, 0, 1}); @@ -535,9 +535,9 @@ TEST_F(NDArrayTest2, Test_PermuteEquality_4) { } TEST_F(NDArrayTest2, Test_PermuteEquality_5) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {5, 4, 3}, + auto exp = NDArrayFactory::create( {5, 4, 3}, {1.0, 21.0, 41.0, 6.0, 26.0, 46.0, 11.0, 31.0, 51.0, 16.0, 36.0, 56.0, 2.0, 22.0, 42.0, 7.0, 27.0, 47.0, 12.0, 32.0, 52.0, 17.0, 37.0, 57.0, 3.0, 23.0, 43.0, 8.0, 28.0, 48.0, 13.0, 33.0, 53.0, 18.0, 38.0, 58.0, 4.0, 24.0, 44.0, 9.0, 29.0, 49.0, 14.0, 34.0, 54.0, 19.0, 39.0, 59.0, @@ -558,8 +558,8 @@ TEST_F(NDArrayTest2, Test_PermuteEquality_5) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, fillAsTriangular_test1) { - auto x = NDArrayFactory::create('c', {4, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); - auto exp = NDArrayFactory::create('c', {4, 4}, {1,0,0,0,5,6,0,0,9,10,11,0 ,13,14,15,16}); + auto x = NDArrayFactory::create( {4, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); + auto exp = NDArrayFactory::create( {4, 4}, {1,0,0,0,5,6,0,0,9,10,11,0 ,13,14,15,16}); x.fillAsTriangular(0., 0, 0, x, 'u'); @@ -571,8 +571,8 @@ TEST_F(NDArrayTest2, fillAsTriangular_test1) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, fillAsTriangular_test2) { - auto x = NDArrayFactory::create('c', {4, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); - auto exp = NDArrayFactory::create('c', {4, 4}, {0,0,0,0,5,0,0,0,9,10,0 ,0 ,13,14,15,0}); + auto x = NDArrayFactory::create( {4, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); + auto exp = NDArrayFactory::create( {4, 4}, {0,0,0,0,5,0,0,0,9,10,0 ,0 ,13,14,15,0}); x.fillAsTriangular(0., 0, -1, x, 'u'); @@ -584,8 +584,8 @@ TEST_F(NDArrayTest2, fillAsTriangular_test2) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, fillAsTriangular_test3) { - auto x = NDArrayFactory::create('c', {4, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); - auto exp = NDArrayFactory::create('c', {4, 4}, {1,2,3,4,0,6,7,8,0,0 ,11,12,0 ,0 , 0,16}); + auto x = NDArrayFactory::create( {4, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); + auto exp = NDArrayFactory::create( {4, 4}, {1,2,3,4,0,6,7,8,0,0 ,11,12,0 ,0 , 0,16}); x.fillAsTriangular(0., 0, 0, x, 'l'); @@ -597,8 +597,8 @@ TEST_F(NDArrayTest2, fillAsTriangular_test3) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, fillAsTriangular_test4) { - auto x = NDArrayFactory::create('c', {4, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); - auto exp = NDArrayFactory::create('c', {4, 4}, {0,2,3,4,0,0,7,8,0,0 , 0,12, 0, 0, 0, 0}); + auto x = NDArrayFactory::create( {4, 4}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); + auto exp = NDArrayFactory::create( {4, 4}, {0,2,3,4,0,0,7,8,0,0 , 0,12, 0, 0, 0, 0}); x.fillAsTriangular(0., 1, 0, x, 'l'); @@ -608,7 +608,7 @@ TEST_F(NDArrayTest2, fillAsTriangular_test4) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_DType_Conversion_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 4, 5, 6}); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 4, 5, 6}); auto xd = x.template asT(); @@ -620,9 +620,9 @@ TEST_F(NDArrayTest2, Test_DType_Conversion_1) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_ScalarArray_Assign_1) { - auto x = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 2}); auto y = NDArrayFactory::create(2.0f); - auto exp = NDArrayFactory::create('c', {2, 2}, {2.0f, 2.0f, 2.0f, 2.0f}); + auto exp = NDArrayFactory::create( {2, 2}, {2.0f, 2.0f, 2.0f, 2.0f}); x.assign(y); @@ -632,8 +632,8 @@ TEST_F(NDArrayTest2, Test_ScalarArray_Assign_1) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_Reshape_To_Vector_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto exp = NDArrayFactory::create('c', {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto x = NDArrayFactory::create( {2, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto exp = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); x.reshapei({-1}); @@ -643,7 +643,7 @@ TEST_F(NDArrayTest2, Test_Reshape_To_Vector_1) { TEST_F(NDArrayTest2, Test_toIndexedString_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1.5f, 2.5f, 3.f, 4.5f}); + auto x = NDArrayFactory::create( {2, 2}, {1.5f, 2.5f, 3.f, 4.5f}); auto str = x.asIndexedString(); std::string exp = "[1.5, 2.5, 3, 4.5]"; @@ -679,7 +679,7 @@ TEST_F(NDArrayTest2, permute_test4) { TEST_F(NDArrayTest2, TestStdDev3) { // autoarray('c', {10, 10}); - auto array = NDArrayFactory::create('c', {2, 2}, {0.2946, 0.2084, 0.0345, 0.7368}); + auto array = NDArrayFactory::create( {2, 2}, {0.2946, 0.2084, 0.0345, 0.7368}); const int len = array.lengthOf(); double sum = 0.; @@ -707,8 +707,8 @@ TEST_F(NDArrayTest2, TestStdDev3) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_Linspace_1) { - auto exp = NDArrayFactory::create('c',{1,5}, {1., 2., 3., 4., 5.}); - auto x = NDArrayFactory::create('c', {1, 5}); + auto exp = NDArrayFactory::create( {1,5}, {1., 2., 3., 4., 5.}); + auto x = NDArrayFactory::create( {1, 5}); x.linspace(1); ASSERT_TRUE(x.equalsTo(&exp)); @@ -716,8 +716,8 @@ TEST_F(NDArrayTest2, Test_Linspace_1) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_Linspace_2) { - auto exp = NDArrayFactory::create('c',{1,5}, {1., 3., 5., 7., 9.}); - auto x = NDArrayFactory::create('c', {1, 5}); + auto exp = NDArrayFactory::create( {1,5}, {1., 3., 5., 7., 9.}); + auto x = NDArrayFactory::create( {1, 5}); x.linspace(1, 2); @@ -727,9 +727,9 @@ TEST_F(NDArrayTest2, Test_Linspace_2) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_Linspace_3) { - auto exp = NDArrayFactory::create('c',{1,5}, {1., 4., 7., 10., 13.}); + auto exp = NDArrayFactory::create( {1,5}, {1., 4., 7., 10., 13.}); - auto x = NDArrayFactory::create('c', {1, 5}); + auto x = NDArrayFactory::create( {1, 5}); x.linspace(1,3); ASSERT_TRUE(x.equalsTo(&exp)); @@ -737,9 +737,9 @@ TEST_F(NDArrayTest2, Test_Linspace_3) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_Linspace_4) { - auto exp = NDArrayFactory::create('c',{1,5}, {-1., -2., -3., -4., -5.}); + auto exp = NDArrayFactory::create( {1,5}, {-1., -2., -3., -4., -5.}); - auto x = NDArrayFactory::create('c', {1, 5}); + auto x = NDArrayFactory::create( {1, 5}); x.linspace(-1, -1); ASSERT_TRUE(x.equalsTo(&exp)); @@ -747,9 +747,9 @@ TEST_F(NDArrayTest2, Test_Linspace_4) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, Test_Linspace_5) { - auto exp = NDArrayFactory::create('c',{1,5}, {9., 8., 7., 6., 5.}); + auto exp = NDArrayFactory::create( {1,5}, {9., 8., 7., 6., 5.}); - auto x = NDArrayFactory::create('c', {1, 5}); + auto x = NDArrayFactory::create( {1, 5}); x.linspace(9, -1); ASSERT_TRUE(x.equalsTo(&exp)); @@ -759,8 +759,8 @@ TEST_F(NDArrayTest2, Test_Linspace_5) { //////////////////////////////////////////////////////////////////// TEST_F(NDArrayTest2, allTensorsAlongDimension_test1) { - auto x = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); - auto exp = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {4}, {1, 2, 3, 4}); + auto exp = NDArrayFactory::create( {4}, {1, 2, 3, 4}); auto set = x.allTensorsAlongDimension({0}); // set->at(0)->printShapeInfo(); @@ -829,11 +829,10 @@ TEST_F(NDArrayTest2, scalar_set_test2) { TEST_F(NDArrayTest2, big_dup_test) { // auto arr = NDArrayFactory::linspace(1.0f, 10000000.0f, 100000000); auto arr = NDArrayFactory::linspace(1.0f, 1000.0f, 10000); - auto dup = new NDArray(arr->dup('c')); + auto dup = new NDArray(arr.dup('c')); - ASSERT_EQ(*arr, *dup); + ASSERT_EQ(arr, *dup); - delete arr; delete dup; } @@ -1075,9 +1074,9 @@ TEST_F(NDArrayTest2, test_subarray_3d_cf) { } TEST_F(NDArrayTest2, test_broadcast_row_1) { - auto x = NDArrayFactory::create('c', {10, 5}); - auto y = NDArrayFactory::create('c', {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); - auto e = NDArrayFactory::create('c', {10, 5}); + auto x = NDArrayFactory::create( {10, 5}); + auto y = NDArrayFactory::create( {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto e = NDArrayFactory::create( {10, 5}); e.assign(1.0f); x += y; @@ -1086,9 +1085,9 @@ TEST_F(NDArrayTest2, test_broadcast_row_1) { } TEST_F(NDArrayTest2, test_broadcast_column_1) { - auto x = NDArrayFactory::create('c', {5, 10}); - auto y = NDArrayFactory::create('c', {5, 1}, {1.f, 1.f, 1.f, 1.f, 1.f}); - auto e = NDArrayFactory::create('c', {5, 10}); + auto x = NDArrayFactory::create( {5, 10}); + auto y = NDArrayFactory::create( {5, 1}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto e = NDArrayFactory::create( {5, 10}); e.assign(1.0f); x += y; @@ -1097,9 +1096,9 @@ TEST_F(NDArrayTest2, test_broadcast_column_1) { } TEST_F(NDArrayTest2, test_broadcast_column_2) { - auto x = NDArrayFactory::create('c', {5, 10}); - auto y = NDArrayFactory::create('c', {5, 1}, {1.f, 1.f, 1.f, 1.f, 1.f}); - auto e = NDArrayFactory::create('c', {5, 10}); + auto x = NDArrayFactory::create( {5, 10}); + auto y = NDArrayFactory::create( {5, 1}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto e = NDArrayFactory::create( {5, 10}); e.assign(1.0f); x.applyTrueBroadcast(BroadcastOpsTuple::Add(), y, x, false); @@ -1108,9 +1107,9 @@ TEST_F(NDArrayTest2, test_broadcast_column_2) { } TEST_F(NDArrayTest2, test_broadcast_column_3) { - auto x = NDArrayFactory::create('c', {5, 10}); - auto y = NDArrayFactory::create('c', {5, 1}, {1.f, 1.f, 1.f, 1.f, 1.f}); - auto e = NDArrayFactory::create('c', {5, 10}); + auto x = NDArrayFactory::create( {5, 10}); + auto y = NDArrayFactory::create( {5, 1}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto e = NDArrayFactory::create( {5, 10}); e.assign(1.0f); x.applyTrueBroadcast(BroadcastOpsTuple::Add(), y, x); @@ -1119,9 +1118,9 @@ TEST_F(NDArrayTest2, test_broadcast_column_3) { } TEST_F(NDArrayTest2, test_broadcast_column_4) { - auto x = NDArrayFactory::create('f', {10, 5}); - auto y = NDArrayFactory::create('f', {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); - auto e = NDArrayFactory::create('f', {10, 5}); + auto x = NDArrayFactory::create( {10, 5}, {}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create( {5}, {1.f, 1.f, 1.f, 1.f, 1.f}, sd::kArrayOrderFortran); + auto e = NDArrayFactory::create( {10, 5}, {}, sd::kArrayOrderFortran); e.assign(1.0f); x.applyTrueBroadcast(BroadcastOpsTuple::Add(), y, x); @@ -1130,9 +1129,9 @@ TEST_F(NDArrayTest2, test_broadcast_column_4) { } TEST_F(NDArrayTest2, test_not_tiled_1) { - auto x = NDArrayFactory::create('c', {4, 12, 128, 128}); - auto y = NDArrayFactory::create('c', {4, 1, 128, 128}); - auto e = NDArrayFactory::create('c', {4, 12, 128, 128}); + auto x = NDArrayFactory::create( {4, 12, 128, 128}); + auto y = NDArrayFactory::create( {4, 1, 128, 128}); + auto e = NDArrayFactory::create( {4, 12, 128, 128}); y.assign(1.0f); e.assign(1.0f); @@ -1142,9 +1141,9 @@ TEST_F(NDArrayTest2, test_not_tiled_1) { } TEST_F(NDArrayTest2, test_not_tiled_2) { - auto x = NDArrayFactory::create('c', {4, 128, 768}); - auto y = NDArrayFactory::create('c', {4, 128, 1}); - auto e = NDArrayFactory::create('c', {4, 128, 768}); + auto x = NDArrayFactory::create( {4, 128, 768}); + auto y = NDArrayFactory::create( {4, 128, 1}); + auto e = NDArrayFactory::create( {4, 128, 768}); y.assign(1.0f); e.assign(1.0f); @@ -1154,7 +1153,7 @@ TEST_F(NDArrayTest2, test_not_tiled_2) { } TEST_F(NDArrayTest2, test_long_sum_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); auto z = x.reduceAlongDimension(reduce::Sum, {0}); } @@ -1255,15 +1254,15 @@ TEST_F(NDArrayTest2, reduce3_1) { } TEST_F(NDArrayTest2, all_tads_1) { - auto x = NDArrayFactory::create('c', {3, 5}); + auto x = NDArrayFactory::create( {3, 5}); auto arrays = x.allTensorsAlongDimension({1}); ASSERT_EQ(3, arrays.size()); } TEST_F(NDArrayTest2, test_trueBroadcast_empty_1) { - auto x = NDArrayFactory::create('c', {0, 2}); - auto y = NDArrayFactory::create('c', {1, 2}); + auto x = NDArrayFactory::create( {0, 2}); + auto y = NDArrayFactory::create( {1, 2}); auto z = x + y; @@ -1271,8 +1270,8 @@ TEST_F(NDArrayTest2, test_trueBroadcast_empty_1) { } TEST_F(NDArrayTest2, test_trueBroadcast_empty_2) { - auto x = NDArrayFactory::create('c', {0, 2}); - auto y = NDArrayFactory::create('c', {1, 2}); + auto x = NDArrayFactory::create( {0, 2}); + auto y = NDArrayFactory::create( {1, 2}); auto z = y + x; @@ -1298,7 +1297,7 @@ TEST_F(NDArrayTest2, test_subarray_followed_by_reshape_1) { TEST_F(NDArrayTest2, test_numpy_import_1) { std::string fname("./resources/arr_3,4_float32.npy"); - auto exp = NDArrayFactory::create('c', {3, 4}); + auto exp = NDArrayFactory::create( {3, 4}); exp.linspace(0); auto array = NDArrayFactory::fromNpyFile(fname.c_str()); From cb500d7b724634c0c40adca962ed0164c646bb24 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 11:18:41 +0300 Subject: [PATCH 68/99] Fixed native ops tests and nlp tests with new factory create methods. Signed-off-by: shugeo --- .../tests_cpu/layers_tests/NativeOpsTests.cpp | 282 +++++++++--------- libnd4j/tests_cpu/layers_tests/NlpTests.cpp | 208 ++++++------- 2 files changed, 245 insertions(+), 245 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp index 3d0df208fe35..7a5bee9e6d26 100644 --- a/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp @@ -65,7 +65,7 @@ TEST_F(NativeOpsTests, CreateContextTests_2) { } TEST_F(NativeOpsTests, PointerTests_1) { - auto x = NDArrayFactory::create('c', {5}, {1,2,3,4,5}); + auto x = NDArrayFactory::create( {5}, {1,2,3,4,5}); // x.linspace(1.0); #ifdef __CUDABLAS__ printf("Unsupported for cuda now.\n"); @@ -113,7 +113,7 @@ TEST_F(NativeOpsTests, ThresholdTests_2) { } TEST_F(NativeOpsTests, ExecIndexReduce_1) { - auto x = NDArrayFactory::create('c', {5}, {1,2,3,4,5}); + auto x = NDArrayFactory::create( {5}, {1,2,3,4,5}); auto exp = NDArrayFactory::create(120); x.linspace(1.0); #ifdef __CUDABLAS__ @@ -135,13 +135,13 @@ TEST_F(NativeOpsTests, ExecIndexReduce_1) { } TEST_F(NativeOpsTests, ExecIndexReduce_2) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120); x.linspace(1.0); #ifdef __CUDABLAS__ printf("Unsupported for cuda now.\n"); #else - NDArray dimension = NDArrayFactory::create({}); + NDArray dimension = NDArrayFactory::vector({}); OpaqueDataBuffer xBuf(x.dataBuffer()); OpaqueDataBuffer expBuf(exp.dataBuffer()); OpaqueDataBuffer dimensionBuf(dimension.dataBuffer()); @@ -161,15 +161,15 @@ TEST_F(NativeOpsTests, ExecIndexReduce_2) { } TEST_F(NativeOpsTests, ExecBroadcast_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 1}); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 1}); + auto exp = NDArrayFactory::create( {5, 5}); x.linspace(1.0); y.linspace(2,2); #ifdef __CUDABLAS__ printf("Unsupported for cuda now.\n"); #else - auto dimension = NDArrayFactory::create('c', {1}, {1}); + auto dimension = NDArrayFactory::create( {1}, {1}); OpaqueDataBuffer xBuf(x.dataBuffer()); OpaqueDataBuffer yBuf(y.dataBuffer()); @@ -193,16 +193,16 @@ TEST_F(NativeOpsTests, ExecBroadcast_1) { } TEST_F(NativeOpsTests, ExecBroadcast_2) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 1}); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 1}); + auto exp = NDArrayFactory::create( {5, 5}); x.linspace(1.0); y.linspace(2,2); #ifdef __CUDABLAS__ printf("Unsupported for cuda now.\n"); #else int dimd = 0; - auto dimension = NDArrayFactory::create('c', {1}, {dimd}); + auto dimension = NDArrayFactory::create( {1}, {dimd}); OpaqueDataBuffer xBuf(x.dataBuffer()); OpaqueDataBuffer yBuf(y.dataBuffer()); @@ -222,9 +222,9 @@ printf("Unsupported for cuda now.\n"); } TEST_F(NativeOpsTests, ExecPairwise_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); x.linspace(1.0); y.assign(2.); #ifdef __CUDABLAS__ @@ -246,9 +246,9 @@ TEST_F(NativeOpsTests, ExecPairwise_1) { } TEST_F(NativeOpsTests, ExecPairwise_2) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); - auto exp = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); x.assign(true); y.assign(false); y.r(5) = true; @@ -271,14 +271,14 @@ TEST_F(NativeOpsTests, ExecPairwise_2) { } TEST_F(NativeOpsTests, ReduceTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120.); x.linspace(1.0); #ifdef __CUDABLAS__ printf("Unsupported for cuda now.\n"); #else - auto dimension = NDArrayFactory::create('c', {1}, {1}); + auto dimension = NDArrayFactory::create( {1}, {1}); OpaqueDataBuffer xBuf(x.dataBuffer()); OpaqueDataBuffer expBuf(exp.dataBuffer()); @@ -295,7 +295,7 @@ TEST_F(NativeOpsTests, ReduceTest_1) { } TEST_F(NativeOpsTests, ReduceTest_2) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120.); x.linspace(1.0); @@ -318,7 +318,7 @@ TEST_F(NativeOpsTests, ReduceTest_2) { } TEST_F(NativeOpsTests, ReduceTest_3) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(false); x.linspace(1.0); @@ -341,7 +341,7 @@ TEST_F(NativeOpsTests, ReduceTest_3) { } TEST_F(NativeOpsTests, ReduceTest_4) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120LL); x.linspace(1.0); @@ -364,14 +364,14 @@ TEST_F(NativeOpsTests, ReduceTest_4) { } TEST_F(NativeOpsTests, ReduceTest_5) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120LL); x.linspace(1.0); #ifdef __CUDABLAS__ printf("Unsupported for cuda now.\n"); #else - auto dimension = NDArrayFactory::create({0, 1}); + auto dimension = NDArrayFactory::vector({0, 1}); OpaqueDataBuffer xBuf(x.dataBuffer()); OpaqueDataBuffer expBuf(exp.dataBuffer()); OpaqueDataBuffer dimBuf(dimension.dataBuffer()); @@ -390,15 +390,15 @@ TEST_F(NativeOpsTests, ReduceTest_5) { } TEST_F(NativeOpsTests, ReduceTest_6) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto z = NDArrayFactory::create({5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create({1,2,3,4,6}); + auto x = NDArrayFactory::create( {5, 5}); + auto z = NDArrayFactory::vector({5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::vector({1,2,3,4,6}); x.linspace(1.0); #ifdef __CUDABLAS__ printf("Unsupported for cuda now.\n"); #else - auto dimension = NDArrayFactory::create('c', {1}, {1}); + auto dimension = NDArrayFactory::create( {1}, {1}); x.p(5, 0); x.p(10, 0); x.p(11, 0); x.p(15, 0); x.p(16, 0); x.p(17, 0); @@ -422,12 +422,12 @@ TEST_F(NativeOpsTests, ReduceTest_6) { } TEST_F(NativeOpsTests, ReduceTest_7) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120.); auto z = NDArrayFactory::create(13.); - auto dimension = NDArrayFactory::create('c', {2}, {0, 1}); + auto dimension = NDArrayFactory::create( {2}, {0, 1}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ x.syncToHost(); @@ -454,12 +454,12 @@ TEST_F(NativeOpsTests, ReduceTest_7) { } TEST_F(NativeOpsTests, ReduceTest_8) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto z = NDArrayFactory::create(120.); auto exp = NDArrayFactory::create(325.); - auto dimension = NDArrayFactory::create('c', {2}, {0, 1}); + auto dimension = NDArrayFactory::create( {2}, {0, 1}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ extra[1] = x.getContext()->getCudaStream(); @@ -487,11 +487,11 @@ TEST_F(NativeOpsTests, ReduceTest_8) { } TEST_F(NativeOpsTests, ReduceTest_9) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(false); auto z = NDArrayFactory::create(true); - auto dimension = NDArrayFactory::create('c', {2}, {0, 1}); + auto dimension = NDArrayFactory::create( {2}, {0, 1}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ extra[1] = x.getContext()->getCudaStream(); @@ -519,12 +519,12 @@ TEST_F(NativeOpsTests, ReduceTest_9) { } TEST_F(NativeOpsTests, Reduce3Test_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120.); auto z = NDArrayFactory::create(650.); - auto dimension = NDArrayFactory::create('c', {2}, {0, 1}); + auto dimension = NDArrayFactory::create( {2}, {0, 1}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ extra[1] = x.getContext()->getCudaStream(); @@ -553,12 +553,12 @@ TEST_F(NativeOpsTests, Reduce3Test_1) { } TEST_F(NativeOpsTests, Reduce3Test_2) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120.); auto z = NDArrayFactory::create(650.); - auto dimension = NDArrayFactory::create('c', {2}, {0, 1}); + auto dimension = NDArrayFactory::create( {2}, {0, 1}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ extra[1] = x.getContext()->getCudaStream(); @@ -587,12 +587,12 @@ TEST_F(NativeOpsTests, Reduce3Test_2) { } TEST_F(NativeOpsTests, Reduce3Test_3) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120.); auto z = NDArrayFactory::create(650.); - auto dimension = NDArrayFactory::create('c', {2}, {0, 1}); + auto dimension = NDArrayFactory::create( {2}, {0, 1}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ extra[1] = x.getContext()->getCudaStream(); @@ -625,12 +625,12 @@ TEST_F(NativeOpsTests, Reduce3Test_3) { } TEST_F(NativeOpsTests, Reduce3Test_4) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); auto exp = NDArrayFactory::create(120.); auto z = NDArrayFactory::create(650.); - auto dimension = NDArrayFactory::create('c', {2}, {0, 1}); + auto dimension = NDArrayFactory::create( {2}, {0, 1}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ extra[1] = x.getContext()->getCudaStream(); @@ -671,10 +671,10 @@ TEST_F(NativeOpsTests, Reduce3Test_4) { } TEST_F(NativeOpsTests, ScalarTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto y = NDArrayFactory::create(10.); - auto exp = NDArrayFactory::create('c', {5,5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto exp = NDArrayFactory::create( {5,5}); + auto z = NDArrayFactory::create( {5,5}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ @@ -706,10 +706,10 @@ TEST_F(NativeOpsTests, ScalarTest_1) { } TEST_F(NativeOpsTests, ScalarTest_2) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto y = NDArrayFactory::create(10.f); - auto exp = NDArrayFactory::create('c', {5,5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto exp = NDArrayFactory::create( {5,5}); + auto z = NDArrayFactory::create( {5,5}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ @@ -741,7 +741,7 @@ TEST_F(NativeOpsTests, ScalarTest_2) { } TEST_F(NativeOpsTests, SummaryStatsScalarTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}, {0.1f, 0.2f, 0.3f, -0.3f, -0.5f, 0.5f, 0.7f, 0.9f, 0.8f, 0.1f, 0.11f, 0.12f, 0.5f, -0.8f, -0.9f, 0.4f, 0.1f, 0.2f, 0.3f, -0.3f, -0.5f, 0.2f, 0.3f, -0.3f, -0.5f}); + auto x = NDArrayFactory::create( {5, 5}, {0.1f, 0.2f, 0.3f, -0.3f, -0.5f, 0.5f, 0.7f, 0.9f, 0.8f, 0.1f, 0.11f, 0.12f, 0.5f, -0.8f, -0.9f, 0.4f, 0.1f, 0.2f, 0.3f, -0.3f, -0.5f, 0.2f, 0.3f, -0.3f, -0.5f}); auto exp = NDArrayFactory::create(0.9f); auto z = NDArrayFactory::create(0.21587136f); @@ -767,7 +767,7 @@ TEST_F(NativeOpsTests, SummaryStatsScalarTest_1) { } TEST_F(NativeOpsTests, SummaryStatsScalarTest_2) { - auto x = NDArrayFactory::create('c', {5, 5}, {0.1, 0.2, 0.3, -0.3, -0.5, 0.5, 0.7, 0.9, 0.8, 0.1, 0.11, 0.12, 0.5, -0.8, -0.9, 0.4, 0.1, 0.2, 0.3, -0.3, -0.5, 0.2, 0.3, -0.3, -0.5}); + auto x = NDArrayFactory::create( {5, 5}, {0.1, 0.2, 0.3, -0.3, -0.5, 0.5, 0.7, 0.9, 0.8, 0.1, 0.11, 0.12, 0.5, -0.8, -0.9, 0.4, 0.1, 0.2, 0.3, -0.3, -0.5, 0.2, 0.3, -0.3, -0.5}); auto exp = NDArrayFactory::create(0.9); auto z = NDArrayFactory::create(0.21587136); @@ -792,7 +792,7 @@ TEST_F(NativeOpsTests, SummaryStatsScalarTest_2) { } TEST_F(NativeOpsTests, SummaryStatsScalarTest_3) { - auto x = NDArrayFactory::create('c', {5, 5}, {0.1, 0.2, 0.3, -0.3, -0.5, 0.5, 0.7, 0.9, 0.8, 0.1, 0.11, 0.12, 0.5, -0.8, -0.9, 0.4, 0.1, 0.2, 0.3, -0.3, -0.5, 0.2, 0.3, -0.3, -0.5}); + auto x = NDArrayFactory::create( {5, 5}, {0.1, 0.2, 0.3, -0.3, -0.5, 0.5, 0.7, 0.9, 0.8, 0.1, 0.11, 0.12, 0.5, -0.8, -0.9, 0.4, 0.1, 0.2, 0.3, -0.3, -0.5, 0.2, 0.3, -0.3, -0.5}); auto exp = NDArrayFactory::create(0.9); auto z = NDArrayFactory::create(0.21587136); @@ -804,7 +804,7 @@ TEST_F(NativeOpsTests, SummaryStatsScalarTest_3) { printf("Unsupported for CUDA platform yet.\n"); return; #endif - auto dimensions = NDArrayFactory::create({0, 1}); + auto dimensions = NDArrayFactory::vector({0, 1}); OpaqueDataBuffer xBuf(x.dataBuffer()); OpaqueDataBuffer expBuf(exp.dataBuffer()); OpaqueDataBuffer dimBuf(dimensions.dataBuffer()); @@ -823,9 +823,9 @@ TEST_F(NativeOpsTests, SummaryStatsScalarTest_3) { } TEST_F(NativeOpsTests, TransformTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}, {1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625}); - auto exp = NDArrayFactory::create('c', {5, 5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto x = NDArrayFactory::create( {5, 5}, {1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625}); + auto exp = NDArrayFactory::create( {5, 5}); + auto z = NDArrayFactory::create( {5,5}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ @@ -852,9 +852,9 @@ TEST_F(NativeOpsTests, TransformTest_1) { } TEST_F(NativeOpsTests, TransformTest_2) { - auto x = NDArrayFactory::create('c', {5, 5}, {1.f, 4.f, 9.f, 16.f, 25.f, 36.f, 49.f, 64.f, 81.f, 100.f, 121.f, 144.f, 169.f, 196.f, 225.f, 256.f, 289.f, 324.f, 361.f, 400.f, 441.f, 484.f, 529.f, 576.f, 625.f}); - auto exp = NDArrayFactory::create('c', {5, 5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto x = NDArrayFactory::create( {5, 5}, {1.f, 4.f, 9.f, 16.f, 25.f, 36.f, 49.f, 64.f, 81.f, 100.f, 121.f, 144.f, 169.f, 196.f, 225.f, 256.f, 289.f, 324.f, 361.f, 400.f, 441.f, 484.f, 529.f, 576.f, 625.f}); + auto exp = NDArrayFactory::create( {5, 5}); + auto z = NDArrayFactory::create( {5,5}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ @@ -881,9 +881,9 @@ TEST_F(NativeOpsTests, TransformTest_2) { } TEST_F(NativeOpsTests, TransformTest_3) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto exp = NDArrayFactory::create('c', {5, 5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto x = NDArrayFactory::create( {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); + auto z = NDArrayFactory::create( {5,5}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ @@ -912,10 +912,10 @@ TEST_F(NativeOpsTests, TransformTest_3) { } TEST_F(NativeOpsTests, TransformTest_4) { - auto x = NDArrayFactory::create('c', {5, 5}, {0, 1, 2, 3, 2, 1, 0, 1.57, 1.57, 1.57, 3.141592, 3.141592, + auto x = NDArrayFactory::create( {5, 5}, {0, 1, 2, 3, 2, 1, 0, 1.57, 1.57, 1.57, 3.141592, 3.141592, 3.141592, 0, 0, 0, 0, 1, 1, 2, 2, 2, 1, 0, 0}); - auto exp = NDArrayFactory::create('c', {5, 5}); - auto z = NDArrayFactory::create('c', {5,5}, {1., 0.540302, -0.416147, -0.989992, -0.416147, 0.540302, 1.0, + auto exp = NDArrayFactory::create( {5, 5}); + auto z = NDArrayFactory::create( {5,5}, {1., 0.540302, -0.416147, -0.989992, -0.416147, 0.540302, 1.0, 0.000796, 0.000796, 0.000796, -1, -1, -1, 1., 1., 1.0, 1.0, 0.540302, 0.540302, -0.416147, -0.416147, -0.416147, 0.540302, 1., 1.}); @@ -942,10 +942,10 @@ TEST_F(NativeOpsTests, TransformTest_4) { } TEST_F(NativeOpsTests, ScalarTadTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto y = NDArrayFactory::create(10.f); - auto exp = NDArrayFactory::create('c', {5,5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto exp = NDArrayFactory::create( {5,5}); + auto z = NDArrayFactory::create( {5,5}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ @@ -961,7 +961,7 @@ TEST_F(NativeOpsTests, ScalarTadTest_1) { //y.assign(2.); x.syncToDevice(); z.syncToDevice(); - auto dimension = NDArrayFactory::create({0, 1}); + auto dimension = NDArrayFactory::vector({0, 1}); auto dimensions = reinterpret_cast(dimension.buffer()); auto tadPackX = sd::ConstantTadHelper::getInstance()->tadForDimensions(x.shapeInfo(), dimensions, dimension.lengthOf()); auto tadPackZ = sd::ConstantTadHelper::getInstance()->tadForDimensions(z.shapeInfo(), dimensions, dimension.lengthOf()); @@ -985,10 +985,10 @@ TEST_F(NativeOpsTests, ScalarTadTest_1) { } TEST_F(NativeOpsTests, ScalarTadTest_2) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); auto y = NDArrayFactory::create(true); - auto exp = NDArrayFactory::create('c', {5,5}); - auto z = NDArrayFactory::create('c', {5, 5}); + auto exp = NDArrayFactory::create( {5,5}); + auto z = NDArrayFactory::create( {5, 5}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ @@ -1006,7 +1006,7 @@ TEST_F(NativeOpsTests, ScalarTadTest_2) { //y.assign(2.); x.syncToDevice(); z.syncToDevice(); - auto dimension = NDArrayFactory::create({0, 1}); + auto dimension = NDArrayFactory::vector({0, 1}); auto dimensions = reinterpret_cast(dimension.buffer()); auto tadPackX = sd::ConstantTadHelper::getInstance()->tadForDimensions(x.shapeInfo(), dimensions, dimension.lengthOf()); auto tadPackZ = sd::ConstantTadHelper::getInstance()->tadForDimensions(z.shapeInfo(), dimensions, dimension.lengthOf()); @@ -1034,10 +1034,10 @@ TEST_F(NativeOpsTests, ScalarTadTest_2) { } TEST_F(NativeOpsTests, ConcatTest_2) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); - auto exp = NDArrayFactory::create('c', {10,5}); - auto z = NDArrayFactory::create('c', {10,5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); + auto exp = NDArrayFactory::create( {10,5}); + auto z = NDArrayFactory::create( {10,5}); Nd4jPointer extra[6]; #ifdef __CUDABLAS__ @@ -1055,7 +1055,7 @@ TEST_F(NativeOpsTests, ConcatTest_2) { x.syncToDevice(); z.syncToDevice(); int d = 0; - auto dimension = NDArrayFactory::create('c', {1}, {d}); + auto dimension = NDArrayFactory::create( {1}, {d}); auto dimensions = reinterpret_cast(dimension.buffer()); //auto tadPackX = sd::ConstantTadHelper::getInstance()->tadForDimensions(x.shapeInfo(), dimensions, dimension.lengthOf()); auto tadPackZ = sd::ConstantTadHelper::getInstance()->tadForDimensions(z.shapeInfo(), dimensions, dimension.lengthOf()); @@ -1101,8 +1101,8 @@ TEST_F(NativeOpsTests, CreateTest_1) { } TEST_F(NativeOpsTests, MemTest_1) { - auto x = NDArrayFactory::create({10, 20, 30, 40, 50}); - auto y = NDArrayFactory::create({20, 20, 20, 20, 20}); + auto x = NDArrayFactory::vector({10, 20, 30, 40, 50}); + auto y = NDArrayFactory::vector({20, 20, 20, 20, 20}); #ifdef __CUDABLAS__ return ; @@ -1149,7 +1149,7 @@ TEST_F(NativeOpsTests, PullRowsTest_1) { TEST_F(NativeOpsTests, TadPackTest_1) { int dimension[] = {1}; int const dimensionLength = 1; - auto x = NDArrayFactory::create('c', {2,3,4}); + auto x = NDArrayFactory::create( {2,3,4}); sd::TadPack* pack = ::tadOnlyShapeInfo(x.shapeInfo(), dimension, dimensionLength); @@ -1158,10 +1158,10 @@ TEST_F(NativeOpsTests, TadPackTest_1) { } TEST_F(NativeOpsTests, AverageTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); - auto exp = NDArrayFactory::create('c', {5,5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); + auto exp = NDArrayFactory::create( {5,5}); + auto z = NDArrayFactory::create( {5,5}); #ifdef __CUDABLAS__ return; #endif @@ -1182,10 +1182,10 @@ TEST_F(NativeOpsTests, AverageTest_1) { } TEST_F(NativeOpsTests, AccumulateTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); - auto exp = NDArrayFactory::create('c', {5,5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); + auto exp = NDArrayFactory::create( {5,5}); + auto z = NDArrayFactory::create( {5,5}); #ifdef __CUDABLAS__ return; #endif @@ -1211,10 +1211,10 @@ TEST_F(NativeOpsTests, P2PTest_1) { } TEST_F(NativeOpsTests, ShuffleTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto y = NDArrayFactory::create('c', {5, 5}); - auto exp = NDArrayFactory::create('c', {5,5}); - auto z = NDArrayFactory::create('c', {5,5}); + auto x = NDArrayFactory::create( {5, 5}); + auto y = NDArrayFactory::create( {5, 5}); + auto exp = NDArrayFactory::create( {5,5}); + auto z = NDArrayFactory::create( {5,5}); #ifdef __CUDABLAS__ return; #endif @@ -1247,10 +1247,10 @@ TEST_F(NativeOpsTests, ShuffleTest_1) { } TEST_F(NativeOpsTests, ConvertTypesTest_1) { - auto x = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); - auto exp = NDArrayFactory::create('c', {5, 5}); - auto z = NDArrayFactory::create('c', {5, 5}); + auto exp = NDArrayFactory::create( {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); #ifdef __CUDABLAS__ return; @@ -1263,8 +1263,8 @@ TEST_F(NativeOpsTests, ConvertTypesTest_1) { //TEST_F(NativeOpsTests, Test_Aggregations_1) { // NativeOps ops; -// auto x = NDArrayFactory::create('c', {5,5}); -// auto y = NDArrayFactory::create('c', {5,5}); +// auto x = NDArrayFactory::create( {5,5}); +// auto y = NDArrayFactory::create( {5,5}); // // // ops.execAggregate(nullptr, 0, maxArgs, maxShapes, maxIntArrays, maxIntArraySize, maxIndexArguments, maxRealArguments, pointer.data(), sd::DataType::FLOAT32); @@ -1282,7 +1282,7 @@ TEST_F(NativeOpsTests, ConvertTypesTest_1) { //} TEST_F(NativeOpsTests, RandomTest_1) { - auto z = NDArrayFactory::create('c', {100}); + auto z = NDArrayFactory::create( {100}); Nd4jPointer extra[] = {nullptr, nullptr}; #ifdef __CUDABLAS__ return; @@ -1296,8 +1296,8 @@ TEST_F(NativeOpsTests, RandomTest_1) { } TEST_F(NativeOpsTests, RandomTest_2) { - auto x = NDArrayFactory::create('c', {100}); - auto z = NDArrayFactory::create('c', {100}); + auto x = NDArrayFactory::create( {100}); + auto z = NDArrayFactory::create( {100}); Nd4jPointer extra[] = {nullptr, nullptr}; #ifdef __CUDABLAS__ return; @@ -1313,9 +1313,9 @@ TEST_F(NativeOpsTests, RandomTest_2) { } TEST_F(NativeOpsTests, RandomTest_3) { - auto x = NDArrayFactory::create('c', {100}); - auto y = NDArrayFactory::create('c', {100}); - auto z = NDArrayFactory::create('c', {100}); + auto x = NDArrayFactory::create( {100}); + auto y = NDArrayFactory::create( {100}); + auto z = NDArrayFactory::create( {100}); Nd4jPointer extra[] = {nullptr, nullptr}; #ifdef __CUDABLAS__ return; @@ -1347,9 +1347,9 @@ TEST_F(NativeOpsTests, SortTest_1) { #ifdef __CUDABLAS__ return ; #endif - auto sortedVals = NDArrayFactory::create( + auto sortedVals = NDArrayFactory::vector( {10, 1, 5, 120, 34, 5, 78, 138, 3, 111, 331, 29, 91, 71, 73, 50, 56, 4}); - auto exp = NDArrayFactory::create({1, 3, 4, 5, 5, 10, 29, 34, 50, 56, 71, 73, 78, 91, 111, 120, 138, 331}); + auto exp = NDArrayFactory::vector({1, 3, 4, 5, 5, 10, 29, 34, 50, 56, 71, 73, 78, 91, 111, 120, 138, 331}); ::sort(nullptr, sortedVals.buffer(), sortedVals.shapeInfo(), sortedVals.specialBuffer(), sortedVals.specialShapeInfo(), false); @@ -1357,11 +1357,11 @@ TEST_F(NativeOpsTests, SortTest_1) { } TEST_F(NativeOpsTests, SortTests_2) { - auto k = NDArrayFactory::create('c', {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); Nd4jPointer extras[2]; #ifdef __CUDABLAS__ extras[1] = LaunchContext::defaultContext()->getCudaStream(); @@ -1380,11 +1380,11 @@ TEST_F(NativeOpsTests, SortTests_2) { } TEST_F(NativeOpsTests, SortTest_3) { - auto k = NDArrayFactory::create('c', {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); #ifdef __CUDABLAS__ Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -1404,11 +1404,11 @@ TEST_F(NativeOpsTests, SortTest_4) { #ifdef __CUDABLAS__ return ; #endif - auto sortedVals = NDArrayFactory::create('c', {3, 6}, + auto sortedVals = NDArrayFactory::create( {3, 6}, { 10, 1, 5, 120, 34, 5, 78, 138, 3, 111, 331, 29, 91, 71, 73, 50, 56, 4}); - auto exp = NDArrayFactory::create('c', {3, 6}, {1, 5, 5, 10, 34, 120, 3, 29, 78, 111, 138, 331, 4, 50, 56, 71, 73, 91}); + auto exp = NDArrayFactory::create( {3, 6}, {1, 5, 5, 10, 34, 120, 3, 29, 78, 111, 138, 331, 4, 50, 56, 71, 73, 91}); std::vector dims({1}); auto packX = ConstantTadHelper::getInstance()->tadForDimensions(sortedVals.shapeInfo(), {1}); @@ -1420,11 +1420,11 @@ TEST_F(NativeOpsTests, SortTest_4) { } TEST_F(NativeOpsTests, SortTests_5) { - auto k = NDArrayFactory::create('c', {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); Nd4jPointer extras[2]; #ifdef __CUDABLAS__ @@ -1445,11 +1445,11 @@ TEST_F(NativeOpsTests, SortTests_5) { } TEST_F(NativeOpsTests, SortTests_6) { - auto k = NDArrayFactory::create('c', {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); Nd4jPointer extras[2]; #ifdef __CUDABLAS__ @@ -1487,9 +1487,9 @@ TEST_F(NativeOpsTests, MapTests_1) { } TEST_F(NativeOpsTests, CustomOpTest_1) { - auto x = NDArrayFactory::create('c', {1, 6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create('c', {6}); - auto e = NDArrayFactory::create('c', {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto x = NDArrayFactory::create( {1, 6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto z = NDArrayFactory::create( {6}); + auto e = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); sd::ops::squeeze op; @@ -1506,11 +1506,11 @@ TEST_F(NativeOpsTests, CustomOpTest_1) { ASSERT_EQ(e, z); } TEST_F(NativeOpsTests, CustomOpTests_2) { - auto array0 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto array1 = NDArrayFactory::create('c', {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create('c', {3, 2}); + auto array0 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto array1 = NDArrayFactory::create( {3, 2}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); + auto z = NDArrayFactory::create( {3, 2}); - auto exp = NDArrayFactory::create('c', {3, 2}, {2.f, 4.f, 6.f, 8.f, 10.f, 12.f}); + auto exp = NDArrayFactory::create( {3, 2}, {2.f, 4.f, 6.f, 8.f, 10.f, 12.f}); Context ctx(1); NDArray::prepareSpecialUse({&z}, {&array0, &array1}); @@ -1529,9 +1529,9 @@ TEST_F(NativeOpsTests, CustomOpTests_2) { ASSERT_EQ(exp, z); } TEST_F(NativeOpsTests, CalculateOutputShapeTests_1) { - auto input = NDArrayFactory::create('c', {1, 2, 5, 4}); - auto weights = NDArrayFactory::create('c', {2, 2, 2, 3}); - auto exp = NDArrayFactory::create('c', {1, 3, 5, 4}); + auto input = NDArrayFactory::create( {1, 2, 5, 4}); + auto weights = NDArrayFactory::create( {2, 2, 2, 3}); + auto exp = NDArrayFactory::create( {1, 3, 5, 4}); sd::ops::conv2d op; @@ -1561,9 +1561,9 @@ TEST_F(NativeOpsTests, CalculateOutputShapeTests_1) { } TEST_F(NativeOpsTests, CalculateOutputShapeTests_2) { - auto input = NDArrayFactory::create('c', {1, 2, 5, 4}); - auto weights = NDArrayFactory::create('c', {2, 2, 2, 3}); - auto exp = NDArrayFactory::create('c', {1, 3, 5, 4}); + auto input = NDArrayFactory::create( {1, 2, 5, 4}); + auto weights = NDArrayFactory::create( {2, 2, 2, 3}); + auto exp = NDArrayFactory::create( {1, 3, 5, 4}); sd::ops::conv2d op; diff --git a/libnd4j/tests_cpu/layers_tests/NlpTests.cpp b/libnd4j/tests_cpu/layers_tests/NlpTests.cpp index 2325e24455ed..16da5d57f8c1 100644 --- a/libnd4j/tests_cpu/layers_tests/NlpTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/NlpTests.cpp @@ -39,22 +39,22 @@ class NlpTests : public testing::Test { }; TEST_F(NlpTests, basic_sg_hs_test_1) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); exp0.assign(0.01001f); exp1.assign(0.020005f); auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); - auto indices = NDArrayFactory::create('c', {1}, {1}); - auto codes = NDArrayFactory::create('c', {1}); - auto syn0 = NDArrayFactory::create('c', {100, 10}); - auto syn1 = NDArrayFactory::create('c', {100, 10}); + auto indices = NDArrayFactory::create( {1}, {1}); + auto codes = NDArrayFactory::create( {1}); + auto syn0 = NDArrayFactory::create( {100, 10}); + auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create('c', {10000}); + auto expTable = NDArrayFactory::create( {10000}); auto negTable = NDArrayFactory::empty(); - auto neu1e = NDArrayFactory::create('c', {10}); + auto neu1e = NDArrayFactory::create( {10}); syn0.assign(0.01); syn1.assign(0.02); @@ -78,9 +78,9 @@ TEST_F(NlpTests, basic_sg_hs_test_1) { } TEST_F(NlpTests, basic_sg_hs_test_2) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); - auto exp2 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); + auto exp2 = NDArrayFactory::create( {1, 10}); exp0.assign(0.01f); exp1.assign(0.020005f); @@ -88,14 +88,14 @@ TEST_F(NlpTests, basic_sg_hs_test_2) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); - auto indices = NDArrayFactory::create('c', {2}, {1, 2}); - auto codes = NDArrayFactory::create('c', {2}, {0, 1}); - auto syn0 = NDArrayFactory::create('c', {100, 10}); - auto syn1 = NDArrayFactory::create('c', {100, 10}); + auto indices = NDArrayFactory::create( {2}, {1, 2}); + auto codes = NDArrayFactory::create( {2}, {0, 1}); + auto syn0 = NDArrayFactory::create( {100, 10}); + auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create('c', {10000}); + auto expTable = NDArrayFactory::create( {10000}); auto negTable = NDArrayFactory::empty(); - auto neu1e = NDArrayFactory::create('c', {10}); + auto neu1e = NDArrayFactory::create( {10}); syn0.assign(0.01); syn1.assign(0.02); @@ -121,9 +121,9 @@ TEST_F(NlpTests, basic_sg_hs_test_2) { } TEST_F(NlpTests, basic_sg_hs_test_3) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); - auto exp2 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); + auto exp2 = NDArrayFactory::create( {1, 10}); exp0.assign(0.01f); exp1.assign(0.020005f); @@ -131,18 +131,18 @@ TEST_F(NlpTests, basic_sg_hs_test_3) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); - auto indices0 = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto indices1 = NDArrayFactory::create('c', {3}, {3, 1, 2}); - auto codes00 = NDArrayFactory::create('c', {3}, {0, 1, 1}); - auto codes01 = NDArrayFactory::create('c', {3}, {1, 0, 1}); - auto syn00 = NDArrayFactory::create('c', {100, 10}); - auto syn01 = NDArrayFactory::create('c', {100, 10}); - auto syn10 = NDArrayFactory::create('c', {100, 10}); - auto syn11 = NDArrayFactory::create('c', {100, 10}); + auto indices0 = NDArrayFactory::create( {3}, {1, 2, 3}); + auto indices1 = NDArrayFactory::create( {3}, {3, 1, 2}); + auto codes00 = NDArrayFactory::create( {3}, {0, 1, 1}); + auto codes01 = NDArrayFactory::create( {3}, {1, 0, 1}); + auto syn00 = NDArrayFactory::create( {100, 10}); + auto syn01 = NDArrayFactory::create( {100, 10}); + auto syn10 = NDArrayFactory::create( {100, 10}); + auto syn11 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create('c', {10000}); + auto expTable = NDArrayFactory::create( {10000}); auto negTable = NDArrayFactory::empty(); - auto neu1e = NDArrayFactory::create('c', {10}); + auto neu1e = NDArrayFactory::create( {10}); RandomGenerator rng(119L, 198L); RandomLauncher::fillUniform(LaunchContext::defaultContext(), rng, &syn00, 0.0, 1.0); @@ -173,14 +173,14 @@ TEST_F(NlpTests, basic_sg_hs_test_3) { TEST_F(NlpTests, basic_sg_hs_ns_test_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::create(1); - auto indices = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto codes = NDArrayFactory::create('c', {5}, {1, 1, 0, 1, 1}); - auto syn0 = NDArrayFactory::create('c', {100, 150}); - auto syn1 = NDArrayFactory::create('c', {100, 150}); - auto syn1Neg = NDArrayFactory::create('c', {100, 150}); - auto expTable = NDArrayFactory::create('c', {1000}); - auto negTable = NDArrayFactory::create('c', {1000}); - auto neu1e = NDArrayFactory::create('c', {10}); + auto indices = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto codes = NDArrayFactory::create( {5}, {1, 1, 0, 1, 1}); + auto syn0 = NDArrayFactory::create( {100, 150}); + auto syn1 = NDArrayFactory::create( {100, 150}); + auto syn1Neg = NDArrayFactory::create( {100, 150}); + auto expTable = NDArrayFactory::create( {1000}); + auto negTable = NDArrayFactory::create( {1000}); + auto neu1e = NDArrayFactory::create( {10}); negTable.linspace(1.0); auto alpha = NDArrayFactory::create(1.25); @@ -195,7 +195,7 @@ TEST_F(NlpTests, basic_sg_hs_ns_test_1) { } TEST_F(NlpTests, basic_sg_ns_test_1) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); exp0.assign(0.01); @@ -203,14 +203,14 @@ TEST_F(NlpTests, basic_sg_ns_test_1) { auto ngStarter = NDArrayFactory::create(3); auto indices = NDArrayFactory::empty(); auto codes = NDArrayFactory::empty(); - auto syn0 = NDArrayFactory::create('c', {10, 10}); + auto syn0 = NDArrayFactory::create( {10, 10}); auto syn1 = NDArrayFactory::empty(); - auto syn1Neg = NDArrayFactory::create('c', {10, 10}); - auto expTable = NDArrayFactory::create('c', {1000}); - auto negTable = NDArrayFactory::create('c', {1000}); - auto neu1e = NDArrayFactory::create('c', {10}); + auto syn1Neg = NDArrayFactory::create( {10, 10}); + auto expTable = NDArrayFactory::create( {1000}); + auto negTable = NDArrayFactory::create( {1000}); + auto neu1e = NDArrayFactory::create( {10}); - auto syn1Neg2 = NDArrayFactory::create('c', {10, 10}); + auto syn1Neg2 = NDArrayFactory::create( {10, 10}); syn0.assign(0.01); syn1.assign(0.02); @@ -235,9 +235,9 @@ TEST_F(NlpTests, basic_sg_ns_test_1) { } TEST_F(NlpTests, basic_cb_hs_test_1) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); - auto exp2 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); + auto exp2 = NDArrayFactory::create( {1, 10}); exp0.assign(0.0095f); exp1.assign(0.019875f); @@ -245,16 +245,16 @@ TEST_F(NlpTests, basic_cb_hs_test_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); - auto context = NDArrayFactory::create('c', {3}, {0, 1, 2}); - auto locked = NDArrayFactory::create('c', {3}); - auto indices = NDArrayFactory::create('c', {2}, {4, 5}); - auto codes = NDArrayFactory::create('c', {2}, {1, 1}); - auto syn0 = NDArrayFactory::create('c', {100, 10}); - auto syn1 = NDArrayFactory::create('c', {100, 10}); + auto context = NDArrayFactory::create( {3}, {0, 1, 2}); + auto locked = NDArrayFactory::create( {3}); + auto indices = NDArrayFactory::create( {2}, {4, 5}); + auto codes = NDArrayFactory::create( {2}, {1, 1}); + auto syn0 = NDArrayFactory::create( {100, 10}); + auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create('c', {10000}); + auto expTable = NDArrayFactory::create( {10000}); auto negTable = NDArrayFactory::empty(); - auto numWords = NDArrayFactory::create('c', {1}, {1}); + auto numWords = NDArrayFactory::create( {1}, {1}); syn0.assign(0.01); syn1.assign(0.02); @@ -288,9 +288,9 @@ TEST_F(NlpTests, basic_cb_hs_test_1) { } TEST_F(NlpTests, basic_cb_ns_test_1) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); - auto exp2 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); + auto exp2 = NDArrayFactory::create( {1, 10}); exp0.assign(0.0096265625); exp1.assign(0.01); @@ -298,16 +298,16 @@ TEST_F(NlpTests, basic_cb_ns_test_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::create(6); - auto context = NDArrayFactory::create('c', {3}, {0, 1, 2}); - auto locked = NDArrayFactory::create('c', {3}); + auto context = NDArrayFactory::create( {3}, {0, 1, 2}); + auto locked = NDArrayFactory::create( {3}); auto indices = NDArrayFactory::empty(); auto codes = NDArrayFactory::empty(); - auto syn0 = NDArrayFactory::create('c', {100, 10}); - auto syn1 = NDArrayFactory::create('c', {100, 10}); - auto syn1Neg = NDArrayFactory::create('c', {100, 10}); - auto expTable = NDArrayFactory::create('c', {10000}); - auto negTable = NDArrayFactory::create('c', {100000}); - auto numWords = NDArrayFactory::create('c', {2}, {1, 2}); + auto syn0 = NDArrayFactory::create( {100, 10}); + auto syn1 = NDArrayFactory::create( {100, 10}); + auto syn1Neg = NDArrayFactory::create( {100, 10}); + auto expTable = NDArrayFactory::create( {10000}); + auto negTable = NDArrayFactory::create( {100000}); + auto numWords = NDArrayFactory::create( {2}, {1, 2}); syn0.assign(0.01); syn1.assign(0.02); @@ -340,28 +340,28 @@ TEST_F(NlpTests, basic_cb_ns_test_1) { } TEST_F(NlpTests, test_sg_hs_batch_1) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); - auto exp2 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); + auto exp2 = NDArrayFactory::create( {1, 10}); exp0.assign(0.01f); exp1.assign(0.020005f); exp2.assign(0.019995f); - auto target = NDArrayFactory::create('c', {2}, {0, 5}); + auto target = NDArrayFactory::create( {2}, {0, 5}); auto ngStarter = NDArrayFactory::empty(); - auto indices = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); - auto codes = NDArrayFactory::create('c', {2, 2}, {0, 1, 1, 1}); - auto syn0 = NDArrayFactory::create('c', {100, 10}); - auto syn1 = NDArrayFactory::create('c', {100, 10}); + auto indices = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); + auto codes = NDArrayFactory::create( {2, 2}, {0, 1, 1, 1}); + auto syn0 = NDArrayFactory::create( {100, 10}); + auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create('c', {10000}); + auto expTable = NDArrayFactory::create( {10000}); auto negTable = NDArrayFactory::empty(); - auto alpha = NDArrayFactory::create('c', {2}, {0.001, 0.024}); - auto randomValue = NDArrayFactory::create('c', {2}, {1L, 3L}); + auto alpha = NDArrayFactory::create( {2}, {0.001, 0.024}); + auto randomValue = NDArrayFactory::create( {2}, {1L, 3L}); auto inferenceVector = NDArrayFactory::empty(); - auto neu1e = NDArrayFactory::create('c', {2, 10}); + auto neu1e = NDArrayFactory::create( {2, 10}); syn0.assign(0.01); syn1.assign(0.02); @@ -383,28 +383,28 @@ TEST_F(NlpTests, test_sg_hs_batch_1) { } TEST_F(NlpTests, test_sg_ns_batch_1) { - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); - auto exp2 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); + auto exp2 = NDArrayFactory::create( {1, 10}); exp0.assign(0.01f); exp1.assign(0.020005f); exp2.assign(0.019995f); - auto target = NDArrayFactory::create('c', {2}, {0, 5}); - auto ngStarter = NDArrayFactory::create('c', {2}, {3, 8}); + auto target = NDArrayFactory::create( {2}, {0, 5}); + auto ngStarter = NDArrayFactory::create( {2}, {3, 8}); auto indices = NDArrayFactory::empty(); auto codes = NDArrayFactory::empty(); - auto syn0 = NDArrayFactory::create('c', {100, 10}); - auto syn1Neg = NDArrayFactory::create('c', {100, 10}); + auto syn0 = NDArrayFactory::create( {100, 10}); + auto syn1Neg = NDArrayFactory::create( {100, 10}); auto syn1 = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create('c', {10000}); - auto negTable = NDArrayFactory::create('c', {100000}); + auto expTable = NDArrayFactory::create( {10000}); + auto negTable = NDArrayFactory::create( {100000}); - auto alpha = NDArrayFactory::create('c', {2}, {0.001, 0.024}); - auto randomValue = NDArrayFactory::create('c', {2}, {1L, 3L}); + auto alpha = NDArrayFactory::create( {2}, {0.001, 0.024}); + auto randomValue = NDArrayFactory::create( {2}, {1L, 3L}); auto inferenceVector = NDArrayFactory::empty(); - auto neu1e = NDArrayFactory::create('c', {2, 10}); + auto neu1e = NDArrayFactory::create( {2, 10}); syn0.assign(0.01); syn1.assign(0.02); @@ -425,32 +425,32 @@ TEST_F(NlpTests, test_cbow_hs_batch_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); - auto context = NDArrayFactory::create('c', {2, 3}, {0, 1, 2, 100, 101, 102}); - auto locked = NDArrayFactory::create('c', {2, 3}); - auto indices = NDArrayFactory::create('c', {2, 2}, {4, 5, 40, 50}); - auto codes = NDArrayFactory::create('c', {2, 2}, {1, 1, 1, 1}); - auto syn0 = NDArrayFactory::create('c', {244, 10}); - auto syn1 = NDArrayFactory::create('c', {244, 10}); + auto context = NDArrayFactory::create( {2, 3}, {0, 1, 2, 100, 101, 102}); + auto locked = NDArrayFactory::create( {2, 3}); + auto indices = NDArrayFactory::create( {2, 2}, {4, 5, 40, 50}); + auto codes = NDArrayFactory::create( {2, 2}, {1, 1, 1, 1}); + auto syn0 = NDArrayFactory::create( {244, 10}); + auto syn1 = NDArrayFactory::create( {244, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create('c', {10000}); + auto expTable = NDArrayFactory::create( {10000}); auto negTable = NDArrayFactory::empty(); - auto numWords = NDArrayFactory::create('c', {2}, {1, 2}); + auto numWords = NDArrayFactory::create( {2}, {1, 2}); syn0.assign(0.01); syn1.assign(0.02); expTable.assign(0.5); - auto alpha = NDArrayFactory::create('c', {2}, {0.025, 0.025}); - auto randomValue = NDArrayFactory::create('c', {2}, {2L, 2L}); + auto alpha = NDArrayFactory::create( {2}, {0.025, 0.025}); + auto randomValue = NDArrayFactory::create( {2}, {2L, 2L}); auto inferenceVector = NDArrayFactory::empty(); sd::ops::cbow op; auto result = op.evaluate({&target, &ngStarter, &context, &indices, &codes, &syn0, &syn1, &syn1Neg, &expTable, &negTable, &alpha, &randomValue, &numWords, &locked, &inferenceVector}, {}, {}, {true}, {}, true); ASSERT_EQ(Status::OK(), result.status()); - auto exp0 = NDArrayFactory::create('c', {1, 10}); - auto exp1 = NDArrayFactory::create('c', {1, 10}); - auto exp2 = NDArrayFactory::create('c', {1, 10}); + auto exp0 = NDArrayFactory::create( {1, 10}); + auto exp1 = NDArrayFactory::create( {1, 10}); + auto exp2 = NDArrayFactory::create( {1, 10}); exp0.assign(0.0095f); exp1.assign(0.019875f); From f62a0323bf792f11967a4bd6cc814ea5193492e4 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 12:23:01 +0300 Subject: [PATCH 69/99] Adopted tests for new factory create methods. Signed-off-by: shugeo --- .../tests_cpu/layers_tests/OneOffTests.cpp | 24 +- .../tests_cpu/layers_tests/OpTupleTests.cpp | 14 +- .../tests_cpu/layers_tests/ParityOpsTests.cpp | 418 +++++++++--------- 3 files changed, 228 insertions(+), 228 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/OneOffTests.cpp b/libnd4j/tests_cpu/layers_tests/OneOffTests.cpp index e1cf4ec52663..ee6641199b1f 100644 --- a/libnd4j/tests_cpu/layers_tests/OneOffTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/OneOffTests.cpp @@ -93,7 +93,7 @@ TEST_F(OneOffTests, test_assert_scalar_float32_2) { TEST_F(OneOffTests, test_pad_1D_1) { - auto e = NDArrayFactory::create('c', {7}, {10.f,0.778786f, 0.801198f, 0.724375f, 0.230894f, 0.727141f,10.f}); + auto e = NDArrayFactory::create( {7}, {10.f,0.778786f, 0.801198f, 0.724375f, 0.230894f, 0.727141f,10.f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/pad_1D.fb"); ASSERT_TRUE(graph != nullptr); @@ -144,7 +144,7 @@ TEST_F(OneOffTests, test_scatter_nd_update_1) { */ TEST_F(OneOffTests, test_conv2d_nhwc_failed_1) { - auto e = NDArrayFactory::create('c', {1, 5, 5, 6}, {0.55744928f, 0.76827729f, 1.09401524f, 0.00000000f, 0.00000000f, 0.00000000f, 0.56373537f, 0.90029907f, 0.78997850f, 0.00000000f, 0.00000000f, 0.00000000f, 0.14252824f, 0.95961076f, 0.87750554f, 0.00000000f, 0.00000000f, 0.00000000f, 0.44874173f, 0.99537718f, 1.17154264f, 0.00000000f, 0.00000000f, 0.00000000f, 0.60377145f, 0.79939061f, 0.56031001f, 0.00000000f, 0.00000000f, 0.00000000f, 0.52975273f, 0.90678585f, 0.73763013f, 0.00000000f, 0.00000000f, 0.00000000f, 0.22146404f, 0.82499605f, 0.47222072f, 0.00000000f, 0.00000000f, 0.00000000f, 0.42772964f, 0.39793295f, 0.71436501f, 0.00000000f, 0.00000000f, 0.00000000f, 0.48836520f, 1.01658893f, 0.74419701f, 0.00000000f, 0.00000000f, 0.00000000f, 0.78984612f, 0.94083673f, 0.83841157f, 0.00000000f, 0.00000000f, 0.00000000f, 0.40448499f, 0.67732805f, 0.75499672f, 0.00000000f, 0.00000000f, 0.00000000f, 0.43675962f, 0.79476535f, 0.72976631f, 0.00000000f, 0.00000000f, 0.00000000f, 0.58808053f, 0.65222591f, 0.72552216f, 0.00000000f, 0.00000000f, 0.00000000f, 0.37445742f, 1.22581339f, 1.05341125f, 0.00000000f, 0.00000000f, 0.00000000f, 0.30095795f, 0.59941679f, 0.63323414f, 0.00000000f, 0.00000000f, 0.00000000f, 0.24199286f, 1.02546394f, 0.69537812f, 0.00000000f, 0.00000000f, 0.00000000f, 0.23628944f, 0.90791851f, 1.01209974f, 0.00000000f, 0.00000000f, 0.00000000f, 0.62740159f, 0.56518674f, 0.76692569f, 0.00000000f, 0.00000000f, 0.00000000f, 0.13327584f, 0.32628393f, 0.10280430f, 0.00000000f, 0.00000000f, 0.00000000f, 0.42691272f, 0.25625113f, 0.30524066f, 0.00000000f, 0.00000000f, 0.00000000f, 0.17797673f, 0.84179950f, 0.80061519f, 0.00000000f, 0.00000000f, 0.00000000f, 0.00199084f, 0.51838887f, 0.43932241f, 0.00000000f, 0.00000000f, 0.00000000f, 0.16684581f, 0.50822425f, 0.48668745f, 0.00000000f, 0.00000000f, 0.00000000f, 0.16749343f, 0.93093169f, 0.86871749f, 0.00000000f, 0.00000000f, 0.00000000f, 0.17486368f, 0.44460732f, 0.44499981f, 0.00000000f, 0.00000000f, 0.00000000f}); + auto e = NDArrayFactory::create( {1, 5, 5, 6}, {0.55744928f, 0.76827729f, 1.09401524f, 0.00000000f, 0.00000000f, 0.00000000f, 0.56373537f, 0.90029907f, 0.78997850f, 0.00000000f, 0.00000000f, 0.00000000f, 0.14252824f, 0.95961076f, 0.87750554f, 0.00000000f, 0.00000000f, 0.00000000f, 0.44874173f, 0.99537718f, 1.17154264f, 0.00000000f, 0.00000000f, 0.00000000f, 0.60377145f, 0.79939061f, 0.56031001f, 0.00000000f, 0.00000000f, 0.00000000f, 0.52975273f, 0.90678585f, 0.73763013f, 0.00000000f, 0.00000000f, 0.00000000f, 0.22146404f, 0.82499605f, 0.47222072f, 0.00000000f, 0.00000000f, 0.00000000f, 0.42772964f, 0.39793295f, 0.71436501f, 0.00000000f, 0.00000000f, 0.00000000f, 0.48836520f, 1.01658893f, 0.74419701f, 0.00000000f, 0.00000000f, 0.00000000f, 0.78984612f, 0.94083673f, 0.83841157f, 0.00000000f, 0.00000000f, 0.00000000f, 0.40448499f, 0.67732805f, 0.75499672f, 0.00000000f, 0.00000000f, 0.00000000f, 0.43675962f, 0.79476535f, 0.72976631f, 0.00000000f, 0.00000000f, 0.00000000f, 0.58808053f, 0.65222591f, 0.72552216f, 0.00000000f, 0.00000000f, 0.00000000f, 0.37445742f, 1.22581339f, 1.05341125f, 0.00000000f, 0.00000000f, 0.00000000f, 0.30095795f, 0.59941679f, 0.63323414f, 0.00000000f, 0.00000000f, 0.00000000f, 0.24199286f, 1.02546394f, 0.69537812f, 0.00000000f, 0.00000000f, 0.00000000f, 0.23628944f, 0.90791851f, 1.01209974f, 0.00000000f, 0.00000000f, 0.00000000f, 0.62740159f, 0.56518674f, 0.76692569f, 0.00000000f, 0.00000000f, 0.00000000f, 0.13327584f, 0.32628393f, 0.10280430f, 0.00000000f, 0.00000000f, 0.00000000f, 0.42691272f, 0.25625113f, 0.30524066f, 0.00000000f, 0.00000000f, 0.00000000f, 0.17797673f, 0.84179950f, 0.80061519f, 0.00000000f, 0.00000000f, 0.00000000f, 0.00199084f, 0.51838887f, 0.43932241f, 0.00000000f, 0.00000000f, 0.00000000f, 0.16684581f, 0.50822425f, 0.48668745f, 0.00000000f, 0.00000000f, 0.00000000f, 0.16749343f, 0.93093169f, 0.86871749f, 0.00000000f, 0.00000000f, 0.00000000f, 0.17486368f, 0.44460732f, 0.44499981f, 0.00000000f, 0.00000000f, 0.00000000f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/channels_last_b1_k2_s1_d1_SAME_crelu.fb"); ASSERT_TRUE(graph != nullptr); @@ -165,7 +165,7 @@ TEST_F(OneOffTests, test_conv2d_nhwc_failed_1) { } TEST_F(OneOffTests, test_tensor_array_1) { - auto e = NDArrayFactory::create('c', {2, 3}, {0.77878559f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f}); + auto e = NDArrayFactory::create( {2, 3}, {0.77878559f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/tensor_array_close_sz1_float32_nodynamic_noname_noshape.fb"); ASSERT_TRUE(graph != nullptr); @@ -185,7 +185,7 @@ TEST_F(OneOffTests, test_tensor_array_1) { } TEST_F(OneOffTests, test_tensor_array_2) { - auto e = NDArrayFactory::create('c', {2, 3}, {0.77878559f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f}); + auto e = NDArrayFactory::create( {2, 3}, {0.77878559f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/tensor_array_split_sz1_float32_nodynamic_noname_noshape.fb"); ASSERT_TRUE(graph != nullptr); @@ -205,7 +205,7 @@ TEST_F(OneOffTests, test_tensor_array_2) { } TEST_F(OneOffTests, test_tensor_array_3) { - auto e = NDArrayFactory::create('c', {3, 2, 3}, {7, 2, 9, 4, 3, 3, 8, 7, 0, 0, 6, 8, 7, 9, 0, 1, 1, 4}); + auto e = NDArrayFactory::create( {3, 2, 3}, {7, 2, 9, 4, 3, 3, 8, 7, 0, 0, 6, 8, 7, 9, 0, 1, 1, 4}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/tensor_array_stack_sz3-1_int32_dynamic_name_shape.fb"); ASSERT_TRUE(graph != nullptr); @@ -226,7 +226,7 @@ TEST_F(OneOffTests, test_tensor_array_3) { } TEST_F(OneOffTests, test_tensor_array_4) { - auto e = NDArrayFactory::create('c', {2, 3}, {4, 3, 1, 1, 1, 0}); + auto e = NDArrayFactory::create( {2, 3}, {4, 3, 1, 1, 1, 0}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/tensor_array_unstack_sz1_int64_nodynamic_noname_shape2-3.fb"); ASSERT_TRUE(graph != nullptr); @@ -247,7 +247,7 @@ TEST_F(OneOffTests, test_tensor_array_4) { } TEST_F(OneOffTests, test_assert_4) { - auto e = NDArrayFactory::create('c', {2, 2}, {1, 1, 1, 1}); + auto e = NDArrayFactory::create( {2, 2}, {1, 1, 1, 1}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/assert_type_rank2_int64.fb"); ASSERT_TRUE(graph != nullptr); @@ -268,7 +268,7 @@ TEST_F(OneOffTests, test_assert_4) { } // TEST_F(OneOffTests, test_cond_true_1) { -// auto e = NDArrayFactory::create('c', {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); +// auto e = NDArrayFactory::create( {5}, {1.f, 2.f, 3.f, 4.f, 5.f}); // auto graph = GraphExecutioner::importFromFlatBuffers("./resources/cond_true.fb"); // ASSERT_TRUE(graph != nullptr); @@ -292,7 +292,7 @@ TEST_F(OneOffTests, test_assert_4) { /* TEST_F(OneOffTests, test_cond_false_1) { - auto e = NDArrayFactory::create('c', {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto e = NDArrayFactory::create( {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/cond_false.fb"); ASSERT_TRUE(graph != nullptr); @@ -316,7 +316,7 @@ TEST_F(OneOffTests, test_cond_false_1) { */ TEST_F(OneOffTests, test_identity_n_2) { - auto e = NDArrayFactory::create('c', {2, 3}, {0.77878559f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f}); + auto e = NDArrayFactory::create( {2, 3}, {0.77878559f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f}); sd::ops::identity_n op; @@ -340,7 +340,7 @@ TEST_F(OneOffTests, test_identity_n_2) { } TEST_F(OneOffTests, test_non2d_1) { - auto e = NDArrayFactory::create('c', {1, 1}, {5.42746449f}); + auto e = NDArrayFactory::create( {1, 1}, {5.42746449f}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/non2d_1.fb"); ASSERT_TRUE(graph != nullptr); @@ -362,7 +362,7 @@ TEST_F(OneOffTests, test_non2d_1) { } TEST_F(OneOffTests, test_reduce_all_1) { - auto e = NDArrayFactory::create('c', {1, 4}, {true, false, false, false}); + auto e = NDArrayFactory::create( {1, 4}, {true, false, false, false}); auto graph = GraphExecutioner::importFromFlatBuffers("./resources/reduce_all_rank2_d0_keep.fb"); ASSERT_TRUE(graph != nullptr); diff --git a/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp b/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp index 9bcfb0d52720..ae099b3db293 100644 --- a/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp @@ -30,9 +30,9 @@ class OpTupleTests : public testing::Test { }; TEST_F(OpTupleTests, DirectConstructorTest1) { - auto alpha = NDArrayFactory::create('c', {1, 2}); - auto beta = NDArrayFactory::create('c', {1, 2}); - OpTuple tuple("dummy", {alpha, beta}, {12.0f}, {1,2, 3}); + auto alpha = NDArrayFactory::create( {1, 2}); + auto beta = NDArrayFactory::create( {1, 2}); + OpTuple tuple("dummy", {&alpha, &beta}, {12.0f}, {1, 2, 3}); ASSERT_EQ("dummy", tuple._opName); ASSERT_EQ(2, tuple._inputs.size()); @@ -42,11 +42,11 @@ TEST_F(OpTupleTests, DirectConstructorTest1) { } TEST_F(OpTupleTests, BuilderTest1) { - auto alpha = NDArrayFactory::create('c', {1, 2}); - auto beta = NDArrayFactory::create('c', {1, 2}); + auto alpha = NDArrayFactory::create( {1, 2}); + auto beta = NDArrayFactory::create( {1, 2}); OpTuple tuple("dummy"); - tuple.addInput(alpha) - ->addInput(beta) + tuple.addInput(&alpha) + ->addInput(&beta) ->setTArgs({12.0f}) ->setIArgs({1, 2, 3}); diff --git a/libnd4j/tests_cpu/layers_tests/ParityOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/ParityOpsTests.cpp index 089b4a92f5db..c8c0a0178783 100644 --- a/libnd4j/tests_cpu/layers_tests/ParityOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ParityOpsTests.cpp @@ -33,10 +33,10 @@ class ParityOpsTests : public testing::Test { TEST_F(ParityOpsTests, TestZeroAs1) { - auto x = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); x.assign(1.0); - auto exp = NDArrayFactory::create('c', {10, 10}); + auto exp = NDArrayFactory::create( {10, 10}); exp.assign(0.0f); sd::ops::zeros_as op; @@ -52,10 +52,10 @@ TEST_F(ParityOpsTests, TestZeroAs1) { } TEST_F(ParityOpsTests, TestMaximum1) { - auto x = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); x.assign(1.0); - auto y = NDArrayFactory::create('c', {10, 10}); + auto y = NDArrayFactory::create( {10, 10}); y.assign(2.0); sd::ops::maximum op; @@ -71,10 +71,10 @@ TEST_F(ParityOpsTests, TestMaximum1) { TEST_F(ParityOpsTests, TestMinimum1) { - auto x = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {10, 10}); x.assign(1.0f); - auto y = NDArrayFactory::create('c', {10, 10}); + auto y = NDArrayFactory::create( {10, 10}); y.assign(-2.0f); @@ -90,7 +90,7 @@ TEST_F(ParityOpsTests, TestMinimum1) { } TEST_F(ParityOpsTests, TestTear1) { - auto input = NDArrayFactory::create('c', {10, 5}); + auto input = NDArrayFactory::create( {10, 5}); auto tads = input.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { ASSERT_EQ(5, tads.at(e)->lengthOf()); @@ -110,7 +110,7 @@ TEST_F(ParityOpsTests, TestTear1) { } TEST_F(ParityOpsTests, TestUnstack1) { - auto input = NDArrayFactory::create('c', {10, 5}); + auto input = NDArrayFactory::create( {10, 5}); auto tads = input.allTensorsAlongDimension({1}); for (int e = 0; e < tads.size(); e++) { ASSERT_EQ(5, tads.at(e)->lengthOf()); @@ -132,7 +132,7 @@ TEST_F(ParityOpsTests, TestUnstack1) { TEST_F(ParityOpsTests, TestUnstack2) { - auto input = NDArrayFactory::create('c', {5,2,6}); + auto input = NDArrayFactory::create( {5,2,6}); auto tads = input.allTensorsAlongDimension({0,1}); for (int e = 0; e < tads.size(); e++) { ASSERT_EQ(10, tads.at(e)->lengthOf()); @@ -152,8 +152,8 @@ TEST_F(ParityOpsTests, TestUnstack2) { } TEST_F(ParityOpsTests, TestUnstack3) { - auto input = NDArrayFactory::create('c', {3,2,3}); - auto exp = NDArrayFactory::create('c', {3, 2}, {1.f, 4., 7., 10.f, 13.f, 16.f}); + auto input = NDArrayFactory::create( {3,2,3}); + auto exp = NDArrayFactory::create( {3, 2}, {1.f, 4., 7., 10.f, 13.f, 16.f}); input.linspace(1); sd::ops::unstack op; @@ -171,8 +171,8 @@ TEST_F(ParityOpsTests, TestUnstack3) { TEST_F(ParityOpsTests, TestUnstack4) { - auto input = NDArrayFactory::create('c', {3,2,3}); - auto exp = NDArrayFactory::create('c', {3, 3}, { 1, 2, 3, 7, 8, 9, 13, 14, 15.}); + auto input = NDArrayFactory::create( {3,2,3}); + auto exp = NDArrayFactory::create( {3, 3}, { 1, 2, 3, 7, 8, 9, 13, 14, 15.}); input.linspace(1); sd::ops::unstack op; @@ -189,8 +189,8 @@ TEST_F(ParityOpsTests, TestUnstack4) { } TEST_F(ParityOpsTests, TestUnstack5) { - auto input = NDArrayFactory::create('c', {3,2,3}); - auto exp = NDArrayFactory::create('c', {2, 3}, { 1, 2, 3, 4, 5, 6}); + auto input = NDArrayFactory::create( {3,2,3}); + auto exp = NDArrayFactory::create( {2, 3}, { 1, 2, 3, 4, 5, 6}); input.linspace(1); sd::ops::unstack op; @@ -207,8 +207,8 @@ TEST_F(ParityOpsTests, TestUnstack5) { } TEST_F(ParityOpsTests, TestUnstack6) { - auto input = NDArrayFactory::create('c', {1, 1, 1}); - auto exp = NDArrayFactory::create('c', {1, 1}, {1}); + auto input = NDArrayFactory::create( {1, 1, 1}); + auto exp = NDArrayFactory::create( {1, 1}, {1}); input.linspace(1); sd::ops::unstack op; @@ -225,8 +225,8 @@ TEST_F(ParityOpsTests, TestUnstack6) { } TEST_F(ParityOpsTests, TestUnstack7) { - auto input = NDArrayFactory::create('c', {1, 1, 1}); - auto exp = NDArrayFactory::create('c', {1, 1}, {1}); + auto input = NDArrayFactory::create( {1, 1, 1}); + auto exp = NDArrayFactory::create( {1, 1}, {1}); input.linspace(1); sd::ops::unstack op; @@ -243,8 +243,8 @@ TEST_F(ParityOpsTests, TestUnstack7) { } TEST_F(ParityOpsTests, TestUnstack8) { - auto input = NDArrayFactory::create('c', {1, 1}); - auto exp = NDArrayFactory::create('c', {1}, {1}); + auto input = NDArrayFactory::create( {1, 1}); + auto exp = NDArrayFactory::create( {1}, {1}); input.linspace(1); sd::ops::unstack op; @@ -261,8 +261,8 @@ TEST_F(ParityOpsTests, TestUnstack8) { } TEST_F(ParityOpsTests, TestUnstack9) { - auto input = NDArrayFactory::create('c', {1, 1}); - auto exp = NDArrayFactory::create('c', {1}, {1}); + auto input = NDArrayFactory::create( {1, 1}); + auto exp = NDArrayFactory::create( {1}, {1}); input.linspace(1); sd::ops::unstack op; @@ -281,8 +281,8 @@ TEST_F(ParityOpsTests, TestUnstack9) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, TestUnstack10) { - auto input = NDArrayFactory::create('c', {3, 0, 2}); - auto exp = NDArrayFactory::create('c', {0,2}); + auto input = NDArrayFactory::create( {3, 0, 2}); + auto exp = NDArrayFactory::create( {0,2}); sd::ops::unstack op; @@ -299,8 +299,8 @@ TEST_F(ParityOpsTests, TestUnstack10) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, TestUnstack11) { - auto input = NDArrayFactory::create('c', {3, 0, 2}); - auto exp = NDArrayFactory::create('c', {3,0}); + auto input = NDArrayFactory::create( {3, 0, 2}); + auto exp = NDArrayFactory::create( {3,0}); sd::ops::unstack op; @@ -316,7 +316,7 @@ TEST_F(ParityOpsTests, TestUnstack11) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, TestUnstack12) { - auto input = NDArrayFactory::create('c', {3, 0, 2}); + auto input = NDArrayFactory::create( {3, 0, 2}); sd::ops::unstack op; @@ -330,7 +330,7 @@ TEST_F(ParityOpsTests, TestUnstack12) { TEST_F(ParityOpsTests, TestUnstack13) { - auto x = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {2, 3}); sd::ops::unstack op; auto result = op.evaluate({&x}, {}, {1}); @@ -347,7 +347,7 @@ TEST_F(ParityOpsTests, TestUnstack13) { TEST_F(ParityOpsTests, ExpandDimsTest1) { - auto input = NDArrayFactory::create('c', {5, 5}); + auto input = NDArrayFactory::create( {5, 5}); input.linspace(1); auto reshaped = input.reshape('c', {5, 1, 5}); @@ -366,7 +366,7 @@ TEST_F(ParityOpsTests, ExpandDimsTest1) { TEST_F(ParityOpsTests, ExpandDimsTest2) { - auto input = NDArrayFactory::create('c', {3, 4}); + auto input = NDArrayFactory::create( {3, 4}); input.linspace(1); auto reshaped = input.reshape('c', {1, 3, 4}); @@ -385,7 +385,7 @@ TEST_F(ParityOpsTests, ExpandDimsTest2) { TEST_F(ParityOpsTests, ExpandDimsTest3) { - auto input = NDArrayFactory::create('c', {3, 4}); + auto input = NDArrayFactory::create( {3, 4}); input.linspace(1); auto reshaped = input.reshape('c', {3, 1, 4}); @@ -403,7 +403,7 @@ TEST_F(ParityOpsTests, ExpandDimsTest3) { } TEST_F(ParityOpsTests, ExpandDimsTest4) { - auto input = NDArrayFactory::create('c', {3, 4}); + auto input = NDArrayFactory::create( {3, 4}); input.linspace(1); auto reshaped = input.reshape('c', {1, 3, 4}); @@ -422,8 +422,8 @@ TEST_F(ParityOpsTests, ExpandDimsTest4) { TEST_F(ParityOpsTests, Test_Shape_1) { - auto x = NDArrayFactory::create('c', {3, 4, 5, 6}); - auto exp = NDArrayFactory::create('c', {4}, {3, 4, 5, 6}); + auto x = NDArrayFactory::create( {3, 4, 5, 6}); + auto exp = NDArrayFactory::create( {4}, {3, 4, 5, 6}); sd::ops::shape_of op; auto result = op.evaluate({&x}, {}, {}); @@ -439,9 +439,9 @@ TEST_F(ParityOpsTests, Test_Shape_1) { TEST_F(ParityOpsTests, Test_Equals_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {1, 5}, {1, 0, 3, 0, 5}); - auto exp = NDArrayFactory::create('c', {1, 5}, {1, 0, 1, 0, 1}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {1, 5}, {1, 0, 3, 0, 5}); + auto exp = NDArrayFactory::create( {1, 5}, {1, 0, 1, 0, 1}); sd::ops::equals op; auto result = op.evaluate({&x, &y}); @@ -457,9 +457,9 @@ TEST_F(ParityOpsTests, Test_Equals_1) { TEST_F(ParityOpsTests, Test_NotEquals_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {1, 5}, {1, 0, 3, 0, 5}); - auto exp = NDArrayFactory::create('c', {1, 5}, {0, 1, 0, 1, 0}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {1, 5}, {1, 0, 3, 0, 5}); + auto exp = NDArrayFactory::create( {1, 5}, {0, 1, 0, 1, 0}); sd::ops::not_equals op; auto result = op.evaluate({&x, &y}); @@ -474,9 +474,9 @@ TEST_F(ParityOpsTests, Test_NotEquals_1) { } TEST_F(ParityOpsTests, Test_Less_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {1, 5}, {5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {1, 5}, {1, 1, 0, 0, 0}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {1, 5}, {5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::create( {1, 5}, {1, 1, 0, 0, 0}); sd::ops::less op; auto result = op.evaluate({&x, &y}); @@ -491,9 +491,9 @@ TEST_F(ParityOpsTests, Test_Less_1) { } TEST_F(ParityOpsTests, Test_LessEquals_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {1, 5}, {5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {1, 5}, {1, 1, 1, 0, 0}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {1, 5}, {5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::create( {1, 5}, {1, 1, 1, 0, 0}); sd::ops::less_equal op; auto result = op.evaluate({&x, &y}); @@ -508,9 +508,9 @@ TEST_F(ParityOpsTests, Test_LessEquals_1) { } TEST_F(ParityOpsTests, Test_GreaterEquals_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {1, 5}, {5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {1, 5}, {0, 0, 1, 1, 1}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {1, 5}, {5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::create( {1, 5}, {0, 0, 1, 1, 1}); sd::ops::greater_equal op; auto result = op.evaluate({&x, &y}); @@ -525,9 +525,9 @@ TEST_F(ParityOpsTests, Test_GreaterEquals_1) { } TEST_F(ParityOpsTests, Test_GreaterEquals_2) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {1, 5}, {5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {1, 5}, {0, 0, 1, 1, 1}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {1, 5}, {5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::create( {1, 5}, {0, 0, 1, 1, 1}); sd::ops::greater_equal op; auto result = op.evaluate({&x, &y}, {}, {}, {}, {}, false); @@ -542,9 +542,9 @@ TEST_F(ParityOpsTests, Test_GreaterEquals_2) { } TEST_F(ParityOpsTests, Test_Greater_1) { - auto x = NDArrayFactory::create('c', {1, 5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {1, 5}, {5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {1, 5}, {0, 0, 0, 1, 1}); + auto x = NDArrayFactory::create( {1, 5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {1, 5}, {5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::create( {1, 5}, {0, 0, 0, 1, 1}); sd::ops::greater op; auto result = op.evaluate({&x, &y}); @@ -559,10 +559,10 @@ TEST_F(ParityOpsTests, Test_Greater_1) { } TEST_F(ParityOpsTests, Test_Where_1) { - auto mask = NDArrayFactory::create('c', {3, 3}, {1, 1, 1, 0, 0, 0, 1, 1, 1}); - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto y = NDArrayFactory::create('c', {3, 3}, {9, 8, 7, 6, 5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 6, 5, 4, 7, 8, 9}); + auto mask = NDArrayFactory::create( {3, 3}, {1, 1, 1, 0, 0, 0, 1, 1, 1}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto y = NDArrayFactory::create( {3, 3}, {9, 8, 7, 6, 5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::create( {3, 3}, {1, 2, 3, 6, 5, 4, 7, 8, 9}); sd::ops::Where op; auto result = op.evaluate({&mask, &x, &y}, {}, {}); @@ -579,10 +579,10 @@ TEST_F(ParityOpsTests, Test_Where_1) { } TEST_F(ParityOpsTests, Test_Where_2) { - auto mask = NDArrayFactory::create('c', {1, 3}, {1, 0, 0}); - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto y = NDArrayFactory::create('c', {3, 3}, {9, 8, 7, 6, 5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 6, 5, 4, 3, 2, 1}); + auto mask = NDArrayFactory::create( {1, 3}, {1, 0, 0}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto y = NDArrayFactory::create( {3, 3}, {9, 8, 7, 6, 5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::create( {3, 3}, {1, 2, 3, 6, 5, 4, 3, 2, 1}); sd::ops::Where op; auto result = op.evaluate({&mask, &x, &y}, {}, {}); @@ -598,8 +598,8 @@ TEST_F(ParityOpsTests, Test_Where_2) { TEST_F(ParityOpsTests, Test_Where_3) { - auto mask = NDArrayFactory::create('c', {2, 2, 3}, {0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1}); - auto exp = NDArrayFactory::create('c', {5, 3}, {0, 0, 1, 0, 0, 2, 0, 1, 1, 1, 0, 0, 1, 1, 2}); + auto mask = NDArrayFactory::create( {2, 2, 3}, {0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1}); + auto exp = NDArrayFactory::create( {5, 3}, {0, 0, 1, 0, 0, 2, 0, 1, 1, 1, 0, 0, 1, 1, 2}); sd::ops::Where op; auto result = op.evaluate({&mask}, {}, {}); @@ -616,10 +616,10 @@ TEST_F(ParityOpsTests, Test_Where_3) { } TEST_F(ParityOpsTests, Test_Select_1) { - auto mask = NDArrayFactory::create('c', {1, 3}, {1, 0, 0}); - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto y = NDArrayFactory::create('c', {3, 3}, {9, 8, 7, 6, 5, 4, 3, 2, 1}); - auto exp = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 6, 5, 4, 3, 2, 1}); + auto mask = NDArrayFactory::create( {1, 3}, {1, 0, 0}); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto y = NDArrayFactory::create( {3, 3}, {9, 8, 7, 6, 5, 4, 3, 2, 1}); + auto exp = NDArrayFactory::create( {3, 3}, {1, 2, 3, 6, 5, 4, 3, 2, 1}); sd::ops::select op; auto result = op.evaluate({&mask, &x, &y}, {}, {}); @@ -634,10 +634,10 @@ TEST_F(ParityOpsTests, Test_Select_1) { } TEST_F(ParityOpsTests, Test_Select_2) { - auto mask = NDArrayFactory::create('c', {2, 2}, {1, 0, 1, 0}); - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4 }); - auto y = NDArrayFactory::create('c', {2, 2}, {9, 8, 7, 6}); - auto exp = NDArrayFactory::create('c', {2, 2}, {1, 8, 3, 6}); + auto mask = NDArrayFactory::create( {2, 2}, {1, 0, 1, 0}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4 }); + auto y = NDArrayFactory::create( {2, 2}, {9, 8, 7, 6}); + auto exp = NDArrayFactory::create( {2, 2}, {1, 8, 3, 6}); sd::ops::select op; auto result = op.evaluate({&mask, &x, &y}, {}, {}); @@ -653,10 +653,10 @@ TEST_F(ParityOpsTests, Test_Select_2) { TEST_F(ParityOpsTests, Test_Select_3) { bool value = false; - auto mask = NDArrayFactory::create('c', {1, 1}, {value}); - auto x = NDArrayFactory::create('c', {1, 1}, {1}); - auto y = NDArrayFactory::create('c', {1, 1}, {2}); - auto exp = NDArrayFactory::create('c', {1, 1}, {2}); + auto mask = NDArrayFactory::create( {1, 1}, {value}); + auto x = NDArrayFactory::create( {1, 1}, {1}); + auto y = NDArrayFactory::create( {1, 1}, {2}); + auto exp = NDArrayFactory::create( {1, 1}, {2}); sd::ops::select op; auto result = op.evaluate({&mask, &x, &y}, {}, {}); @@ -670,9 +670,9 @@ TEST_F(ParityOpsTests, Test_Select_3) { } TEST_F(ParityOpsTests, Test_Bias_Add_1) { - auto x = NDArrayFactory::create('c', {10, 5}); + auto x = NDArrayFactory::create( {10, 5}); x.assign(0.0); - auto bias = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); + auto bias = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); sd::ops::biasadd op; auto result = op.evaluate({&x, &bias}, {}, {}); @@ -688,10 +688,10 @@ TEST_F(ParityOpsTests, Test_Bias_Add_1) { } TEST_F(ParityOpsTests, Test_Scatter_Add_1) { - auto matrix = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto matrix = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); NDArray idc('c', {1}, std::vector({0}), sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 2}, {1, 1}); - auto exp = NDArrayFactory::create('c', {2, 2}, {2, 3, 3, 4}); + auto updates = NDArrayFactory::create( {1, 2}, {1, 1}); + auto exp = NDArrayFactory::create( {2, 2}, {2, 3, 3, 4}); sd::ops::scatter_add op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}); @@ -705,10 +705,10 @@ TEST_F(ParityOpsTests, Test_Scatter_Add_1) { TEST_F(ParityOpsTests, Test_Scatter_Add_2) { - auto vec = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); + auto vec = NDArrayFactory::create( {4}, {1, 2, 3, 4}); NDArray idc('c', {1, 4}, {0., 1, 2, 3}, sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 4}, {1, 1, 1, 1}); - auto exp = NDArrayFactory::create('c', {1, 4}, {2, 3, 4, 5}); + auto updates = NDArrayFactory::create( {1, 4}, {1, 1, 1, 1}); + auto exp = NDArrayFactory::create( {1, 4}, {2, 3, 4, 5}); sd::ops::scatter_add op; auto result = op.evaluate({&vec, &idc, &updates}, {}, {}); @@ -721,10 +721,10 @@ TEST_F(ParityOpsTests, Test_Scatter_Add_2) { } TEST_F(ParityOpsTests, Test_Scatter_Add_3) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); NDArray idc('c', {1}, std::vector({0}), sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 2, 2}, {1, 1, 1, 1}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {2, 3, 4, 5, 5, 6, 7, 8}); + auto updates = NDArrayFactory::create( {1, 2, 2}, {1, 1, 1, 1}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {2, 3, 4, 5, 5, 6, 7, 8}); sd::ops::scatter_add op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}); @@ -737,10 +737,10 @@ TEST_F(ParityOpsTests, Test_Scatter_Add_3) { } TEST_F(ParityOpsTests, Test_Scatter_Add_4) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); NDArray idc('c', {1, 2}, std::vector{0, 0}, sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 2, 2, 2}, {1, 1, 1, 1, 1, 1, 1, 1}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {3, 4, 5, 6, 5, 6, 7, 8}); + auto updates = NDArrayFactory::create( {1, 2, 2, 2}, {1, 1, 1, 1, 1, 1, 1, 1}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {3, 4, 5, 6, 5, 6, 7, 8}); sd::ops::scatter_add op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true, true}); @@ -753,10 +753,10 @@ TEST_F(ParityOpsTests, Test_Scatter_Add_4) { } TEST_F(ParityOpsTests, Test_Scatter_Add_5) { - auto matrix = NDArrayFactory::create('c', {2, 2, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}); + auto matrix = NDArrayFactory::create( {2, 2, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}); NDArray idc('c', {2, 2}, {1., 1, 0, 0}, sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {2, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto exp = NDArrayFactory::create('c', {2, 2, 3}, {9., 11., 13.,15., 17., 19., 9., 11., 13.,15., 17., 19.}); + auto updates = NDArrayFactory::create( {2, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto exp = NDArrayFactory::create( {2, 2, 3}, {9., 11., 13.,15., 17., 19., 9., 11., 13.,15., 17., 19.}); sd::ops::scatter_add op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true}); @@ -770,10 +770,10 @@ TEST_F(ParityOpsTests, Test_Scatter_Add_5) { } TEST_F(ParityOpsTests, Test_Scatter_Add_6) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 1, 1, 1, 1, 1, 1, 1}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 1, 1, 1, 1, 1, 1, 1}); NDArray idc('c', {2, 2}, {1, 1, 0, 0}, sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {2, 2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {7, 9, 11, 13, 7, 9, 11, 13}); + auto updates = NDArrayFactory::create( {2, 2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {7, 9, 11, 13, 7, 9, 11, 13}); sd::ops::scatter_add op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true, true}); @@ -786,10 +786,10 @@ TEST_F(ParityOpsTests, Test_Scatter_Add_6) { } TEST_F(ParityOpsTests, Test_Scatter_Add_7) { - auto matrix = NDArrayFactory::create('c', {10, 3}, {1.f,2.f,3.f,4.f,5.f,6.f,7.f,8.f,9.f,10.f,11.f,12.f,13.f,14.f,15.f,16.f,17.f,18.f,19.f,20.f,21.f,22.f,23.f,24.f,25.f,26.f,27.f,28.f,29.f,30.f}); + auto matrix = NDArrayFactory::create( {10, 3}, {1.f,2.f,3.f,4.f,5.f,6.f,7.f,8.f,9.f,10.f,11.f,12.f,13.f,14.f,15.f,16.f,17.f,18.f,19.f,20.f,21.f,22.f,23.f,24.f,25.f,26.f,27.f,28.f,29.f,30.f}); NDArray idc('c', {}, std::vector{5}, sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {3}, {10.f, 20.f, 30.f}); - auto exp = NDArrayFactory::create('c', {10, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f,11.f,12.f, 13.f,14.f,15.f, 26.f,37.f,48.f, 19.f,20.f,21.f, 22.f,23.f,24.f, 25.f,26.f,27.f, 28.f,29.f,30.f}); + auto updates = NDArrayFactory::create( {3}, {10.f, 20.f, 30.f}); + auto exp = NDArrayFactory::create( {10, 3}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f,11.f,12.f, 13.f,14.f,15.f, 26.f,37.f,48.f, 19.f,20.f,21.f, 22.f,23.f,24.f, 25.f,26.f,27.f, 28.f,29.f,30.f}); sd::ops::scatter_add op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}); @@ -822,10 +822,10 @@ TEST_F(ParityOpsTests, Test_Scatter_Add_8) { //////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, Test_Scatter_Add_9) { - auto matrix = NDArrayFactory::create('c', {2, 2, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}); + auto matrix = NDArrayFactory::create( {2, 2, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}); NDArray idc('c', {2, 2}, {1, 10, 0, 0}, sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {2, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); - auto output = NDArrayFactory::create('c', {2, 2, 3}); + auto updates = NDArrayFactory::create( {2, 2, 2, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); + auto output = NDArrayFactory::create( {2, 2, 3}); sd::ops::scatter_add op; @@ -834,10 +834,10 @@ TEST_F(ParityOpsTests, Test_Scatter_Add_9) { //////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterMax_test1) { - auto matrix = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto matrix = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); NDArray idc('c', {1}, std::vector{0.}, sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 2}, {10, 1}); - auto exp = NDArrayFactory::create('c', {2, 2}, {10, 2, 3, 4}); + auto updates = NDArrayFactory::create( {1, 2}, {10, 1}); + auto exp = NDArrayFactory::create( {2, 2}, {10, 2, 3, 4}); sd::ops::scatter_max op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true}); @@ -850,10 +850,10 @@ TEST_F(ParityOpsTests, scatterMax_test1) { } TEST_F(ParityOpsTests, scatterMax_test2) { - auto vec = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); + auto vec = NDArrayFactory::create( {4}, {1, 2, 3, 4}); NDArray idc('c', {1, 4}, {0, 1, 2, 3}, sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 4}, {10, 1, 30, 1}); - auto exp = NDArrayFactory::create('c', {1, 4}, {10, 2, 30, 4}); + auto updates = NDArrayFactory::create( {1, 4}, {10, 1, 30, 1}); + auto exp = NDArrayFactory::create( {1, 4}, {10, 2, 30, 4}); sd::ops::scatter_max op; auto result = op.evaluate({&vec, &idc, &updates}, {}, {}, {true}); @@ -866,10 +866,10 @@ TEST_F(ParityOpsTests, scatterMax_test2) { } TEST_F(ParityOpsTests, scatterMax_test3) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); NDArray idc('c', {1}, std::vector({0}), sd::DataType::INT64); - auto updates = NDArrayFactory::create('c', {1, 2, 2}, {10, 1, 30, 1}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {10, 2, 30, 4, 5, 6, 7, 8}); + auto updates = NDArrayFactory::create( {1, 2, 2}, {10, 1, 30, 1}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {10, 2, 30, 4, 5, 6, 7, 8}); sd::ops::scatter_max op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true}); @@ -883,10 +883,10 @@ TEST_F(ParityOpsTests, scatterMax_test3) { } TEST_F(ParityOpsTests, scatterMax_test4) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); NDArray idc('c', {1,2}, std::vector{0.,0}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {1, 2, 2, 2}, {1,10,1,10, 1,1,10,1.}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1, 10, 10, 10, 5, 6, 7, 8}); + auto updates = NDArrayFactory::create( {1, 2, 2, 2}, {1,10,1,10, 1,1,10,1.}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1, 10, 10, 10, 5, 6, 7, 8}); sd::ops::scatter_max op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {true}, {true}); @@ -899,10 +899,10 @@ TEST_F(ParityOpsTests, scatterMax_test4) { } TEST_F(ParityOpsTests, scatterMax_test5) { - auto matrix = NDArrayFactory::create('c', {2, 2, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}); + auto matrix = NDArrayFactory::create( {2, 2, 3}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}); NDArray idc('c', {2, 2}, {1, 1, 0, 0}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2, 2, 2, 3}, {2,10,1,10, 2,10,1,10, 2,10,1,10, 10,2,10,1, 10,2,10,1, 10,2,10,1.}); - auto exp = NDArrayFactory::create('c', {2, 2, 3}, {10, 2, 10, 2, 10, 2, 2, 10, 2, 10, 2, 10}); + auto updates = NDArrayFactory::create( {2, 2, 2, 3}, {2,10,1,10, 2,10,1,10, 2,10,1,10, 10,2,10,1, 10,2,10,1, 10,2,10,1.}); + auto exp = NDArrayFactory::create( {2, 2, 3}, {10, 2, 10, 2, 10, 2, 2, 10, 2, 10, 2, 10}); sd::ops::scatter_max op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true}); @@ -915,10 +915,10 @@ TEST_F(ParityOpsTests, scatterMax_test5) { } TEST_F(ParityOpsTests, scatterMax_test6) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 1, 1, 1, 1, 1, 1, 1}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 1, 1, 1, 1, 1, 1, 1}); NDArray idc('c', {2, 2}, {1, 1, 0, 0}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2, 2, 2, 2}, {0,2,0,2, 0,2,0,2, 2,0,2,0., 2,0,2,0}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {2, 1, 2, 1, 1, 2, 1, 2}); + auto updates = NDArrayFactory::create( {2, 2, 2, 2}, {0,2,0,2, 0,2,0,2, 2,0,2,0., 2,0,2,0}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {2, 1, 2, 1, 1, 2, 1, 2}); sd::ops::scatter_max op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true}); @@ -932,10 +932,10 @@ TEST_F(ParityOpsTests, scatterMax_test6) { TEST_F(ParityOpsTests, scatterMin_test1) { - auto matrix = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto matrix = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); NDArray idc('c', {1}, std::vector({0}), sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {1, 2}, {-1, 1}); - auto exp = NDArrayFactory::create('c', {2, 2}, {-1, 1, 3, 4}); + auto updates = NDArrayFactory::create( {1, 2}, {-1, 1}); + auto exp = NDArrayFactory::create( {2, 2}, {-1, 1, 3, 4}); sd::ops::scatter_min op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true}); @@ -949,10 +949,10 @@ TEST_F(ParityOpsTests, scatterMin_test1) { } TEST_F(ParityOpsTests, scatterMin_test2) { - auto vec = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); + auto vec = NDArrayFactory::create( {4}, {1, 2, 3, 4}); NDArray idc('c', {1, 4}, {0, 1, 2, 3}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {1, 4}, {10, 1, 30, 1}); - auto exp = NDArrayFactory::create('c', {1, 4}, {1, 1, 3, 1}); + auto updates = NDArrayFactory::create( {1, 4}, {10, 1, 30, 1}); + auto exp = NDArrayFactory::create( {1, 4}, {1, 1, 3, 1}); sd::ops::scatter_min op; auto result = op.evaluate({&vec, &idc, &updates}, {}, {}, {true}); @@ -965,10 +965,10 @@ TEST_F(ParityOpsTests, scatterMin_test2) { } TEST_F(ParityOpsTests, scatterMin_test3) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); NDArray idc('c', {1}, std::vector({0}), sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {1, 2, 2}, {10, 1, 30, 2}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1, 1, 3, 2, 5, 6, 7, 8}); + auto updates = NDArrayFactory::create( {1, 2, 2}, {10, 1, 30, 2}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1, 1, 3, 2, 5, 6, 7, 8}); sd::ops::scatter_min op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true}); @@ -981,10 +981,10 @@ TEST_F(ParityOpsTests, scatterMin_test3) { } TEST_F(ParityOpsTests, scatterMin_test4) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); NDArray idc('c', {1,2}, std::vector{0.,0}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {1, 2, 2, 2}, {1,10,1,10, 1,1,10,1.}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}, {1, 1, 1, 1, 5, 6, 7, 8}); + auto updates = NDArrayFactory::create( {1, 2, 2, 2}, {1,10,1,10, 1,1,10,1.}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {1, 1, 1, 1, 5, 6, 7, 8}); sd::ops::scatter_min op; auto result = op.evaluate({&matrix, &idc, &updates}, {}, {}, {true}); @@ -999,10 +999,10 @@ TEST_F(ParityOpsTests, scatterMin_test4) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterMin_test5) { - auto matrix = NDArrayFactory::create('c', {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); + auto matrix = NDArrayFactory::create( {2, 2, 2}, {1, 2, 3, 4, 5, 6, 7, 8}); NDArray idc('c', {1,2}, {10,10}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {1, 2, 2, 2}, {1,10,1,10, 1,1,10,1.}); - auto output = NDArrayFactory::create('c', {2, 2, 2}); + auto updates = NDArrayFactory::create( {1, 2, 2, 2}, {1,10,1,10, 1,1,10,1.}); + auto output = NDArrayFactory::create( {2, 2, 2}); sd::ops::scatter_min op; @@ -1013,9 +1013,9 @@ TEST_F(ParityOpsTests, scatterMin_test5) { TEST_F(ParityOpsTests, scatterND_test1) { NDArray indices('c', {2, 1}, {1., 0.}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2, 4}, {10.f, 20.f, 30.f, 40.f, 50.f, 60.f, 70.f, 80.f}); - auto shape = NDArrayFactory::create('c', {2}, {3, 4}); - auto exp = NDArrayFactory::create('c', {3, 4}, {50.f, 60.f, 70.f, 80.f, 10.f, 20.f, 30.f, 40.f, 0.f, 0.f, 0.f, 0.f}); + auto updates = NDArrayFactory::create( {2, 4}, {10.f, 20.f, 30.f, 40.f, 50.f, 60.f, 70.f, 80.f}); + auto shape = NDArrayFactory::create( {2}, {3, 4}); + auto exp = NDArrayFactory::create( {3, 4}, {50.f, 60.f, 70.f, 80.f, 10.f, 20.f, 30.f, 40.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::scatter_nd op; auto result = op.evaluate({&indices, &updates, &shape}, {}, {false, true}); @@ -1033,9 +1033,9 @@ TEST_F(ParityOpsTests, scatterND_test1) { TEST_F(ParityOpsTests, scatterND_test2) { NDArray indices('c', {3, 1}, {4., 2., 0.}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3, 4}); - auto shape = NDArrayFactory::create('c', {2}, {5, 4}); - auto exp = NDArrayFactory::create('c', {5, 4}, {9.f,10.f,11.f,12.f, 0.f, 0.f, 0.f, 0.f, 5.f, 6.f, 7.f, 8.f, 0.f, 0.f, 0.f, 0.f, 1.f, 2.f, 3.f, 4.f}); + auto updates = NDArrayFactory::create( {3, 4}); + auto shape = NDArrayFactory::create( {2}, {5, 4}); + auto exp = NDArrayFactory::create( {5, 4}, {9.f,10.f,11.f,12.f, 0.f, 0.f, 0.f, 0.f, 5.f, 6.f, 7.f, 8.f, 0.f, 0.f, 0.f, 0.f, 1.f, 2.f, 3.f, 4.f}); updates.linspace(1.f); sd::ops::scatter_nd op; @@ -1053,9 +1053,9 @@ TEST_F(ParityOpsTests, scatterND_test2) { TEST_F(ParityOpsTests, scatterND_test3) { NDArray indices('c', {2, 3, 1}, {0., 2., 7., 3., 6., 9.}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,3, 3,4}); - auto shape = NDArrayFactory::create('c', {3}, {10, 3, 4}); - auto exp = NDArrayFactory::create('c', {10, 3, 4}, {1.f, 2.f, 3.f, 4., 5.f, 6.f, 7.f, 8., 9.f, 10.f, 11.f, 12., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., + auto updates = NDArrayFactory::create( {2,3, 3,4}); + auto shape = NDArrayFactory::create( {3}, {10, 3, 4}); + auto exp = NDArrayFactory::create( {10, 3, 4}, {1.f, 2.f, 3.f, 4., 5.f, 6.f, 7.f, 8., 9.f, 10.f, 11.f, 12., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., 13.f, 14.f, 15.f, 16.,17.f, 18.f, 19.f, 20.,21.f, 22.f, 23.f, 24.,37.f, 38.f, 39.f, 40.,41.f, 42.f, 43.f, 44.,45.f, 46.f, 47.f, 48., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., 0.f, 0.f, 0.f, 0., 49.f, 50.f, 51.f, 52.,53.f, 54.f, 55.f, 56.,57.f, 58.f, 59.f, 60.,25.f, 26.f, 27.f, 28.,29.f, 30.f, 31.f, 32.,33.f, 34.f, 35.f, 36., @@ -1077,9 +1077,9 @@ TEST_F(ParityOpsTests, scatterND_test3) { TEST_F(ParityOpsTests, scatterND_test4) { NDArray indices('c', {4, 1}, {4., 3., 1., 7.}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {4}, {9.f, 10.f, 11.f, 12.f}); - auto shape = NDArrayFactory::create('c', {1}, {8}); - auto exp = NDArrayFactory::create('c', {8}, {0.f, 11.f, 0.f, 10.f, 9.f, 0.f, 0.f, 12.f}); + auto updates = NDArrayFactory::create( {4}, {9.f, 10.f, 11.f, 12.f}); + auto shape = NDArrayFactory::create( {1}, {8}); + auto exp = NDArrayFactory::create( {8}, {0.f, 11.f, 0.f, 10.f, 9.f, 0.f, 0.f, 12.f}); sd::ops::scatter_nd op; auto result = op.evaluate({&indices, &updates, &shape}, {}, {}); @@ -1096,9 +1096,9 @@ TEST_F(ParityOpsTests, scatterND_test4) { TEST_F(ParityOpsTests, scatterND_test5) { NDArray indices('c', {4, 1}, {1, 1, 1, 1}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); - auto shape = NDArrayFactory::create('c', {1}, {8}); - auto exp = NDArrayFactory::create('c', {8}, {0.f, 10.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}); + auto updates = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); + auto shape = NDArrayFactory::create( {1}, {8}); + auto exp = NDArrayFactory::create( {8}, {0.f, 10.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f}); sd::ops::scatter_nd op; auto result = op.evaluate({&indices, &updates, &shape}, {}, {}, {true}); @@ -1170,9 +1170,9 @@ TEST_F(ParityOpsTests, scatterND_test7) { TEST_F(ParityOpsTests, scatterND_test8) { NDArray indices('c', {3, 2}, {0,0, 1,1, 2,2}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3}, {1.f, 2.f, 3.f}); - auto shape = NDArrayFactory::create('c', {2}, {6,4}); - auto exp = NDArrayFactory::create('c', {6,4}, {1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}); + auto updates = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); + auto shape = NDArrayFactory::create( {2}, {6,4}); + auto exp = NDArrayFactory::create( {6,4}, {1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}); sd::ops::scatter_nd op; auto result = op.evaluate({&indices, &updates, &shape}, {}, {true}); @@ -1191,9 +1191,9 @@ TEST_F(ParityOpsTests, scatterND_test8) { TEST_F(ParityOpsTests, scatterND_test9) { NDArray indices('c', {2, 3, 1}, {0., 20., 7., 30., 6., 90.}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,3, 3,4}); - auto shape = NDArrayFactory::create('c', {3}, {10, 3, 4}); - auto output = NDArrayFactory::create('c', {10, 3, 4}); + auto updates = NDArrayFactory::create( {2,3, 3,4}); + auto shape = NDArrayFactory::create( {3}, {10, 3, 4}); + auto output = NDArrayFactory::create( {10, 3, 4}); sd::ops::scatter_nd op; @@ -1204,10 +1204,10 @@ TEST_F(ParityOpsTests, scatterND_test9) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_add_test1) { - auto input = NDArrayFactory::create('c', {8}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto input = NDArrayFactory::create( {8}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); NDArray indices('c', {4, 1}, {4., 3., 1., 7.}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {4}, {9.f, 10.f, 11.f, 12.f}); - auto exp = NDArrayFactory::create('c', {8}, {1.f, 13.f, 3.f, 14.f, 14.f, 6.f, 7.f, 20.f}); + auto updates = NDArrayFactory::create( {4}, {9.f, 10.f, 11.f, 12.f}); + auto exp = NDArrayFactory::create( {8}, {1.f, 13.f, 3.f, 14.f, 14.f, 6.f, 7.f, 20.f}); sd::ops::scatter_nd_add op; auto result = op.evaluate({&input, &indices, &updates}, {}, {}); @@ -1224,10 +1224,10 @@ TEST_F(ParityOpsTests, scatterND_add_test1) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_add_test2) { - auto input = NDArrayFactory::create('c', {6, 4}); + auto input = NDArrayFactory::create( {6, 4}); NDArray indices('c', {3, 3, 2}, {0.f,0.f, 1.f,1.f, 2.f,2.f, 3.f,3.f, 4.f,0.f, 5.f,1.f, 0.f,2.f, 1.f,3.f, 2.f,0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3,3}); - auto exp = NDArrayFactory::create('c', {6,4}, {1.f,0.f,7.f,0.f, 0.f,2.f,0.f,8.f, 9.f,0.f,3.f,0.f, 0.f,0.f,0.f,4.f, 5.f,0.f,0.f,0.f, 0.f,6.f,0.f,0.f}); + auto updates = NDArrayFactory::create( {3,3}); + auto exp = NDArrayFactory::create( {6,4}, {1.f,0.f,7.f,0.f, 0.f,2.f,0.f,8.f, 9.f,0.f,3.f,0.f, 0.f,0.f,0.f,4.f, 5.f,0.f,0.f,0.f, 0.f,6.f,0.f,0.f}); input = 0.f; updates.linspace(1.f); @@ -1248,10 +1248,10 @@ TEST_F(ParityOpsTests, scatterND_add_test2) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_add_test3) { - auto input = NDArrayFactory::create('c', {6, 4}); + auto input = NDArrayFactory::create( {6, 4}); NDArray indices('c', {2, 3, 1}, {5.f, 1.f, 2.f, 3.f, 4.f, 0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {6,4}, {21.f, 22.f, 23.f, 24.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f, 1.f, 2.f, 3.f, 4.f}); + auto updates = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {6,4}, {21.f, 22.f, 23.f, 24.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f, 1.f, 2.f, 3.f, 4.f}); input = 0.f; updates.linspace(1.f); @@ -1271,10 +1271,10 @@ TEST_F(ParityOpsTests, scatterND_add_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_add_test4) { - auto input = NDArrayFactory::create('c', {6, 4, 5}); + auto input = NDArrayFactory::create( {6, 4, 5}); NDArray indices('c', {3, 3, 2}, {0.f,0.f, 1.f,1.f, 2.f,2.f, 3.f,3.f, 4.f,0.f, 5.f,1.f, 0.f,2.f, 1.f,3.f, 2.f,0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3,3,5}); - auto exp = NDArrayFactory::create('c', {6,4,5}, {1.f, 2.f, 3.f, 4.f, 5.f, 0.f, 0.f, 0.f, 0.f, 0.f,31.f, 32.f, 33.f, 34.f, 35.f, 0.f, 0.f, 0.f, 0.f, 0.f, + auto updates = NDArrayFactory::create( {3,3,5}); + auto exp = NDArrayFactory::create( {6,4,5}, {1.f, 2.f, 3.f, 4.f, 5.f, 0.f, 0.f, 0.f, 0.f, 0.f,31.f, 32.f, 33.f, 34.f, 35.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 6.f, 7.f, 8.f, 9.f, 10.f, 0.f, 0.f, 0.f, 0.f, 0.f,36.f, 37.f, 38.f, 39.f, 40.f, 41.f, 42.f, 43.f, 44.f, 45.f, 0.f, 0.f, 0.f, 0.f, 0.f,11.f, 12.f, 13.f, 14.f, 15.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f,16.f, 17.f, 18.f, 19.f, 20.f, @@ -1298,10 +1298,10 @@ TEST_F(ParityOpsTests, scatterND_add_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_add_test5) { - auto input = NDArrayFactory::create('c', {6,5,4,3,2}); + auto input = NDArrayFactory::create( {6,5,4,3,2}); NDArray indices('c', {2,2,3}, {0.f,0.f,0.f, 1.f,1.f,1.f, 2.f,2.f,2.f, 3.f,3.f,3.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,2,3,2}); - auto exp = NDArrayFactory::create('c', {6,5,4,3,2}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, + auto updates = NDArrayFactory::create( {2,2,3,2}); + auto exp = NDArrayFactory::create( {6,5,4,3,2}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 7.f, 8.f, 9.f, 10.f,11.f, 12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, @@ -1334,10 +1334,10 @@ TEST_F(ParityOpsTests, scatterND_add_test5) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_add_test6) { - auto input = NDArrayFactory::create('c', {6, 4}); + auto input = NDArrayFactory::create( {6, 4}); NDArray indices('c', {2, 3, 1}, {50.f, 1.f, 2.f, 3.f, 40.f, 0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,3,4}); - auto output = NDArrayFactory::create('c', {6,4}); + auto updates = NDArrayFactory::create( {2,3,4}); + auto output = NDArrayFactory::create( {6,4}); sd::ops::scatter_nd_add op; @@ -1347,10 +1347,10 @@ TEST_F(ParityOpsTests, scatterND_add_test6) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_sub_test1) { - auto input = NDArrayFactory::create('c', {8}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto input = NDArrayFactory::create( {8}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); NDArray indices('c', {4, 1}, {4.f, 3.f, 1.f, 7.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {4}, {9.f, 10.f, 11.f, 12.f}); - auto exp = NDArrayFactory::create('c', {8}, {1.f, -9.f, 3.f, -6.f, -4.f, 6.f, 7.f, -4.f}); + auto updates = NDArrayFactory::create( {4}, {9.f, 10.f, 11.f, 12.f}); + auto exp = NDArrayFactory::create( {8}, {1.f, -9.f, 3.f, -6.f, -4.f, 6.f, 7.f, -4.f}); sd::ops::scatter_nd_sub op; auto result = op.evaluate({&input, &indices, &updates}, {}, {}); @@ -1367,10 +1367,10 @@ TEST_F(ParityOpsTests, scatterND_sub_test1) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_sub_test2) { - auto input = NDArrayFactory::create('c', {6, 4}); + auto input = NDArrayFactory::create( {6, 4}); NDArray indices('c', {3, 3, 2}, {0.f,0.f, 1.f,1.f, 2.f,2.f, 3.f,3.f, 4.f,0.f, 5.f,1.f, 0.f,2.f, 1.f,3.f, 2.f,0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3,3}); - auto exp = NDArrayFactory::create('c', {6,4}, {-1.f,0.f,-7.f,0.f, 0.f,-2.f,0.f,-8.f, -9.f,0.f,-3.f,0.f, 0.f,0.f,0.f,-4.f, -5.f,0.f,0.f,0.f, 0.f,-6.f,0.f,0.f}); + auto updates = NDArrayFactory::create( {3,3}); + auto exp = NDArrayFactory::create( {6,4}, {-1.f,0.f,-7.f,0.f, 0.f,-2.f,0.f,-8.f, -9.f,0.f,-3.f,0.f, 0.f,0.f,0.f,-4.f, -5.f,0.f,0.f,0.f, 0.f,-6.f,0.f,0.f}); input = 0.f; updates.linspace(1.f); @@ -1392,10 +1392,10 @@ TEST_F(ParityOpsTests, scatterND_sub_test2) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_sub_test3) { - auto input = NDArrayFactory::create('c', {6, 4}); + auto input = NDArrayFactory::create( {6, 4}); NDArray indices('c', {2, 3, 1}, {5.f, 1.f, 2.f, 3.f,4.f, 0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {6,4}, {-21.f,-22.f,-23.f,-24., -5.f, -6.f, -7.f, -8., -9.f,-10.f,-11.f,-12., -13.f,-14.f,-15.f,-16., -17.f,-18.f,-19.f,-20., -1.f, -2.f, -3.f, -4.f}); + auto updates = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {6,4}, {-21.f,-22.f,-23.f,-24., -5.f, -6.f, -7.f, -8., -9.f,-10.f,-11.f,-12., -13.f,-14.f,-15.f,-16., -17.f,-18.f,-19.f,-20., -1.f, -2.f, -3.f, -4.f}); input = 0.f; updates.linspace(1.f); @@ -1415,10 +1415,10 @@ TEST_F(ParityOpsTests, scatterND_sub_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_sub_test4) { - auto input = NDArrayFactory::create('c', {6, 4, 5}); + auto input = NDArrayFactory::create( {6, 4, 5}); NDArray indices('c', {3, 3, 2}, {0.f,0.f, 1.f,1.f, 2.f,2.f, 3.f,3.f, 4.f,0.f, 5.f,1.f, 0.f,2.f, 1.f,3.f, 2.f,0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3,3,5}); - auto exp = NDArrayFactory::create('c', {6,4,5}, {-1.f, -2.f, -3.f, -4.f, -5.f, 0.f, 0.f, 0.f, 0.f, 0.f,-31.f, -32.f, -33.f, -34.f, -35.f, 0.f, 0.f, 0.f, 0.f, 0.f, + auto updates = NDArrayFactory::create( {3,3,5}); + auto exp = NDArrayFactory::create( {6,4,5}, {-1.f, -2.f, -3.f, -4.f, -5.f, 0.f, 0.f, 0.f, 0.f, 0.f,-31.f, -32.f, -33.f, -34.f, -35.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, -6.f, -7.f, -8.f, -9.f, -10.f, 0.f, 0.f, 0.f, 0.f, 0.f,-36.f, -37.f, -38.f, -39.f, -40.f, -41.f, -42.f, -43.f, -44.f, -45.f, 0.f, 0.f, 0.f, 0.f, 0.f,-11.f, -12.f, -13.f, -14.f, -15.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f,-16.f, -17.f, -18.f, -19.f, -20.f, @@ -1442,10 +1442,10 @@ TEST_F(ParityOpsTests, scatterND_sub_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_sub_test5) { - auto input = NDArrayFactory::create('c', {6,5,4,3,2}); + auto input = NDArrayFactory::create( {6,5,4,3,2}); NDArray indices('c', {2,2,3}, {0.f,0.f,0.f, 1.f,1.f,1.f, 2.f,2.f,2.f, 3.f,3.f,3.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,2,3,2}); - auto exp = NDArrayFactory::create('c', {6,5,4,3,2}, { -1.f, -2.f, -3.f, -4.f, -5.f, -6.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, + auto updates = NDArrayFactory::create( {2,2,3,2}); + auto exp = NDArrayFactory::create( {6,5,4,3,2}, { -1.f, -2.f, -3.f, -4.f, -5.f, -6.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, -7.f, -8.f, -9.f, -10.f,-11.f, -12.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, @@ -1479,10 +1479,10 @@ TEST_F(ParityOpsTests, scatterND_sub_test5) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_update_test1) { - auto input = NDArrayFactory::create('c', {8}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); + auto input = NDArrayFactory::create( {8}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f}); NDArray indices('c', {4, 1}, {4.f, 3.f, 1.f, 7.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {4}, {9.f, 10.f, 11.f, 12.f}); - auto exp = NDArrayFactory::create('c', {8}, {1.f, 11.f, 3.f, 10.f, 9.f, 6.f, 7.f, 12.f}); + auto updates = NDArrayFactory::create( {4}, {9.f, 10.f, 11.f, 12.f}); + auto exp = NDArrayFactory::create( {8}, {1.f, 11.f, 3.f, 10.f, 9.f, 6.f, 7.f, 12.f}); sd::ops::scatter_nd_update op; auto result = op.evaluate({&input, &indices, &updates}, {}, {}); @@ -1499,10 +1499,10 @@ TEST_F(ParityOpsTests, scatterND_update_test1) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_update_test2) { - auto input = NDArrayFactory::create('c', {6, 4}); + auto input = NDArrayFactory::create( {6, 4}); NDArray indices('c', {3, 3, 2}, {0.f,0.f, 1.f,1.f, 2.f,2.f, 3.f,3.f, 4.f,0.f, 5.f,1.f, 0.f,2.f, 1.f,3.f, 2.f,0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3,3}); - auto exp = NDArrayFactory::create('c', {6,4}, {1.f,-1.f,7.f,-1.f, -1.f,2.f,-1.f,8.f, 9.f,-1.f,3.f,-1.f, -1.f,-1.f,-1.f,4.f, 5.f,-1.f,-1.f,-1.f, -1.f,6.f,-1.f,-1.f}); + auto updates = NDArrayFactory::create( {3,3}); + auto exp = NDArrayFactory::create( {6,4}, {1.f,-1.f,7.f,-1.f, -1.f,2.f,-1.f,8.f, 9.f,-1.f,3.f,-1.f, -1.f,-1.f,-1.f,4.f, 5.f,-1.f,-1.f,-1.f, -1.f,6.f,-1.f,-1.f}); input = -1.f; updates.linspace(1.f); @@ -1523,10 +1523,10 @@ TEST_F(ParityOpsTests, scatterND_update_test2) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_update_test3) { - auto input = NDArrayFactory::create('c', {6, 4}); + auto input = NDArrayFactory::create( {6, 4}); NDArray indices('c', {2, 3, 1}, {5.f, 1.f, 2.f, 3.f, 4.f, 0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,3,4}); - auto exp = NDArrayFactory::create('c', {6,4}, {21.f, 22.f, 23.f, 24.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f, 1.f, 2.f, 3.f, 4.f,}); + auto updates = NDArrayFactory::create( {2,3,4}); + auto exp = NDArrayFactory::create( {6,4}, {21.f, 22.f, 23.f, 24.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f,13.f, 14.f, 15.f, 16.f,17.f, 18.f, 19.f, 20.f, 1.f, 2.f, 3.f, 4.f,}); input = -1.f; updates.linspace(1.f); @@ -1547,10 +1547,10 @@ TEST_F(ParityOpsTests, scatterND_update_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_update_test4) { - auto input = NDArrayFactory::create('c', {6, 4, 5}); + auto input = NDArrayFactory::create( {6, 4, 5}); NDArray indices('c', {3, 3, 2}, {0.f,0.f, 1.f,1.f, 2.f,2.f, 3.f,3.f, 4.f,0.f, 5.f,1.f, 0.f,2.f, 1.f,3.f, 2.f,0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3,3,5}); - auto exp = NDArrayFactory::create('c', {6,4,5}, {1.f, 2.f, 3.f, 4.f, 5.f, -1.f, -1.f, -1.f, -1.f, -1.f,31.f, 32.f, 33.f, 34.f, 35.f, -1.f, -1.f, -1.f, -1.f, -1.f, + auto updates = NDArrayFactory::create( {3,3,5}); + auto exp = NDArrayFactory::create( {6,4,5}, {1.f, 2.f, 3.f, 4.f, 5.f, -1.f, -1.f, -1.f, -1.f, -1.f,31.f, 32.f, 33.f, 34.f, 35.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, 6.f, 7.f, 8.f, 9.f, 10.f, -1.f, -1.f, -1.f, -1.f, -1.f,36.f, 37.f, 38.f, 39.f, 40.f, 41.f, 42.f, 43.f, 44.f, 45.f, -1.f, -1.f, -1.f, -1.f, -1.f,11.f, 12.f, 13.f, 14.f, 15.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f,16.f, 17.f, 18.f, 19.f, 20.f, @@ -1574,10 +1574,10 @@ TEST_F(ParityOpsTests, scatterND_update_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_update_test5) { - auto input = NDArrayFactory::create('c', {6,5,4,3,2}); + auto input = NDArrayFactory::create( {6,5,4,3,2}); NDArray indices('c', {2,2,3}, {0.f,0.f,0.f, 1.f,1.f,1.f, 2.f,2.f,2.f, 3.f,3.f,3.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {2,2,3,2}); - auto exp = NDArrayFactory::create('c', {6,5,4,3,2}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, + auto updates = NDArrayFactory::create( {2,2,3,2}); + auto exp = NDArrayFactory::create( {6,5,4,3,2}, { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, 7.f, 8.f, 9.f, 10.f,11.f, 12.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, -1.f, @@ -1610,10 +1610,10 @@ TEST_F(ParityOpsTests, scatterND_update_test5) { //////////////////////////////////////////////////////////////////////// TEST_F(ParityOpsTests, scatterND_update_test6) { - auto input = NDArrayFactory::create('c', {6, 4}); + auto input = NDArrayFactory::create( {6, 4}); NDArray indices('c', {3, 3, 2}, {0.f,0.f, 10.f,1.f, 20.f,2.f, 30.f,3.f, 40.f,0.f, 50.f,1.f, 0.f,2.f, 1.f,3.f, 2.f,0.f}, sd::DataType::INT32); - auto updates = NDArrayFactory::create('c', {3,3}); - auto output = NDArrayFactory::create('c', {6,4}); + auto updates = NDArrayFactory::create( {3,3}); + auto output = NDArrayFactory::create( {6,4}); sd::ops::scatter_nd_update op; From d82c966268c8e5f7ab95501a4b3733109bf178ae Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 13:37:56 +0300 Subject: [PATCH 70/99] Fixed tests to use refactored create methods. Signed-off-by: shugeo --- .../layers_tests/PlaygroundTests.cpp | 44 +-- .../layers_tests/QuantizationTests.cpp | 4 +- libnd4j/tests_cpu/layers_tests/RNGTests.cpp | 255 +++++++++--------- .../tests_cpu/layers_tests/ResultSetTests.cpp | 2 +- .../tests_cpu/layers_tests/SanityTests.cpp | 12 +- .../tests_cpu/layers_tests/ScalarTests.cpp | 36 +-- libnd4j/tests_cpu/layers_tests/ScopeTests.cpp | 6 +- .../layers_tests/ServerRelatedTests.cpp | 10 +- 8 files changed, 181 insertions(+), 188 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp index 733eda10dfad..8091cde8ec98 100644 --- a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp @@ -68,8 +68,8 @@ TEST_F(PlaygroundTests, test_avx) { TEST_F(PlaygroundTests, test_biasAdd_1) { - auto x = NDArrayFactory::create('c', {512, 3072}); - auto y = NDArrayFactory::create('c', {3072}); + auto x = NDArrayFactory::create( {512, 3072}); + auto y = NDArrayFactory::create( {3072}); std::vector values; @@ -268,8 +268,8 @@ TEST_F(PlaygroundTests, test_bert_2) { TEST_F(PlaygroundTests, test_one_off_ops_1) { - auto x = NDArrayFactory::create('c', {4, 128, 768}); - auto y = NDArrayFactory::create('c', {4, 128, 1}); + auto x = NDArrayFactory::create( {4, 128, 768}); + auto y = NDArrayFactory::create( {4, 128, 1}); auto z = x.ulike(); sd::ops::squaredsubtract op; @@ -328,7 +328,7 @@ void testLegacy(bool random) { #endif constexpr int N = 5; - auto x = NDArrayFactory::create('c', { bases[0], bases[1], bases[2], bases[3], bases[4] }); + auto x = NDArrayFactory::create( { bases[0], bases[1], bases[2], bases[3], bases[4] }); if (!random) { x.linspace(1); } @@ -536,9 +536,9 @@ TEST_F(PlaygroundTests, test_broadcast_1) { std::vector aZ(pool); for (int e = 0; e < pool; e++) { - aX[e] = NDArrayFactory::create('c', {512, 3072}); - aY[e] = NDArrayFactory::create('c', {3072}); - aZ[e] = NDArrayFactory::create('c', {512, 3072}); + aX[e] = NDArrayFactory::create( {512, 3072}); + aY[e] = NDArrayFactory::create( {3072}); + aZ[e] = NDArrayFactory::create( {512, 3072}); aX[e].assign(119 * (e+1)); aY[e].assign(119 * (e+3)); @@ -578,9 +578,9 @@ TEST_F(PlaygroundTests, test_broadcast_1) { std::vector aZ(pool); for (int e = 0; e < pool; e++) { - aX[e] = NDArrayFactory::create('c', {512, 3072}); - aY[e] = NDArrayFactory::create('c', {768}); - aZ[e] = NDArrayFactory::create('c', {512, 3072}); + aX[e] = NDArrayFactory::create( {512, 3072}); + aY[e] = NDArrayFactory::create( {768}); + aZ[e] = NDArrayFactory::create( {512, 3072}); aX[e].assign( (e+1) / 119); aY[e].assign( (e+3) / 119); @@ -622,7 +622,7 @@ TEST_F(PlaygroundTests, test_s_0) { sd::Environment::getInstance()->setMaxMasterThreads(t); auto x = NDArrayFactory::create('c', shape); - auto y = NDArrayFactory::create('c', {shape[3]}); + auto y = NDArrayFactory::create( {shape[3]}); auto z = x.ulike(); std::vector values; @@ -661,7 +661,7 @@ TEST_F(PlaygroundTests, test_s_1) { sd::Environment::getInstance()->setMaxMasterThreads(t); auto x = NDArrayFactory::create('c', shape); - auto y = NDArrayFactory::create('c', {shape[1]}); + auto y = NDArrayFactory::create( {shape[1]}); auto z = x.ulike(); std::vector values; @@ -694,8 +694,8 @@ TEST_F(PlaygroundTests, test_s_1) { /* TEST_F(PlaygroundTests, test_s_0) { - auto x = NDArrayFactory::create('c', {32, 112, 112, 16}); - auto y = NDArrayFactory::create('c', {16}); + auto x = NDArrayFactory::create( {32, 112, 112, 16}); + auto y = NDArrayFactory::create( {16}); auto z = x.ulike(); std::vector values; @@ -724,7 +724,7 @@ TEST_F(PlaygroundTests, test_s_0) { */ /* TEST_F(PlaygroundTests, test_s_1) { - auto x0 = NDArrayFactory::create('c', {32, 7, 7, 176}); + auto x0 = NDArrayFactory::create( {32, 7, 7, 176}); auto x1 = x0.ulike(); auto x2 = x0.ulike(); auto x3 = x0.ulike(); @@ -732,7 +732,7 @@ TEST_F(PlaygroundTests, test_s_1) { auto x5 = x0.ulike(); auto y = NDArrayFactory::create(3); - auto z = NDArrayFactory::create('c', {32, 7, 7, 1056}); + auto z = NDArrayFactory::create( {32, 7, 7, 1056}); Context ctx(1); ctx.setInputArray(0, &x0); @@ -817,8 +817,8 @@ TEST_F(PlaygroundTests, test_s_4) { //////// - auto x = NDArrayFactory::create('c', {32, 3, 256, 256}); - auto z = NDArrayFactory::create('c', {32, 3, 256, 256}); + auto x = NDArrayFactory::create( {32, 3, 256, 256}); + auto z = NDArrayFactory::create( {32, 3, 256, 256}); x.linspace(1.0); auto xs0 = x.sizeAt(0); @@ -884,7 +884,7 @@ TEST_F(PlaygroundTests, test_s_4) { TEST_F(PlaygroundTests, test_s_5) { - auto x = NDArrayFactory::create('c', {32, 1, 28, 28}); + auto x = NDArrayFactory::create( {32, 1, 28, 28}); std::vector values; auto iterations = 100; @@ -924,7 +924,7 @@ TEST_F(PlaygroundTests, test_s_5) { TEST_F(PlaygroundTests, test_s_6) { - auto x = NDArrayFactory::create('c', {1024 * 1024 * 64}); + auto x = NDArrayFactory::create( {1024 * 1024 * 64}); auto buffer = x.bufferAsT(); auto len = x.lengthOf(); std::vector values; @@ -965,7 +965,7 @@ TEST_F(PlaygroundTests, test_s_3) { /* TEST_F(PlaygroundTests, test_relubp_1) { - auto x = NDArrayFactory::create('c', {128, 64, 224, 224}); + auto x = NDArrayFactory::create( {128, 64, 224, 224}); auto y = x.ulike(); auto z = x.ulike(); RandomGenerator rng(119, 120); diff --git a/libnd4j/tests_cpu/layers_tests/QuantizationTests.cpp b/libnd4j/tests_cpu/layers_tests/QuantizationTests.cpp index 97f6cd8cd3b6..376de2121c5c 100644 --- a/libnd4j/tests_cpu/layers_tests/QuantizationTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/QuantizationTests.cpp @@ -48,8 +48,8 @@ TEST_F(QuantizationTests, Compression_Test_1) { #ifndef __CUDABLAS__ - auto x = NDArrayFactory::create('c', {10}); - auto z = NDArrayFactory::create('c', {10}); + auto x = NDArrayFactory::vector(10); + auto z = NDArrayFactory::vector(10); x.linspace(1.0f); auto q = new char[TypeCast::estimateQuantizedSize(x.lengthOf())]; diff --git a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp index 1a544e557540..32dc072cd040 100644 --- a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp @@ -40,9 +40,9 @@ class RNGTests : public testing::Test { sd::graph::RandomGenerator _rngA; sd::graph::RandomGenerator _rngB; - NDArray nexp0 = NDArrayFactory::create('c', {10, 10}); - NDArray nexp1 = NDArrayFactory::create('c', {10, 10}); - NDArray nexp2 = NDArrayFactory::create('c', {10, 10}); + NDArray nexp0 = NDArrayFactory::create( {10, 10}); + NDArray nexp1 = NDArrayFactory::create( {10, 10}); + NDArray nexp2 = NDArrayFactory::create( {10, 10}); RNGTests() { //_bufferA = new Nd4jLong[100000]; @@ -87,7 +87,7 @@ TEST_F(RNGTests, TestSeeds_2) { TEST_F(RNGTests, TestGenerator_SGA_1) { RandomGenerator generator(12, 13); - auto array= NDArrayFactory::create('c',{10000000}); + auto array= NDArrayFactory::vector(10000000); generator.setStates(123L, 456L); for (auto idx = 0; idx < array.lengthOf(); idx++) { float x = generator.relativeT(idx, -sd::DataTypeUtils::template max() / 10, @@ -102,8 +102,8 @@ TEST_F(RNGTests, TestGenerator_SGA_1) { TEST_F(RNGTests, Test_Dropout_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); x0.linspace(1); x1.linspace(1); @@ -123,8 +123,8 @@ TEST_F(RNGTests, Test_Dropout_1) { } TEST_F(RNGTests, Test_DropoutInverted_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); x0.linspace(1); x1.linspace(1); @@ -145,8 +145,8 @@ TEST_F(RNGTests, Test_DropoutInverted_1) { TEST_F(RNGTests, Test_Launcher_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::applyDropOut(LaunchContext::defaultContext(), _rngA, &x0, 0.5f); RandomLauncher::applyDropOut(LaunchContext::defaultContext(), _rngB, &x1, 0.5f); @@ -160,8 +160,8 @@ TEST_F(RNGTests, Test_Launcher_1) { TEST_F(RNGTests, Test_Launcher_2) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::applyInvertedDropOut(LaunchContext::defaultContext(), _rngA, &x0, 0.5f); RandomLauncher::applyInvertedDropOut(LaunchContext::defaultContext(), _rngB, &x1, 0.5f); @@ -175,8 +175,8 @@ TEST_F(RNGTests, Test_Launcher_2) { TEST_F(RNGTests, Test_Launcher_3) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::applyAlphaDropOut(LaunchContext::defaultContext(), _rngA, &x0, 0.5f, 0.2f, 0.1f, 0.3f); RandomLauncher::applyAlphaDropOut(LaunchContext::defaultContext(), _rngB, &x1, 0.5f, 0.2f, 0.1f, 0.3f); @@ -190,8 +190,8 @@ TEST_F(RNGTests, Test_Launcher_3) { } TEST_F(RNGTests, Test_Uniform_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -209,7 +209,7 @@ TEST_F(RNGTests, Test_Uniform_1) { } TEST_F(RNGTests, Test_Uniform_3) { - auto x0 = NDArrayFactory::create('c', {1000000}); + auto x0 = NDArrayFactory::create( {1000000}); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); @@ -220,8 +220,8 @@ TEST_F(RNGTests, Test_Uniform_3) { } TEST_F(RNGTests, Test_Bernoulli_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillBernoulli(LaunchContext::defaultContext(), _rngA, &x0, 1.0f); RandomLauncher::fillBernoulli(LaunchContext::defaultContext(), _rngB, &x1, 1.0f); @@ -234,8 +234,8 @@ TEST_F(RNGTests, Test_Bernoulli_1) { } TEST_F(RNGTests, Test_Gaussian_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -250,8 +250,8 @@ TEST_F(RNGTests, Test_Gaussian_1) { } TEST_F(RNGTests, Test_Gaussian_21) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngA, &x0, 0.0f, 1.0f); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngB, &x1, 0.0f, 1.0f); @@ -282,8 +282,8 @@ TEST_F(RNGTests, Test_Gaussian_21) { #ifdef DEBUG_BUILD TEST_F(RNGTests, Test_Gaussian_22) { - auto x0 = NDArrayFactory::create('c', {1000, 800}); - auto x1 = NDArrayFactory::create('c', {1000, 800}); + auto x0 = NDArrayFactory::create( {1000, 800}); + auto x1 = NDArrayFactory::create( {1000, 800}); RandomLauncher::fillGaussian(sd::LaunchContext::defaultContext(), _rngA, &x0, 0.0f, 1.0f); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngB, &x1, 0.0f, 1.0f); @@ -311,7 +311,7 @@ TEST_F(RNGTests, Test_Gaussian_22) { } TEST_F(RNGTests, Test_Gaussian_3) { - auto x0 = NDArrayFactory::create('c', {800000}); + auto x0 = NDArrayFactory::create( {800000}); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngA, &x0, 0.0, 1.0); @@ -324,8 +324,8 @@ TEST_F(RNGTests, Test_Gaussian_3) { } TEST_F(RNGTests, Test_LogNormal_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillLogNormal(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); RandomLauncher::fillLogNormal(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -338,8 +338,8 @@ TEST_F(RNGTests, Test_LogNormal_1) { } TEST_F(RNGTests, Test_Truncated_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -362,8 +362,8 @@ TEST_F(RNGTests, Test_Truncated_1) { } TEST_F(RNGTests, Test_Truncated_2) { - auto x0 = NDArrayFactory::create('c', {1000, 1000}); - auto x1 = NDArrayFactory::create('c', {1000, 1000}); + auto x0 = NDArrayFactory::create( {1000, 1000}); + auto x1 = NDArrayFactory::create( {1000, 1000}); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -388,8 +388,8 @@ TEST_F(RNGTests, Test_Truncated_2) { } TEST_F(RNGTests, Test_Truncated_21) { - auto x0 = NDArrayFactory::create('c', {100, 100}); - auto x1 = NDArrayFactory::create('c', {100, 100}); + auto x0 = NDArrayFactory::create( {100, 100}); + auto x1 = NDArrayFactory::create( {100, 100}); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -434,8 +434,8 @@ TEST_F(RNGTests, Test_Truncated_21) { } TEST_F(RNGTests, Test_Truncated_22) { - auto x0 = NDArrayFactory::create('c', {100, 100}); - auto x1 = NDArrayFactory::create('c', {100, 100}); + auto x0 = NDArrayFactory::create( {100, 100}); + auto x1 = NDArrayFactory::create( {100, 100}); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngA, &x0, 2.0f, 4.0f); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngB, &x1, 2.0f, 4.0f); @@ -478,8 +478,8 @@ TEST_F(RNGTests, Test_Truncated_22) { } TEST_F(RNGTests, Test_Truncated_23) { - auto x0 = NDArrayFactory::create('c', {1000, 1000}); - auto x1 = NDArrayFactory::create('c', {1000, 1000}); + auto x0 = NDArrayFactory::create( {1000, 1000}); + auto x1 = NDArrayFactory::create( {1000, 1000}); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngA, &x0, 0.0f, 1.0f); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngB, &x1, 0.0f, 1.0f); @@ -523,8 +523,8 @@ TEST_F(RNGTests, Test_Truncated_23) { } TEST_F(RNGTests, Test_Truncated_3) { - auto x0 = NDArrayFactory::create('c', {2000, 2000}); - auto x1 = NDArrayFactory::create('c', {2000, 2000}); + auto x0 = NDArrayFactory::create( {2000, 2000}); + auto x1 = NDArrayFactory::create( {2000, 2000}); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -543,8 +543,8 @@ TEST_F(RNGTests, Test_Truncated_3) { #endif TEST_F(RNGTests, Test_Binomial_1) { - auto x0 = NDArrayFactory::create('c', {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto x0 = NDArrayFactory::create( {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillBinomial(LaunchContext::defaultContext(), _rngA, &x0, 3, 2.0f); RandomLauncher::fillBinomial(LaunchContext::defaultContext(), _rngB, &x1, 3, 2.0f); @@ -561,8 +561,8 @@ TEST_F(RNGTests, Test_Binomial_1) { TEST_F(RNGTests, Test_Uniform_2) { - auto input = NDArrayFactory::create('c', {1, 2}, {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto input = NDArrayFactory::create( {1, 2}, {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -581,8 +581,8 @@ TEST_F(RNGTests, Test_Uniform_2) { } TEST_F(RNGTests, Test_Uniform_SGA_3) { - //auto input = NDArrayFactory::create('c', {1, 2}, {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + //auto input = NDArrayFactory::create( {1, 2}, {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngB, &x1, -sd::DataTypeUtils::template max(), sd::DataTypeUtils::template max()); auto minimumU = x1.reduceNumber(reduce::AMin); @@ -590,8 +590,8 @@ TEST_F(RNGTests, Test_Uniform_SGA_3) { } TEST_F(RNGTests, Test_Gaussian_2) { - auto input = NDArrayFactory::create('c', {1, 2}, {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto input = NDArrayFactory::create( {1, 2}, {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -610,8 +610,8 @@ TEST_F(RNGTests, Test_Gaussian_2) { } TEST_F(RNGTests, Test_LogNorm_2) { - auto input = NDArrayFactory::create('c', {1, 2}, {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto input = NDArrayFactory::create( {1, 2}, {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillLogNormal(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -630,8 +630,8 @@ TEST_F(RNGTests, Test_LogNorm_2) { } TEST_F(RNGTests, Test_TruncatedNorm_2) { - auto input = NDArrayFactory::create('c', {1, 2}, {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto input = NDArrayFactory::create( {1, 2}, {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillTruncatedNormal(LaunchContext::defaultContext(), _rngB, &x1, 1.0f, 2.0f); @@ -650,8 +650,8 @@ TEST_F(RNGTests, Test_TruncatedNorm_2) { TEST_F(RNGTests, Test_Binomial_2) { - auto input = NDArrayFactory::create('c', {1, 2}, {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto input = NDArrayFactory::create( {1, 2}, {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillBinomial(LaunchContext::defaultContext(), _rngB, &x1, 3, 0.5f); @@ -671,8 +671,8 @@ TEST_F(RNGTests, Test_Binomial_2) { TEST_F(RNGTests, Test_Bernoulli_2) { - auto input = NDArrayFactory::create('c', {1, 2}, {10, 10}); - auto x1 = NDArrayFactory::create('c', {10, 10}); + auto input = NDArrayFactory::create( {1, 2}, {10, 10}); + auto x1 = NDArrayFactory::create( {10, 10}); RandomLauncher::fillBernoulli(LaunchContext::defaultContext(), _rngB, &x1, 0.5f); @@ -691,8 +691,8 @@ TEST_F(RNGTests, Test_Bernoulli_2) { } TEST_F(RNGTests, Test_GaussianDistribution_1) { - auto x = NDArrayFactory::create('c', {2}, {10, 10}); - auto exp0 = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {2}, {10, 10}); + auto exp0 = NDArrayFactory::create( {10, 10}); sd::ops::random_normal op; @@ -704,16 +704,16 @@ TEST_F(RNGTests, Test_GaussianDistribution_1) { ASSERT_FALSE(exp0.equalsTo(z)); - ASSERT_FALSE(nexp0->equalsTo(z)); - ASSERT_FALSE(nexp1->equalsTo(z)); - ASSERT_FALSE(nexp2->equalsTo(z)); + ASSERT_FALSE(nexp0.equalsTo(z)); + ASSERT_FALSE(nexp1.equalsTo(z)); + ASSERT_FALSE(nexp2.equalsTo(z)); } TEST_F(RNGTests, Test_BernoulliDistribution_1) { - auto x = NDArrayFactory::create('c', {2}, {10, 10}); - auto exp0 = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {2}, {10, 10}); + auto exp0 = NDArrayFactory::create( {10, 10}); sd::ops::random_bernoulli op; @@ -724,17 +724,17 @@ TEST_F(RNGTests, Test_BernoulliDistribution_1) { ASSERT_FALSE(exp0.equalsTo(z)); - ASSERT_FALSE(nexp0->equalsTo(z)); - ASSERT_FALSE(nexp1->equalsTo(z)); - ASSERT_FALSE(nexp2->equalsTo(z)); + ASSERT_FALSE(nexp0.equalsTo(z)); + ASSERT_FALSE(nexp1.equalsTo(z)); + ASSERT_FALSE(nexp2.equalsTo(z)); } TEST_F(RNGTests, Test_ExponentialDistribution_1) { - auto x = NDArrayFactory::create('c', {2}, {10, 10}); - auto exp0 = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {2}, {10, 10}); + auto exp0 = NDArrayFactory::create( {10, 10}); sd::ops::random_exponential op; @@ -750,16 +750,16 @@ TEST_F(RNGTests, Test_ExponentialDistribution_1) { auto variance = z->varianceNumber(variance::SummaryStatsVariance, false); mean.printBuffer("Mean for exponential with param 0.25 (4 exp) is"); variance.printBuffer("Variance for exponential with param 0.25 (16 exp) is"); - ASSERT_FALSE(nexp0->equalsTo(z)); - ASSERT_FALSE(nexp1->equalsTo(z)); - ASSERT_FALSE(nexp2->equalsTo(z)); + ASSERT_FALSE(nexp0.equalsTo(z)); + ASSERT_FALSE(nexp1.equalsTo(z)); + ASSERT_FALSE(nexp2.equalsTo(z)); // delete result; } TEST_F(RNGTests, Test_ExponentialDistribution_1_SGA) { - auto x = NDArrayFactory::create('c', {2}, {10, 10}); - auto exp0 = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {2}, {10, 10}); + auto exp0 = NDArrayFactory::create( {10, 10}); sd::ops::random_exponential op; @@ -775,16 +775,16 @@ TEST_F(RNGTests, Test_ExponentialDistribution_1_SGA) { auto variance = z->varianceNumber(variance::SummaryStatsVariance, false); mean.printBuffer("Mean for exponential with param 1.0 (1 exp) is"); variance.printBuffer("Variance for exponential with param 1. (1 exp) is"); - ASSERT_FALSE(nexp0->equalsTo(z)); - ASSERT_FALSE(nexp1->equalsTo(z)); - ASSERT_FALSE(nexp2->equalsTo(z)); + ASSERT_FALSE(nexp0.equalsTo(z)); + ASSERT_FALSE(nexp1.equalsTo(z)); + ASSERT_FALSE(nexp2.equalsTo(z)); } TEST_F(RNGTests, Test_ExponentialDistribution_2_SGA) { - auto x = NDArrayFactory::create('c', {2}, {10, 10}); - auto exp0 = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {2}, {10, 10}); + auto exp0 = NDArrayFactory::create( {10, 10}); RandomGenerator oc(2716049175077475646L, -6182841917129177862L); sd::ops::random_exponential op; @@ -801,9 +801,9 @@ TEST_F(RNGTests, Test_ExponentialDistribution_2_SGA) { auto variance = z->varianceNumber(variance::SummaryStatsVariance, false); mean.printBuffer("Mean for exponential with param 1.0 (1 exp) is"); variance.printBuffer("Variance for exponential with param 1. (1 exp) is"); - ASSERT_FALSE(nexp0->equalsTo(z)); - ASSERT_FALSE(nexp1->equalsTo(z)); - ASSERT_FALSE(nexp2->equalsTo(z)); + ASSERT_FALSE(nexp0.equalsTo(z)); + ASSERT_FALSE(nexp1.equalsTo(z)); + ASSERT_FALSE(nexp2.equalsTo(z)); mean = exp0.reduceNumber(reduce::Mean); variance = exp0.varianceNumber(variance::SummaryStatsVariance, false); mean.printBuffer("Mean for exponential with param 2.0 (1/2 exp) is"); @@ -811,8 +811,8 @@ TEST_F(RNGTests, Test_ExponentialDistribution_2_SGA) { } TEST_F(RNGTests, Test_ExponentialDistribution_3_SGA) { - auto x = NDArrayFactory::create('c', {2}, {1000, 1000}); - auto exp0 = NDArrayFactory::create('c', {1000, 1000}); + auto x = NDArrayFactory::create( {2}, {1000, 1000}); + auto exp0 = NDArrayFactory::create( {1000, 1000}); RandomGenerator oc(2716049175077475646L, -6182841917129177862L); auto expMean = NDArrayFactory::create(0.5f); auto expVar = NDArrayFactory::create(0.25f); @@ -852,9 +852,9 @@ TEST_F(RNGTests, Test_ExponentialDistribution_3_SGA) { } TEST_F(RNGTests, Test_ExponentialDistribution_2) { - auto x = NDArrayFactory::create('c', {2}, {10, 10}); - auto y = NDArrayFactory::create('c', {10, 10}); - auto exp0 = NDArrayFactory::create('c', {10, 10}); + auto x = NDArrayFactory::create( {2}, {10, 10}); + auto y = NDArrayFactory::create( {10, 10}); + auto exp0 = NDArrayFactory::create( {10, 10}); y.assign(1.0); @@ -868,17 +868,17 @@ TEST_F(RNGTests, Test_ExponentialDistribution_2) { ASSERT_FALSE(exp0.equalsTo(z)); - ASSERT_FALSE(nexp0->equalsTo(z)); - ASSERT_FALSE(nexp1->equalsTo(z)); - ASSERT_FALSE(nexp2->equalsTo(z)); + ASSERT_FALSE(nexp0.equalsTo(z)); + ASSERT_FALSE(nexp1.equalsTo(z)); + ASSERT_FALSE(nexp2.equalsTo(z)); } TEST_F(RNGTests, Test_PoissonDistribution_1) { - auto x = NDArrayFactory::create('c', {1}, {10}); - auto la = NDArrayFactory::create('c', {2, 3}); - auto exp0 = NDArrayFactory::create('c', {10, 2, 3}); + auto x = NDArrayFactory::create( {1}, {10}); + auto la = NDArrayFactory::create( {2, 3}); + auto exp0 = NDArrayFactory::create( {10, 2, 3}); la.linspace(1.0); @@ -896,9 +896,9 @@ TEST_F(RNGTests, Test_PoissonDistribution_1) { } TEST_F(RNGTests, Test_GammaDistribution_1) { - auto x = NDArrayFactory::create('c', {1}, {10}); - auto al = NDArrayFactory::create('c', {2, 3}); - auto exp0 = NDArrayFactory::create('c', {10, 2, 3}); + auto x = NDArrayFactory::create( {1}, {10}); + auto al = NDArrayFactory::create( {2, 3}); + auto exp0 = NDArrayFactory::create( {10, 2, 3}); al.linspace(1.0); @@ -916,10 +916,10 @@ TEST_F(RNGTests, Test_GammaDistribution_1) { } TEST_F(RNGTests, Test_GammaDistribution_2) { - auto x = NDArrayFactory::create('c', {1}, {10}); - auto al = NDArrayFactory::create('c', {2, 3}); - auto be = NDArrayFactory::create('c', {2, 3}); - auto exp0 = NDArrayFactory::create('c', {10, 2, 3}); + auto x = NDArrayFactory::create( {1}, {10}); + auto al = NDArrayFactory::create( {2, 3}); + auto be = NDArrayFactory::create( {2, 3}); + auto exp0 = NDArrayFactory::create( {10, 2, 3}); al.linspace(1.0); be.assign(1.0); @@ -937,10 +937,10 @@ TEST_F(RNGTests, Test_GammaDistribution_2) { } TEST_F(RNGTests, Test_GammaDistribution_3) { - auto x = NDArrayFactory::create('c', {1}, {10}); - auto al = NDArrayFactory::create('c', {3, 1}); - auto be = NDArrayFactory::create('c', {1, 2}); - auto exp0 = NDArrayFactory::create('c', {10, 3, 2}); + auto x = NDArrayFactory::create( {1}, {10}); + auto al = NDArrayFactory::create( {3, 1}); + auto be = NDArrayFactory::create( {1, 2}); + auto exp0 = NDArrayFactory::create( {10, 3, 2}); al.linspace(1.0); be.assign(2.0); @@ -958,10 +958,10 @@ TEST_F(RNGTests, Test_GammaDistribution_3) { } TEST_F(RNGTests, Test_UniformDistribution_04) { - auto x = NDArrayFactory::create('c', {1}, {10}); + auto x = NDArrayFactory::create( {1}, {10}); auto al = NDArrayFactory::create(1); auto be = NDArrayFactory::create(20); - auto exp0 = NDArrayFactory::create('c', {10}); + auto exp0 = NDArrayFactory::create( {10}); sd::ops::randomuniform op; @@ -977,18 +977,18 @@ TEST_F(RNGTests, Test_UniformDistribution_04) { namespace sd { namespace tests { - static void fillList(Nd4jLong seed, int numberOfArrays, std::vector &shape, std::vector &list, sd::graph::RandomGenerator *rng) { + static void fillList(Nd4jLong seed, int numberOfArrays, std::vector &shape, std::vector &list, sd::graph::RandomGenerator *rng) { rng->setSeed((int) seed); for (int i = 0; i < numberOfArrays; i++) { auto arrayI = NDArrayFactory::create(shape); - auto arrayR = NDArrayFactory::create('c', shape); + auto arrayR = NDArrayFactory::create(shape); auto min = NDArrayFactory::create(0.0); auto max = NDArrayFactory::create(1.0); sd::ops::randomuniform op; - op.execute(*rng, {&arrayI, &min, &max}, {arrayR}, {}, {DataType::DOUBLE}, {}, {}, false); + op.execute(*rng, {&arrayI, &min, &max}, {&arrayR}, {}, {DataType::DOUBLE}, {}, {}, false); - list.emplace_back(&arrayR); + list.emplace_back(arrayR); } }; } @@ -1000,29 +1000,26 @@ TEST_F(RNGTests, Test_Reproducibility_1) { std::vector shape = {32, 3, 28, 28}; sd::graph::RandomGenerator rng; - std::vector expList; + std::vector expList; sd::tests::fillList(seed, 10, shape, expList, &rng); for (int e = 0; e < 2; e++) { - std::vector trialList; + std::vector trialList; sd::tests::fillList(seed, 10, shape, trialList, &rng); for (int a = 0; a < expList.size(); a++) { auto arrayE = expList[a]; auto arrayT = trialList[a]; - bool t = arrayE->equalsTo(arrayT); + bool t = arrayE.equalsTo(arrayT); if (!t) { // nd4j_printf("Failed at iteration [%i] for array [%i]\n", e, a); ASSERT_TRUE(false); } - delete arrayT; + //delete arrayT; } } - - for (auto v: expList) - delete v; } #ifndef DEBUG_BUILD @@ -1032,24 +1029,24 @@ TEST_F(RNGTests, Test_Reproducibility_2) { std::vector shape = {32, 3, 64, 64}; sd::graph::RandomGenerator rng; - std::vector expList; + std::vector expList; sd::tests::fillList(seed, 10, shape, expList, &rng); for (int e = 0; e < 2; e++) { - std::vector trialList; + std::vector trialList; sd::tests::fillList(seed, 10, shape, trialList, &rng); for (int a = 0; a < expList.size(); a++) { auto arrayE = expList[a]; auto arrayT = trialList[a]; - bool t = arrayE->equalsTo(arrayT); + bool t = arrayE.equalsTo(arrayT); if (!t) { // nd4j_printf("Failed at iteration [%i] for array [%i]\n", e, a); - for (Nd4jLong f = 0; f < arrayE->lengthOf(); f++) { - double x = arrayE->e(f); - double y = arrayT->e(f); + for (Nd4jLong f = 0; f < arrayE.lengthOf(); f++) { + double x = arrayE.e(f); + double y = arrayT.e(f); if (sd::math::nd4j_re(x, y) > 0.1) { // nd4j_printf("E[%lld] %f != T[%lld] %f\n", (long long) f, (float) x, (long long) f, (float) y); @@ -1060,17 +1057,13 @@ TEST_F(RNGTests, Test_Reproducibility_2) { // just breaker, since test failed ASSERT_TRUE(false); } - - delete arrayT; } } - for (auto v: expList) - delete v; } TEST_F(RNGTests, Test_Uniform_4) { - auto x1 = NDArrayFactory::create('c', {1000000}); + auto x1 = NDArrayFactory::create( {1000000}); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngB, &x1, 1.0, 2.0); @@ -1090,8 +1083,8 @@ TEST_F(RNGTests, Test_Uniform_4) { TEST_F(RNGTests, test_choice_1) { const auto x = NDArrayFactory::linspace(0, 10, 11); - const auto prob = NDArrayFactory::valueOf({11}, 1.0/11, 'c'); - auto z = NDArrayFactory::create('c', {1000}); + const auto prob = NDArrayFactory::valueOf({11}, 1.0/11); + auto z = NDArrayFactory::create( {1000}); RandomGenerator rng(119, 256); NativeOpExecutioner::execRandom(sd::LaunchContext ::defaultContext(), random::Choice, &rng, x.buffer(), x.shapeInfo(), x.specialBuffer(), x.specialShapeInfo(), prob.buffer(), prob.shapeInfo(), prob.specialBuffer(), prob.specialShapeInfo(), z.buffer(), z.shapeInfo(), z.specialBuffer(), z.specialShapeInfo(), nullptr); @@ -1100,8 +1093,8 @@ TEST_F(RNGTests, test_choice_1) { } TEST_F(RNGTests, test_uniform_119) { - auto x = NDArrayFactory::create('c', {2}, {1, 5}); - auto z = NDArrayFactory::create('c', {1, 5}); + auto x = NDArrayFactory::create( {2}, {1, 5}); + auto z = NDArrayFactory::create( {1, 5}); sd::ops::randomuniform op; diff --git a/libnd4j/tests_cpu/layers_tests/ResultSetTests.cpp b/libnd4j/tests_cpu/layers_tests/ResultSetTests.cpp index 4ca8a3806572..e407e1752e62 100644 --- a/libnd4j/tests_cpu/layers_tests/ResultSetTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ResultSetTests.cpp @@ -32,7 +32,7 @@ class ResultSetTests : public testing::Test { }; TEST_F(ResultSetTests, basic_test_1) { - auto x = NDArrayFactory::create('c', {3, 5}); + auto x = NDArrayFactory::create( {3, 5}); auto tensors = x.allTensorsAlongDimension({1}); ASSERT_EQ(3, tensors.size()); diff --git a/libnd4j/tests_cpu/layers_tests/SanityTests.cpp b/libnd4j/tests_cpu/layers_tests/SanityTests.cpp index ae3ea224bba0..25b9e6a67805 100644 --- a/libnd4j/tests_cpu/layers_tests/SanityTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/SanityTests.cpp @@ -43,20 +43,20 @@ TEST_F(SanityTests, VariableSpace_1) { TEST_F(SanityTests, VariableSpace_2) { VariableSpace variableSpace; - variableSpace.putVariable(1, new Variable(NDArrayFactory::create('c', {3, 3}))); - variableSpace.putVariable(1, 1, new Variable(NDArrayFactory::create('c', {3, 3}))); + variableSpace.putVariable(1, new Variable(new NDArray(NDArrayFactory::create( {3, 3})))); + variableSpace.putVariable(1, 1, new Variable(new NDArray(NDArrayFactory::create( {3, 3})))); std::pair pair(1, 2); - variableSpace.putVariable(pair, new Variable(NDArrayFactory::create('c', {3, 3}))); + variableSpace.putVariable(pair, new Variable(new NDArray(NDArrayFactory::create( {3, 3})))); } TEST_F(SanityTests, Graph_1) { Graph graph; - graph.getVariableSpace()->putVariable(1, new Variable(NDArrayFactory::create('c', {3, 3}))); - graph.getVariableSpace()->putVariable(1, 1, new Variable(NDArrayFactory::create('c', {3, 3}))); + graph.getVariableSpace()->putVariable(1, new Variable(new NDArray(NDArrayFactory::create( {3, 3})))); + graph.getVariableSpace()->putVariable(1, 1, new Variable(new NDArray(NDArrayFactory::create( {3, 3})))); std::pair pair(1, 2); - graph.getVariableSpace()->putVariable(pair, new Variable(NDArrayFactory::create('c', {3, 3}))); + graph.getVariableSpace()->putVariable(pair, new Variable(new NDArray(NDArrayFactory::create( {3, 3})))); } diff --git a/libnd4j/tests_cpu/layers_tests/ScalarTests.cpp b/libnd4j/tests_cpu/layers_tests/ScalarTests.cpp index 937ca4675608..b5acfce61daf 100644 --- a/libnd4j/tests_cpu/layers_tests/ScalarTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ScalarTests.cpp @@ -68,9 +68,9 @@ TEST_F(ScalarTests, Test_Add_2) { } TEST_F(ScalarTests, Test_Add_3) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); auto y = NDArrayFactory::create(3.0f); - auto exp = NDArrayFactory::create('c', {3}, {4, 5, 6}); + auto exp = NDArrayFactory::create( {3}, {4, 5, 6}); x += y; @@ -91,7 +91,7 @@ TEST_F(ScalarTests, Test_Concat_1) { auto t = NDArrayFactory::create(1.0f); auto u = NDArrayFactory::create(2.0f); auto v = NDArrayFactory::create(3.0f); - auto exp = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {3}, {1, 2, 3}); sd::ops::concat op; auto result = op.evaluate({&t, &u, &v}, {}, {0}); @@ -109,9 +109,9 @@ TEST_F(ScalarTests, Test_Concat_1) { TEST_F(ScalarTests, Test_Concat_2) { auto t = NDArrayFactory::create(1.0f); - auto u = NDArrayFactory::create('c', {3}, {2, 3, 4}); + auto u = NDArrayFactory::create( {3}, {2, 3, 4}); auto v = NDArrayFactory::create(5.0f); - auto exp = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); + auto exp = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); sd::ops::concat op; auto result = op.evaluate({&t, &u, &v}, {}, {0}); @@ -129,10 +129,10 @@ TEST_F(ScalarTests, Test_Concat_2) { TEST_F(ScalarTests, Test_Concat_3) { - auto t = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto t = NDArrayFactory::create( {3}, {1, 2, 3}); auto u = NDArrayFactory::create(4.0f); auto v = NDArrayFactory::create(5.0f); - auto exp = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); + auto exp = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); sd::ops::concat op; auto result = op.evaluate({&t, &u, &v}, {}, {0}); @@ -151,7 +151,7 @@ TEST_F(ScalarTests, Test_Concat_3) { TEST_F(ScalarTests, Test_ExpandDims_1) { auto x = NDArrayFactory::create(2.0f); - auto exp = NDArrayFactory::create('c', {1}, {2.0f}); + auto exp = NDArrayFactory::create( {1}, {2.0f}); sd::ops::expand_dims op; auto result = op.evaluate({&x}, {}, {0}); @@ -199,11 +199,11 @@ TEST_F(ScalarTests, Test_Permute_1) { } TEST_F(ScalarTests, Test_Concat_Scalar_1) { - auto t = NDArrayFactory::create('c', {1, 1}, {1.0f}); - auto u = NDArrayFactory::create('c', {1, 1}, {2.0f}); - auto v = NDArrayFactory::create('c', {1, 1}, {3.0f}); - auto w = NDArrayFactory::create('c', {1, 1}, {4.0f}); - auto exp = NDArrayFactory::create('c', {4, 1}, {1, 2, 3, 4}); + auto t = NDArrayFactory::create( {1, 1}, {1.0f}); + auto u = NDArrayFactory::create( {1, 1}, {2.0f}); + auto v = NDArrayFactory::create( {1, 1}, {3.0f}); + auto w = NDArrayFactory::create( {1, 1}, {4.0f}); + auto exp = NDArrayFactory::create( {4, 1}, {1, 2, 3, 4}); sd::ops::concat op; auto result = op.evaluate({&t, &u, &v, &w}, {}, {0}); @@ -218,11 +218,11 @@ TEST_F(ScalarTests, Test_Concat_Scalar_1) { TEST_F(ScalarTests, Test_Concat_Scalar_2) { - auto t = NDArrayFactory::create('c', {1, 1}, {1.0f}); - auto u = NDArrayFactory::create('c', {1, 1}, {2.0f}); - auto v = NDArrayFactory::create('c', {1, 1}, {3.0f}); - auto w = NDArrayFactory::create('c', {1, 1}, {4.0f}); - auto exp = NDArrayFactory::create('c', {1, 4}, {1, 2, 3, 4}); + auto t = NDArrayFactory::create( {1, 1}, {1.0f}); + auto u = NDArrayFactory::create( {1, 1}, {2.0f}); + auto v = NDArrayFactory::create( {1, 1}, {3.0f}); + auto w = NDArrayFactory::create( {1, 1}, {4.0f}); + auto exp = NDArrayFactory::create( {1, 4}, {1, 2, 3, 4}); sd::ops::concat op; auto result = op.evaluate({&t, &u, &v, &w}, {}, {1}); diff --git a/libnd4j/tests_cpu/layers_tests/ScopeTests.cpp b/libnd4j/tests_cpu/layers_tests/ScopeTests.cpp index 43bd2eb7e854..d80665e02127 100644 --- a/libnd4j/tests_cpu/layers_tests/ScopeTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ScopeTests.cpp @@ -34,11 +34,11 @@ class ScopeTests : public testing::Test { TEST_F(ScopeTests, BasicTests_1) { Graph graph; - auto x = NDArrayFactory::create('c', {2, 2}); - x->assign(0.0f); + auto x = NDArrayFactory::create( {2, 2}); + x.assign(0.0f); auto variableSpace = graph.getVariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); sd::ops::Scope opScope; diff --git a/libnd4j/tests_cpu/layers_tests/ServerRelatedTests.cpp b/libnd4j/tests_cpu/layers_tests/ServerRelatedTests.cpp index e0d03731b5f3..b1d8ca6ab986 100644 --- a/libnd4j/tests_cpu/layers_tests/ServerRelatedTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ServerRelatedTests.cpp @@ -87,7 +87,7 @@ TEST_F(ServerRelatedTests, Basic_Execution_Test_1) { auto oGraph = GraphExecutioner::importFromFlatBuffers("./resources/reduce_dim_false.fb"); oGraph->printOut(); - auto exp = NDArrayFactory::create('c', {3}, {3.f, 3.f, 3.f}); + auto exp = NDArrayFactory::create( {3}, {3.f, 3.f, 3.f}); GraphHolder::getInstance()->registerGraph(11901L, oGraph); @@ -117,8 +117,8 @@ TEST_F(ServerRelatedTests, Basic_Execution_Test_2) { auto oGraph = GraphExecutioner::importFromFlatBuffers("./resources/reduce_dim_false.fb"); oGraph->printOut(); - auto input0 = NDArrayFactory::create('c', {3, 3}, {2.f,2.f,2.f, 2.f,2.f,2.f, 2.f,2.f,2.f}); - auto exp = NDArrayFactory::create('c', {3}, {6.f, 6.f, 6.f}); + auto input0 = NDArrayFactory::create( {3, 3}, {2.f,2.f,2.f, 2.f,2.f,2.f, 2.f,2.f,2.f}); + auto exp = NDArrayFactory::create( {3}, {6.f, 6.f, 6.f}); GraphHolder::getInstance()->registerGraph(11902L, oGraph); @@ -157,8 +157,8 @@ TEST_F(ServerRelatedTests, BasicExecutionTests_3) { auto oGraph = GraphExecutioner::importFromFlatBuffers("./resources/reduce_dim_false.fb"); oGraph->printOut(); - auto input0 = NDArrayFactory::create('c', {3, 3}, {2.f,2.f,2.f, 2.f,2.f,2.f, 2.f,2.f,2.f}); - auto exp = NDArrayFactory::create('c', {3}, {6.f, 6.f, 6.f}); + auto input0 = NDArrayFactory::create( {3, 3}, {2.f,2.f,2.f, 2.f,2.f,2.f, 2.f,2.f,2.f}); + auto exp = NDArrayFactory::create( {3}, {6.f, 6.f, 6.f}); GraphHolder::getInstance()->registerGraph(11903L, oGraph); From 2b30909769a7d7800c38f62723f2c735024f4061 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 15:52:51 +0300 Subject: [PATCH 71/99] Fixed tests to proper use of refactored create methods. Signed-off-by: shugeo --- .../layers_tests/SessionLocalTests.cpp | 4 +- libnd4j/tests_cpu/layers_tests/ShapeTests.cpp | 16 ++++---- .../layers_tests/ShapeUtilsTests.cpp | 30 +++++++-------- .../tests_cpu/layers_tests/SingleDimTests.cpp | 38 +++++++++---------- .../tests_cpu/layers_tests/SortCpuTests.cpp | 32 ++++++++-------- .../layers_tests/SparseUtilsTest.cpp | 4 +- libnd4j/tests_cpu/layers_tests/StashTests.cpp | 30 +++++++-------- .../tests_cpu/layers_tests/StringTests.cpp | 38 +++++++++---------- .../tests_cpu/layers_tests/SwitchTests.cpp | 36 +++++++++--------- libnd4j/tests_cpu/layers_tests/TadTests.cpp | 21 +++++----- 10 files changed, 124 insertions(+), 125 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/SessionLocalTests.cpp b/libnd4j/tests_cpu/layers_tests/SessionLocalTests.cpp index 617d5b399d3c..522fed109b95 100644 --- a/libnd4j/tests_cpu/layers_tests/SessionLocalTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/SessionLocalTests.cpp @@ -62,10 +62,10 @@ TEST_F(SessionLocalTests, BasicTests_2) { if (omp_get_max_threads() <= 1) return; - auto alpha = sd::NDArrayFactory::create('c',{5,5}); + auto alpha = sd::NDArrayFactory::create( {5,5}); alpha.assign(0.0); - variableSpace.putVariable(-1, alpha); + variableSpace.putVariable(-1, new sd::NDArray(alpha)); PRAGMA_OMP_PARALLEL_FOR_THREADS(4) for (int e = 0; e < 4; e++) { diff --git a/libnd4j/tests_cpu/layers_tests/ShapeTests.cpp b/libnd4j/tests_cpu/layers_tests/ShapeTests.cpp index 46edc50d8bd1..8e8ce515f7a7 100644 --- a/libnd4j/tests_cpu/layers_tests/ShapeTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ShapeTests.cpp @@ -198,7 +198,7 @@ TEST_F(ShapeTests, Test_Transpose_4) { } TEST_F(ShapeTests, Test_Edge_1) { - auto x = NDArrayFactory::create('f', {1, 4, 1, 4}); + auto x = NDArrayFactory::create( {1, 4, 1, 4}, {}, sd::kArrayOrderFortran); x.linspace(1); x.reshapei('c', {4, 4}); @@ -213,7 +213,7 @@ TEST_F(ShapeTests, Test_Edge_1) { } TEST_F(ShapeTests, Test_Edge_2) { - auto x = NDArrayFactory::create('c', {1, 4, 1, 3}); + auto x = NDArrayFactory::create( {1, 4, 1, 3}); x.reshapei('c', {3, 4}); @@ -283,9 +283,9 @@ TEST_F(ShapeTests, Test_Remove_Index_6) { } TEST_F(ShapeTests, Tests_Transpose_119_1) { - auto x = NDArrayFactory::create('c', {3, 2}); - auto y = NDArrayFactory::create('c', {2}, {1.0f, 0.0f}); - auto z = NDArrayFactory::create('c', {2, 3}); + auto x = NDArrayFactory::create( {3, 2}); + auto y = NDArrayFactory::create( {2}, {1.0f, 0.0f}); + auto z = NDArrayFactory::create( {2, 3}); x.linspace(1.f); @@ -301,7 +301,7 @@ TEST_F(ShapeTests, Tests_Transpose_119_1) { } TEST_F(ShapeTests, Tests_Transpose_119_2) { - auto x = NDArrayFactory::create('c', {3, 5}); + auto x = NDArrayFactory::create( {3, 5}); x.linspace(1.f); auto exp = x.transpose(); @@ -318,10 +318,10 @@ TEST_F(ShapeTests, Tests_Transpose_119_2) { } TEST_F(ShapeTests, Tests_Transpose_119_3) { - auto x = NDArrayFactory::create('c', {3, 5}); + auto x = NDArrayFactory::create( {3, 5}); x.linspace(1.f); - auto z = NDArrayFactory::create('c', {5, 3}); + auto z = NDArrayFactory::create( {5, 3}); auto exp = x.transpose(); diff --git a/libnd4j/tests_cpu/layers_tests/ShapeUtilsTests.cpp b/libnd4j/tests_cpu/layers_tests/ShapeUtilsTests.cpp index 25f4f2c18001..920d32c0da77 100644 --- a/libnd4j/tests_cpu/layers_tests/ShapeUtilsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ShapeUtilsTests.cpp @@ -124,8 +124,8 @@ TEST_F(ShapeUtilsTests, EvalBroadcastShapeInfo_4) TEST_F(ShapeUtilsTests, evalReduceShapeInfo_test1) { - auto x = NDArrayFactory::create('c',{2,3,4,5}); - auto expected = NDArrayFactory::create('c', {2,4,5}); + auto x = NDArrayFactory::create( {2,3,4,5}); + auto expected = NDArrayFactory::create( {2,4,5}); std::vector dimensions = {1}; auto newShapeInfo = ShapeUtils::evalReduceShapeInfo('c', dimensions, x.shapeInfo()); @@ -137,8 +137,8 @@ TEST_F(ShapeUtilsTests, evalReduceShapeInfo_test1) TEST_F(ShapeUtilsTests, evalReduceShapeInfo_test2) { - auto x = NDArrayFactory::create('c',{2,3,4,5}); - auto expected = NDArrayFactory::create('c', {2,1,4,5}); + auto x = NDArrayFactory::create( {2,3,4,5}); + auto expected = NDArrayFactory::create( {2,1,4,5}); std::vector dimensions = {1}; auto newShapeInfo = ShapeUtils::evalReduceShapeInfo('c', dimensions, x.shapeInfo(), true); @@ -150,8 +150,8 @@ TEST_F(ShapeUtilsTests, evalReduceShapeInfo_test2) TEST_F(ShapeUtilsTests, evalReduceShapeInfo_test3) { - auto x = NDArrayFactory::create('c',{2,3,4,5}); - auto expected = NDArrayFactory::create('c', {1,1,1,5}); + auto x = NDArrayFactory::create( {2,3,4,5}); + auto expected = NDArrayFactory::create( {1,1,1,5}); std::vector dimensions = {0,1,2}; auto newShapeInfo = ShapeUtils::evalReduceShapeInfo('c', dimensions, x.shapeInfo(), true); @@ -164,8 +164,8 @@ TEST_F(ShapeUtilsTests, evalReduceShapeInfo_test3) TEST_F(ShapeUtilsTests, evalReduceShapeInfo_test4) { - auto x = NDArrayFactory::create('c',{2,3,4,5}); - auto expected = NDArrayFactory::create('c', {1,1,1,1}); + auto x = NDArrayFactory::create( {2,3,4,5}); + auto expected = NDArrayFactory::create( {1,1,1,1}); std::vector dimensions = {0,1,2,3}; auto newShapeInfo = ShapeUtils::evalReduceShapeInfo('c', dimensions, x.shapeInfo(), true); @@ -174,7 +174,7 @@ TEST_F(ShapeUtilsTests, evalReduceShapeInfo_test4) } TEST_F(ShapeUtilsTests, Test_Strings_1) { - auto x = NDArrayFactory::create('c', {2, 3, 4, 5}); + auto x = NDArrayFactory::create( {2, 3, 4, 5}); std::string exp("[2, 3, 4, 5]"); auto s = ShapeUtils::shapeAsString(&x); @@ -183,8 +183,8 @@ TEST_F(ShapeUtilsTests, Test_Strings_1) { } TEST_F(ShapeUtilsTests, Test_Backward_Axis_1) { - auto x = NDArrayFactory::create('c', {2, 4, 3}); - auto y = NDArrayFactory::create('c', {4, 3}); + auto x = NDArrayFactory::create( {2, 4, 3}); + auto y = NDArrayFactory::create( {4, 3}); std::vector exp({0}); auto z = ShapeUtils::evalBroadcastBackwardAxis(y.shapeInfo(), x.shapeInfo()); @@ -193,8 +193,8 @@ TEST_F(ShapeUtilsTests, Test_Backward_Axis_1) { } TEST_F(ShapeUtilsTests, Test_Backward_Axis_2) { - auto x = NDArrayFactory::create('c', {2, 4, 4, 3}); - auto y = NDArrayFactory::create('c', {4, 1, 3}); + auto x = NDArrayFactory::create( {2, 4, 4, 3}); + auto y = NDArrayFactory::create( {4, 1, 3}); std::vector exp({0, 2}); auto z = ShapeUtils::evalBroadcastBackwardAxis(y.shapeInfo(), x.shapeInfo()); @@ -204,8 +204,8 @@ TEST_F(ShapeUtilsTests, Test_Backward_Axis_2) { TEST_F(ShapeUtilsTests, Test_Backward_Axis_3) { - auto x = NDArrayFactory::create('c', {2, 4, 4, 3}); - auto y = NDArrayFactory::create('c', {2, 1, 1, 3}); + auto x = NDArrayFactory::create( {2, 4, 4, 3}); + auto y = NDArrayFactory::create( {2, 1, 1, 3}); std::vector exp({1, 2}); auto z = ShapeUtils::evalBroadcastBackwardAxis(y.shapeInfo(), x.shapeInfo()); diff --git a/libnd4j/tests_cpu/layers_tests/SingleDimTests.cpp b/libnd4j/tests_cpu/layers_tests/SingleDimTests.cpp index cc13f3529df5..42c8e2ffff35 100644 --- a/libnd4j/tests_cpu/layers_tests/SingleDimTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/SingleDimTests.cpp @@ -33,7 +33,7 @@ class SingleDimTests : public testing::Test { }; TEST_F(SingleDimTests, Test_Create_1) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); ASSERT_EQ(5, x.lengthOf()); ASSERT_EQ(1, x.rankOf()); ASSERT_TRUE(x.isVector()); @@ -42,8 +42,8 @@ TEST_F(SingleDimTests, Test_Create_1) { } TEST_F(SingleDimTests, Test_Add_1) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {3}, {2, 3, 4}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {3}, {2, 3, 4}); x += 1.0f; @@ -53,8 +53,8 @@ TEST_F(SingleDimTests, Test_Add_1) { TEST_F(SingleDimTests, Test_Pairwise_1) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {3}, {2, 4, 6}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {3}, {2, 4, 6}); x += x; @@ -63,9 +63,9 @@ TEST_F(SingleDimTests, Test_Pairwise_1) { } TEST_F(SingleDimTests, Test_Concat_1) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto y = NDArrayFactory::create('c', {3}, {4, 5, 6}); - auto exp = NDArrayFactory::create('c', {6}, {1, 2, 3, 4, 5, 6}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); + auto y = NDArrayFactory::create( {3}, {4, 5, 6}); + auto exp = NDArrayFactory::create( {6}, {1, 2, 3, 4, 5, 6}); sd::ops::concat op; auto result = op.evaluate({&x, &y}, {}, {0}); @@ -81,7 +81,7 @@ TEST_F(SingleDimTests, Test_Concat_1) { } TEST_F(SingleDimTests, Test_Reduce_1) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); float r = x.reduceNumber(reduce::Sum).e(0); @@ -89,7 +89,7 @@ TEST_F(SingleDimTests, Test_Reduce_1) { } TEST_F(SingleDimTests, Test_IndexReduce_1) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); auto r = x.indexReduceNumber(indexreduce::IndexMax).e(0); @@ -98,8 +98,8 @@ TEST_F(SingleDimTests, Test_IndexReduce_1) { TEST_F(SingleDimTests, Test_ExpandDims_1) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {1, 3}, {1, 2, 3}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {1, 3}, {1, 2, 3}); sd::ops::expand_dims op; auto result = op.evaluate({&x}, {}, {0}); @@ -116,8 +116,8 @@ TEST_F(SingleDimTests, Test_ExpandDims_1) { TEST_F(SingleDimTests, Test_ExpandDims_2) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {3, 1}, {1, 2, 3}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {3, 1}, {1, 2, 3}); sd::ops::expand_dims op; auto result = op.evaluate({&x}, {}, {1}); @@ -136,7 +136,7 @@ TEST_F(SingleDimTests, Test_ExpandDims_2) { TEST_F(SingleDimTests, Test_Squeeze_1) { std::vector vecS({1}); std::vector vecB({3.0f}); - auto x = NDArrayFactory::create('c', vecS, vecB); + auto x = NDArrayFactory::create( vecS, vecB); auto exp = NDArrayFactory::create(3.0f); sd::ops::squeeze op; @@ -153,8 +153,8 @@ TEST_F(SingleDimTests, Test_Squeeze_1) { } TEST_F(SingleDimTests, Test_Squeeze_2) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {3}, {1, 2, 3}); sd::ops::squeeze op; auto result = op.evaluate({&x}, {}, {}); @@ -169,8 +169,8 @@ TEST_F(SingleDimTests, Test_Squeeze_2) { } TEST_F(SingleDimTests, Test_Permute_1) { - auto x = NDArrayFactory::create('c', {3}, {1, 2, 3}); - auto exp = NDArrayFactory::create('c', {3}, {1, 2, 3}); + auto x = NDArrayFactory::create( {3}, {1, 2, 3}); + auto exp = NDArrayFactory::create( {3}, {1, 2, 3}); sd::ops::permute op; auto result = op.evaluate({&x}, {}, {0}); diff --git a/libnd4j/tests_cpu/layers_tests/SortCpuTests.cpp b/libnd4j/tests_cpu/layers_tests/SortCpuTests.cpp index 4dcedf03527f..a2b18bd5c7ff 100644 --- a/libnd4j/tests_cpu/layers_tests/SortCpuTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/SortCpuTests.cpp @@ -37,11 +37,11 @@ TEST_F(SortCpuTests, test_linear_sort_by_key_1) { if (!Environment::getInstance()->isCPU()) return; - auto k = NDArrayFactory::create('c', {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); sortByKey(nullptr, k.buffer(), k.shapeInfo(), k.specialBuffer(), k.specialShapeInfo(), v.buffer(), v.shapeInfo(), v.specialBuffer(), v.specialShapeInfo(), false); @@ -54,11 +54,11 @@ TEST_F(SortCpuTests, test_linear_sort_by_val_1) { if (!Environment::getInstance()->isCPU()) return; - auto k = NDArrayFactory::create('c', {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); sortByValue(nullptr, k.buffer(), k.shapeInfo(), k.specialBuffer(), k.specialShapeInfo(), v.buffer(), v.shapeInfo(), v.specialBuffer(), v.specialShapeInfo(), false); @@ -71,11 +71,11 @@ TEST_F(SortCpuTests, test_tad_sort_by_key_1) { if (!Environment::getInstance()->isCPU()) return; - auto k = NDArrayFactory::create('c', {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); int axis = 1; @@ -89,11 +89,11 @@ TEST_F(SortCpuTests, test_tad_sort_by_val_1) { if (!Environment::getInstance()->isCPU()) return; - auto k = NDArrayFactory::create('c', {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); int axis = 1; diff --git a/libnd4j/tests_cpu/layers_tests/SparseUtilsTest.cpp b/libnd4j/tests_cpu/layers_tests/SparseUtilsTest.cpp index 37f52568f42f..1b3d223a39bb 100644 --- a/libnd4j/tests_cpu/layers_tests/SparseUtilsTest.cpp +++ b/libnd4j/tests_cpu/layers_tests/SparseUtilsTest.cpp @@ -123,10 +123,10 @@ TEST_F(SparseUtilsTest, SortCOOindices_Test) { 49, 38, 39, }; - auto values = NDArrayFactory::create('c', {40}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + auto values = NDArrayFactory::create( {40}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}); - auto expValues = NDArrayFactory::create('c', {40}, {0, 1, 2, 8, 3, 4, 5, 16, 17, 6, 18, 19, 7, 20, 21, 22, 9, + auto expValues = NDArrayFactory::create( {40}, {0, 1, 2, 8, 3, 4, 5, 16, 17, 6, 18, 19, 7, 20, 21, 22, 9, 10, 11, 12, 26, 23, 24, 13, 27, 28, 14, 29, 15, 30, 31, 25, 32, 33, 34, 35, 36, 37, 38, 39 }); diff --git a/libnd4j/tests_cpu/layers_tests/StashTests.cpp b/libnd4j/tests_cpu/layers_tests/StashTests.cpp index 2541bfd98c0f..0f792465d11e 100644 --- a/libnd4j/tests_cpu/layers_tests/StashTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/StashTests.cpp @@ -36,18 +36,18 @@ class StashTests : public testing::Test { TEST_F(StashTests, BasicTests_1) { Stash stash; - auto alpha = NDArrayFactory::create('c',{5, 5}); + auto alpha = NDArrayFactory::create( {5, 5}); alpha.assign(1.0f); - auto beta = NDArrayFactory::create('c',{5, 5}); + auto beta = NDArrayFactory::create( {5, 5}); beta.assign(2.0f); - auto cappa = NDArrayFactory::create('c',{5, 5}); + auto cappa = NDArrayFactory::create( {5, 5}); cappa.assign(3.0f); - stash.storeArray(1, "alpha", alpha); - stash.storeArray(2, "alpha", beta); - stash.storeArray(3, "cappa", cappa); + stash.storeArray(1, "alpha", new NDArray(alpha)); + stash.storeArray(2, "alpha", new NDArray(beta)); + stash.storeArray(3, "cappa", new NDArray(cappa)); ASSERT_TRUE(stash.checkStash(1, "alpha")); ASSERT_TRUE(stash.checkStash(2, "alpha")); @@ -62,26 +62,26 @@ TEST_F(StashTests, BasicTests_1) { TEST_F(StashTests, BasicTests_2) { Stash stash; - auto alpha = NDArrayFactory::create('c',{5, 5}); + auto alpha = NDArrayFactory::create( {5, 5}); alpha.assign(1.0f); - auto beta = NDArrayFactory::create('c',{5, 5}); + auto beta = NDArrayFactory::create( {5, 5}); beta.assign(2.0f); - auto cappa = NDArrayFactory::create('c',{5, 5}); + auto cappa = NDArrayFactory::create( {5, 5}); cappa.assign(3.0f); - stash.storeArray(1, "alpha", alpha); - stash.storeArray(1, "beta", beta); - stash.storeArray(1, "cappa", cappa); + stash.storeArray(1, "alpha", new NDArray(alpha)); + stash.storeArray(1, "beta", new NDArray(beta)); + stash.storeArray(1, "cappa", new NDArray(cappa)); ASSERT_FALSE(stash.checkStash(2, "alpha")); ASSERT_FALSE(stash.checkStash(2, "beta")); ASSERT_FALSE(stash.checkStash(2, "cappa")); - ASSERT_TRUE(alpha == stash.extractArray(1, "alpha")); - ASSERT_TRUE(beta == stash.extractArray(1, "beta")); - ASSERT_TRUE(cappa == stash.extractArray(1, "cappa")); + ASSERT_TRUE(alpha.equalsTo(stash.extractArray(1, "alpha"))); + ASSERT_TRUE(beta.equalsTo(stash.extractArray(1, "beta"))); + ASSERT_TRUE(cappa.equalsTo(stash.extractArray(1, "cappa"))); } diff --git a/libnd4j/tests_cpu/layers_tests/StringTests.cpp b/libnd4j/tests_cpu/layers_tests/StringTests.cpp index 272c410c7c4c..a8561ee6ffc9 100644 --- a/libnd4j/tests_cpu/layers_tests/StringTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/StringTests.cpp @@ -61,7 +61,7 @@ TEST_F(StringTests, Basic_Test_2) { ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_3) { - auto array = NDArrayFactory::string({3, 2}, {"alpha", "beta", "gamma", "phi", "theta", "omega"}); + auto array = NDArrayFactory::string({3, 2}, std::vector{"alpha", "beta", "gamma", "phi", "theta", "omega"}); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -261,7 +261,7 @@ TEST_F(StringTests, Basic_Test_23) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_1) { - auto array = NDArrayFactory::string( {3}, {"alpha", "beta", "gamma"}); + auto array = NDArrayFactory::string( {3}, std::vector{"alpha", "beta", "gamma"}); auto vector = array.asByteVector(); } ///////////////////////////////////////////////////////////////////////// @@ -292,7 +292,7 @@ TEST_F(StringTests, byte_length_test_1) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, byte_length_test_2) { - auto array = NDArrayFactory::string( {2}, {"alpha", "beta"}); + auto array = NDArrayFactory::string( {2}, std::vector{"alpha", "beta"}); ASSERT_EQ(9, StringUtils::byteLength(array)); } @@ -519,7 +519,7 @@ TEST_F(StringTests, Basic_Test_UTF8toU32) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_StringVecU8toUTF16) { - auto array = NDArrayFactory::string({ 3, 2 }, { "alpha€", "beta", "gamma水", "phi", "theta", "omega水" }, sd::DataType::UTF16); + auto array = NDArrayFactory::string({ 3, 2 }, std::vector{ "alpha€", "beta", "gamma水", "phi", "theta", "omega水" }, sd::DataType::UTF16); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -528,7 +528,7 @@ TEST_F(StringTests, Basic_Test_StringVecU8toUTF16) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_StringVecU8toUTF32) { - auto array = NDArrayFactory::string( { 3, 2 }, { "alpha€", "beta水", "gamma", "phi", "theta", "omega" }, sd::DataType::UTF32); + auto array = NDArrayFactory::string( { 3, 2 }, std::vector{ "alpha€", "beta水", "gamma", "phi", "theta", "omega" }, sd::DataType::UTF32); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -537,19 +537,19 @@ TEST_F(StringTests, Basic_Test_StringVecU8toUTF32) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_U8toUTF16) { - auto array = NDArrayFactory::string({ 3 }, { "alpha", "beta", "gamma" }, sd::DataType::UTF16); + auto array = NDArrayFactory::string({ 3 }, std::vector{ "alpha", "beta", "gamma" }, sd::DataType::UTF16); auto vector = array.asByteVector(); } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_U8toUTF32) { - auto array = NDArrayFactory::string({ 3 }, { "alpha", "beta", "gamma" }, sd::DataType::UTF32); + auto array = NDArrayFactory::string({ 3 }, std::vector{ "alpha", "beta", "gamma" }, sd::DataType::UTF32); auto vector = array.asByteVector(); } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_StringVecU16toUTF16) { - auto array = NDArrayFactory::string({ 3, 2 }, { u"alpha水", u"beta", u"gamma", u"phi", u"theta水", u"omega" }, sd::DataType::UTF16); + auto array = NDArrayFactory::string({ 3, 2 }, std::vector{ u"alpha水", u"beta", u"gamma", u"phi", u"theta水", u"omega" }, sd::DataType::UTF16); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -558,7 +558,7 @@ TEST_F(StringTests, Basic_Test_StringVecU16toUTF16) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_StringVecU16toUTF32) { - auto array = NDArrayFactory::string( { 3, 2 }, { u"alpha水", u"beta", u"gamma水", u"phi", u"theta", u"omega" }, sd::DataType::UTF32); + auto array = NDArrayFactory::string( { 3, 2 }, std::vector{ u"alpha水", u"beta", u"gamma水", u"phi", u"theta", u"omega" }, sd::DataType::UTF32); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -567,7 +567,7 @@ TEST_F(StringTests, Basic_Test_StringVecU16toUTF32) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_StringVecU16toUTF8) { - auto array = NDArrayFactory::string( { 3, 2 }, { u"alpha€", u"beta水", u"gamma", u"phi水", u"theta", u"omega" }, sd::DataType::UTF8); + auto array = NDArrayFactory::string( { 3, 2 }, std::vector{ u"alpha€", u"beta水", u"gamma", u"phi水", u"theta", u"omega" }, sd::DataType::UTF8); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -576,25 +576,25 @@ TEST_F(StringTests, Basic_Test_StringVecU16toUTF8) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_U16toUTF8) { - auto array = NDArrayFactory::string( { 3 }, { u"alpha", u"beta", u"gamma" }, sd::DataType::UTF8); + auto array = NDArrayFactory::string( { 3 }, std::vector{ u"alpha", u"beta", u"gamma" }, sd::DataType::UTF8); auto vector = array.asByteVector(); } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_U16toUTF16) { - auto array = NDArrayFactory::string( { 3 }, { u"alpha", u"beta", u"gamma" }, sd::DataType::UTF16); + auto array = NDArrayFactory::string( { 3 }, std::vector{ u"alpha", u"beta", u"gamma" }, sd::DataType::UTF16); auto vector = array.asByteVector(); } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_U16toUTF32) { - auto array = NDArrayFactory::string( { 3 }, { u"alpha水", u"beta", u"gamma水" }, sd::DataType::UTF32); + auto array = NDArrayFactory::string( { 3 }, std::vector{ u"alpha水", u"beta", u"gamma水" }, sd::DataType::UTF32); auto vector = array.asByteVector(); } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_StringVecU32toUTF32) { - auto array = NDArrayFactory::string( { 3, 2 }, { U"alpha€", U"beta水", U"gamma", U"phi", U"theta", U"omega水" }, sd::DataType::UTF32); + auto array = NDArrayFactory::string( { 3, 2 }, std::vector{ U"alpha€", U"beta水", U"gamma", U"phi", U"theta", U"omega水" }, sd::DataType::UTF32); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -603,7 +603,7 @@ TEST_F(StringTests, Basic_Test_StringVecU32toUTF32) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_StringVecU32toUTF16) { - auto array = NDArrayFactory::string({ 3, 2 }, { U"alpha水", U"水beta", U"gamma", U"phi水", U"theta", U"omega" }, sd::DataType::UTF16); + auto array = NDArrayFactory::string({ 3, 2 }, std::vector{ U"alpha水", U"水beta", U"gamma", U"phi水", U"theta", U"omega" }, sd::DataType::UTF16); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -617,7 +617,7 @@ TEST_F(StringTests, Basic_Test_StringVecU32toUTF16) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Basic_Test_StringVecU32toUTF8) { - auto array = NDArrayFactory::string( { 3, 2 }, { U"alpha水", U"beta", U"gamma水", U"phi", U"theta", U"omega" }, sd::DataType::UTF8); + auto array = NDArrayFactory::string( { 3, 2 }, std::vector{ U"alpha水", U"beta", U"gamma水", U"phi", U"theta", U"omega" }, sd::DataType::UTF8); ASSERT_EQ(6, array.lengthOf()); ASSERT_EQ(2, array.rankOf()); @@ -626,19 +626,19 @@ TEST_F(StringTests, Basic_Test_StringVecU32toUTF8) { } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_U32toUTF32) { - auto array = NDArrayFactory::string( { 3 }, { U"alpha", U"beta", U"gamma" }, sd::DataType::UTF32); + auto array = NDArrayFactory::string( { 3 }, std::vector{ U"alpha", U"beta", U"gamma" }, sd::DataType::UTF32); auto vector = array.asByteVector(); } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_U32toUTF16) { - auto array = NDArrayFactory::string( { 3 }, { U"alpha", U"beta水", U"gamma水" }, sd::DataType::UTF16); + auto array = NDArrayFactory::string( { 3 }, std::vector{ U"alpha", U"beta水", U"gamma水" }, sd::DataType::UTF16); auto vector = array.asByteVector(); } ///////////////////////////////////////////////////////////////////////// TEST_F(StringTests, Export_Test_U32toUTF8) { - auto array = NDArrayFactory::string( { 3 }, { U"alpha", U"beta", U"gamma水" }, sd::DataType::UTF8); + auto array = NDArrayFactory::string( { 3 }, std::vector{ U"alpha", U"beta", U"gamma水" }, sd::DataType::UTF8); auto vector = array.asByteVector(); } diff --git a/libnd4j/tests_cpu/layers_tests/SwitchTests.cpp b/libnd4j/tests_cpu/layers_tests/SwitchTests.cpp index 20039b07ac3b..66d14cddbe1a 100644 --- a/libnd4j/tests_cpu/layers_tests/SwitchTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/SwitchTests.cpp @@ -38,17 +38,17 @@ TEST_F(SwitchTests, SwitchTest1) { auto variableSpace = graph.getVariableSpace(); variableSpace->setFlowPath(&flowPath); - auto input = NDArrayFactory::create('c',{32, 100}); + auto input = NDArrayFactory::create( {32, 100}); input.assign(-119.0f); - auto condtionX = NDArrayFactory::create('c', {1, 1}); + auto condtionX = NDArrayFactory::create( {1, 1}); condtionX.p(0, 0.0f); - auto condtionY = NDArrayFactory::create('c', {1, 1}); + auto condtionY = NDArrayFactory::create( {1, 1}); condtionY.p(0, 0.0f); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, condtionX); - variableSpace->putVariable(-3, condtionY); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(condtionX)); + variableSpace->putVariable(-3, new NDArray(condtionY)); // this is just 2 ops, that are executed sequentially. We don't really care bout them auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); @@ -125,18 +125,18 @@ TEST_F(SwitchTests, SwitchTest2) { auto variableSpace = graph.getVariableSpace(); variableSpace->setFlowPath(&flowPath); - auto input = NDArrayFactory::create('c',{32, 100}); + auto input = NDArrayFactory::create( {32, 100}); input.assign(-119.0f); - auto condtionX = NDArrayFactory::create('c', {1, 1}); + auto condtionX = NDArrayFactory::create( {1, 1}); condtionX.p(0, 1.0f); - auto condtionY = NDArrayFactory::create('c', {1, 1}); + auto condtionY = NDArrayFactory::create( {1, 1}); condtionY.p(0, 1.0f); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, condtionX); - variableSpace->putVariable(-3, condtionY); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(condtionX)); + variableSpace->putVariable(-3, new NDArray(condtionY)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); @@ -191,18 +191,18 @@ TEST_F(SwitchTests, SwitchTest3) { auto variableSpace = graph.getVariableSpace(); variableSpace->setFlowPath(&flowPath); - auto input = NDArrayFactory::create('c',{32, 100}); + auto input = NDArrayFactory::create( {32, 100}); input.assign(-119.0f); - auto condtionX = NDArrayFactory::create('c', {1, 1}); + auto condtionX = NDArrayFactory::create( {1, 1}); condtionX.p(0, 2.0f); - auto condtionY = NDArrayFactory::create('c', {1, 1}); + auto condtionY = NDArrayFactory::create( {1, 1}); condtionY.p(0, 1.0f); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, condtionX); - variableSpace->putVariable(-3, condtionY); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(condtionX)); + variableSpace->putVariable(-3, new NDArray(condtionY)); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); diff --git a/libnd4j/tests_cpu/layers_tests/TadTests.cpp b/libnd4j/tests_cpu/layers_tests/TadTests.cpp index a2cdec003c6b..d026f8f13bda 100644 --- a/libnd4j/tests_cpu/layers_tests/TadTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/TadTests.cpp @@ -39,12 +39,12 @@ class TadTests : public testing::Test { TEST_F(TadTests, Test4DTad1) { - NDArray* arraySource = sd::NDArrayFactory::linspace(1.0f, 10000.0f, 10000); + auto arraySource = sd::NDArrayFactory::linspace(1.0f, 10000.0f, 10000); Nd4jLong badShape[] = {4, 2, 1, 4, 4, 80, 16, 4, 1, 8192, -1, 99}; Nd4jLong goodShape[] = {4, 2, 1, 4, 4, 16, 16, 4, 1, 8192, 1, 99}; - std::vector buff = arraySource->getBufferAsVector(); + std::vector buff = arraySource.getBufferAsVector(); NDArray* arrayExp = new NDArray(buff.data(), goodShape); NDArray* arrayBad = new NDArray(buff.data(), badShape); @@ -61,12 +61,11 @@ TEST_F(TadTests, Test4DTad1) { delete arrayExp; delete arrayBad; - delete arraySource; } TEST_F(TadTests, TestNumTads1) { - auto x = NDArrayFactory::create('c', {2, 3}); - auto y = NDArrayFactory::create('c', {2, 2}); + auto x = NDArrayFactory::create( {2, 3}); + auto y = NDArrayFactory::create( {2, 2}); std::vector dim({0}); @@ -113,7 +112,7 @@ TEST_F(TadTests, TestShapeTad_1) { } TEST_F(TadTests, TadNoAxis_1) { - auto array = NDArrayFactory::create('c', {2, 3}); + auto array = NDArrayFactory::create( {2, 3}); shape::TAD tad; tad.init(array.shapeInfo(), nullptr, 0); @@ -126,8 +125,8 @@ TEST_F(TadTests, TadNoAxis_1) { } TEST_F(TadTests, TadEdgeCase_1) { - auto array = NDArrayFactory::create('c', {5, 4, 1}); - auto exp = NDArrayFactory::create('c', {5, 4}); + auto array = NDArrayFactory::create( {5, 4, 1}); + auto exp = NDArrayFactory::create( {5, 4}); array.linspace(1); auto tad = array(0, {2}); @@ -137,7 +136,7 @@ TEST_F(TadTests, TadEdgeCase_1) { TEST_F(TadTests, TestEdgeCase_2) { - auto array = NDArrayFactory::create('f', {2, 3, 1}, {1, 4, 2, 5, 3, 6}); + auto array = NDArrayFactory::create( {2, 3, 1}, {1, 4, 2, 5, 3, 6}, sd::kArrayOrderFortran); for (int e = 0 ; e < array.lengthOf(); e++) { auto tad = array(e, {0,1}); @@ -146,7 +145,7 @@ TEST_F(TadTests, TestEdgeCase_2) { } TEST_F(TadTests, TadEdgeCase_2) { - auto array = NDArrayFactory::create('c', {2, 3, 4}); + auto array = NDArrayFactory::create( {2, 3, 4}); auto tad = array(0, {0,2}); @@ -244,7 +243,7 @@ TEST_F(TadTests, test_tad_order_4) { } TEST_F(TadTests, test_column_1) { - auto x = NDArrayFactory::create('c', {5, 2}); + auto x = NDArrayFactory::create( {5, 2}); auto tadPack = sd::ConstantTadHelper::getInstance()->tadForDimensions(x.shapeInfo(), 0); ASSERT_EQ(1, shape::rank(tadPack.primaryShapeInfo())); From 6dc3fcc6e07eefa82bce19d14a1320f06783d501 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 16:28:09 +0300 Subject: [PATCH 72/99] Fixed rest tests to proper use refactored create methods. Signed-off-by: shugeo --- .../layers_tests/VariableProxyTests.cpp | 56 +++++++++---------- .../layers_tests/VariableSpaceTests.cpp | 50 ++++++++--------- .../tests_cpu/layers_tests/VariableTests.cpp | 24 ++++---- .../tests_cpu/layers_tests/WorkspaceTests.cpp | 20 +++---- 4 files changed, 75 insertions(+), 75 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp b/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp index 6a0e8416827c..55ce04687c77 100644 --- a/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp @@ -31,10 +31,10 @@ class VariableProxyTests : public testing::Test { TEST_F(VariableProxyTests, Test_Simple_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); VariableSpace ref; - ref.putVariable(119, x); + ref.putVariable(119, new NDArray(x)); ASSERT_TRUE(ref.hasVariable(119)); @@ -45,7 +45,7 @@ TEST_F(VariableProxyTests, Test_Simple_1) { TEST_F(VariableProxyTests, Test_Simple_2) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); VariableSpace ref; ASSERT_FALSE(ref.hasVariable(119)); @@ -54,7 +54,7 @@ TEST_F(VariableProxyTests, Test_Simple_2) { ASSERT_FALSE(proxy.hasVariable(119)); - proxy.putVariable(119, x); + proxy.putVariable(119, new NDArray(x)); ASSERT_FALSE(ref.hasVariable(119)); @@ -63,11 +63,11 @@ TEST_F(VariableProxyTests, Test_Simple_2) { TEST_F(VariableProxyTests, Test_Simple_3) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {2, 2}, {4, 2, 3, 1}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {2, 2}, {4, 2, 3, 1}); VariableSpace ref; - ref.putVariable(119, x); + ref.putVariable(119, new NDArray(x)); ASSERT_TRUE(ref.hasVariable(119)); @@ -75,7 +75,7 @@ TEST_F(VariableProxyTests, Test_Simple_3) { ASSERT_TRUE(proxy.hasVariable(119)); - proxy.putVariable(119, y); + proxy.putVariable(119, new NDArray(y)); ASSERT_TRUE(ref.hasVariable(119)); @@ -85,18 +85,18 @@ TEST_F(VariableProxyTests, Test_Simple_3) { auto z1 = proxy.getVariable(119)->getNDArray(); ASSERT_FALSE(z0 == z1); - ASSERT_TRUE(y == z1); - ASSERT_TRUE(x == z0); + ASSERT_TRUE(y.equalsTo(z1)); + ASSERT_TRUE(x.equalsTo(z0)); } TEST_F(VariableProxyTests, Test_Simple_4) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {2, 2}, {4, 2, 3, 1}); - auto z = NDArrayFactory::create('c', {2, 2}, {4, 1, 3, 2}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {2, 2}, {4, 2, 3, 1}); + auto z = NDArrayFactory::create( {2, 2}, {4, 1, 3, 2}); VariableSpace ref; - ref.putVariable(119, x); - ref.putVariable(118, z); + ref.putVariable(119, new NDArray(x)); + ref.putVariable(118, new NDArray(z)); ASSERT_TRUE(ref.hasVariable(119)); @@ -104,7 +104,7 @@ TEST_F(VariableProxyTests, Test_Simple_4) { ASSERT_TRUE(proxy.hasVariable(119)); - proxy.putVariable(119, y); + proxy.putVariable(119, new NDArray(y)); ASSERT_TRUE(ref.hasVariable(119)); ASSERT_TRUE(ref.hasVariable(118)); @@ -116,17 +116,17 @@ TEST_F(VariableProxyTests, Test_Simple_4) { auto z1 = proxy.getVariable(119)->getNDArray(); ASSERT_FALSE(z0 == z1); - ASSERT_TRUE(y == z1); - ASSERT_TRUE(x == z0); + ASSERT_TRUE(y.equalsTo(z1)); + ASSERT_TRUE(x.equalsTo(z0)); } TEST_F(VariableProxyTests, Test_Cast_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {2, 2}, {4, 2, 3, 1}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {2, 2}, {4, 2, 3, 1}); VariableSpace ref; - ref.putVariable(-119, x); + ref.putVariable(-119, new NDArray(x)); ASSERT_TRUE(ref.hasVariable(-119)); @@ -135,7 +135,7 @@ TEST_F(VariableProxyTests, Test_Cast_1) { ASSERT_TRUE(cast->hasVariable(-119)); - cast->putVariable(-119, y); + cast->putVariable(-119, new NDArray(y)); ASSERT_TRUE(ref.hasVariable(-119)); @@ -145,21 +145,21 @@ TEST_F(VariableProxyTests, Test_Cast_1) { auto z1 = cast->getVariable(-119)->getNDArray(); ASSERT_FALSE(z0 == z1); - ASSERT_TRUE(y == z1); - ASSERT_TRUE(x == z0); + ASSERT_TRUE(y.equalsTo(z1)); + ASSERT_TRUE(x.equalsTo(z0)); } TEST_F(VariableProxyTests, Test_Clone_1) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); - auto y = NDArrayFactory::create('c', {2, 2}, {4, 2, 3, 1}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); + auto y = NDArrayFactory::create( {2, 2}, {4, 2, 3, 1}); VariableSpace ref; - ref.putVariable(118, x); + ref.putVariable(118, new NDArray(x)); VariableProxy proxy(&ref); - proxy.putVariable(119, y); + proxy.putVariable(119, new NDArray(y)); ASSERT_TRUE(proxy.hasVariable(118)); ASSERT_TRUE(proxy.hasVariable(119)); diff --git a/libnd4j/tests_cpu/layers_tests/VariableSpaceTests.cpp b/libnd4j/tests_cpu/layers_tests/VariableSpaceTests.cpp index 4c523bd650e0..4fa3740ea9f2 100644 --- a/libnd4j/tests_cpu/layers_tests/VariableSpaceTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/VariableSpaceTests.cpp @@ -44,17 +44,17 @@ class VariableSpaceTest : public testing::Test { TEST_F(VariableSpaceTest, SettersGettersTest1) { auto space1 = new VariableSpace(); - auto arrayA = NDArrayFactory::create('c', {5, 5}); - auto arrayB = NDArrayFactory::create('c', {3, 3}); + auto arrayA = NDArrayFactory::create( {5, 5}); + auto arrayB = NDArrayFactory::create( {3, 3}); - space1->putVariable(1, arrayA); - space1->putVariable(2, arrayB); + space1->putVariable(1, new NDArray(arrayA)); + space1->putVariable(2, new NDArray(arrayB)); auto arrayRA = space1->getVariable(1); auto arrayRB = space1->getVariable(2); - ASSERT_TRUE(arrayA == arrayRA->getNDArray()); - ASSERT_TRUE(arrayB == arrayRB->getNDArray()); + ASSERT_TRUE(arrayA.equalsTo(arrayRA->getNDArray())); + ASSERT_TRUE(arrayB.equalsTo(arrayRB->getNDArray())); // we should survive this call delete space1; @@ -63,11 +63,11 @@ TEST_F(VariableSpaceTest, SettersGettersTest1) { TEST_F(VariableSpaceTest, SettersGettersTest2) { auto space1 = new VariableSpace(); - auto arrayA = NDArrayFactory::create('c', {5, 5}); - auto arrayB = NDArrayFactory::create('c', {3, 3}); + auto arrayA = NDArrayFactory::create( {5, 5}); + auto arrayB = NDArrayFactory::create( {3, 3}); - auto varA = new Variable(arrayA); - auto varB = new Variable(arrayB); + auto varA = new Variable(new NDArray(arrayA)); + auto varB = new Variable(new NDArray(arrayB)); varA->markExternal(true); @@ -88,8 +88,8 @@ TEST_F(VariableSpaceTest, EqualityTest1) { std::string name("myvar"); - auto arrayA = NDArrayFactory::create('c', {3, 3}); - auto variableA = new Variable(arrayA, name.c_str()); + auto arrayA = NDArrayFactory::create( {3, 3}); + auto variableA = new Variable(new NDArray(arrayA), name.c_str()); space.putVariable(1, variableA); @@ -110,9 +110,9 @@ TEST_F(VariableSpaceTest, EqualityTest1) { TEST_F(VariableSpaceTest, EqualityTest2) { VariableSpace space; - auto arrayA = NDArrayFactory::create('c', {3, 3}); + auto arrayA = NDArrayFactory::create( {3, 3}); - space.putVariable(1, arrayA); + space.putVariable(1, new NDArray(arrayA)); std::pair pair(1,0); @@ -128,10 +128,10 @@ TEST_F(VariableSpaceTest, EqualityTest2) { TEST_F(VariableSpaceTest, CloneTests_1) { VariableSpace spaceA; - auto arrayA = NDArrayFactory::create('c', {3, 3}); - arrayA->assign(1.0); + auto arrayA = NDArrayFactory::create( {3, 3}); + arrayA.assign(1.0); - spaceA.putVariable(1, arrayA); + spaceA.putVariable(1, new NDArray(arrayA)); auto spaceB = spaceA.clone(); @@ -142,11 +142,11 @@ TEST_F(VariableSpaceTest, CloneTests_1) { auto arrayB = spaceB->getVariable(1)->getNDArray(); - ASSERT_TRUE(arrayA->equalsTo(arrayB)); + ASSERT_TRUE(arrayA.equalsTo(arrayB)); - arrayB->assign(2.0); + arrayB->assign(2.0f); - ASSERT_FALSE(arrayA->equalsTo(arrayB)); + ASSERT_FALSE(arrayA.equalsTo(arrayB)); delete spaceB; } @@ -154,10 +154,10 @@ TEST_F(VariableSpaceTest, CloneTests_1) { TEST_F(VariableSpaceTest, CloneTests_2) { VariableSpace spaceA; - auto arrayA = NDArrayFactory::create('c', {3, 3}); - arrayA->assign(1.0); + auto arrayA = NDArrayFactory::create( {3, 3}); + arrayA.assign(1.0); - auto variableA = new Variable(arrayA, "alpha"); + auto variableA = new Variable(new NDArray(arrayA), "alpha"); std::string str("alpha"); std::pair pair(2, 3); @@ -176,11 +176,11 @@ TEST_F(VariableSpaceTest, CloneTests_2) { auto arrayB = spaceB->getVariable(pair)->getNDArray(); - ASSERT_TRUE(arrayA->equalsTo(arrayB)); + ASSERT_TRUE(arrayA.equalsTo(arrayB)); arrayB->assign(2.0); - ASSERT_FALSE(arrayA->equalsTo(arrayB)); + ASSERT_FALSE(arrayA.equalsTo(arrayB)); delete spaceB; diff --git a/libnd4j/tests_cpu/layers_tests/VariableTests.cpp b/libnd4j/tests_cpu/layers_tests/VariableTests.cpp index 5e6eccfb4a6d..44542033d4b9 100644 --- a/libnd4j/tests_cpu/layers_tests/VariableTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/VariableTests.cpp @@ -35,10 +35,10 @@ class VariableTests : public testing::Test { }; TEST_F(VariableTests, TestClone_1) { - auto array1 = NDArrayFactory::create('c', {5, 5}); + auto array1 = NDArrayFactory::create( {5, 5}); array1.assign(1.0f); - auto var1 = new Variable(array1, "alpha"); + auto var1 = new Variable(new NDArray(array1), "alpha"); var1->setId(119); @@ -47,7 +47,7 @@ TEST_F(VariableTests, TestClone_1) { ASSERT_FALSE(var1->getNDArray() == var2->getNDArray()); auto array2 = var2->getNDArray(); - ASSERT_TRUE(array1->equalsTo(array2)); + ASSERT_TRUE(array1.equalsTo(array2)); ASSERT_EQ(var1->id(), var2->id()); ASSERT_EQ(*var1->getName(), *var2->getName()); @@ -64,7 +64,7 @@ TEST_F(VariableTests, TestClone_1) { TEST_F(VariableTests, Test_FlatVariableDataType_1) { flatbuffers::FlatBufferBuilder builder(1024); - auto original = NDArrayFactory::create('c', {5, 10}); + auto original = NDArrayFactory::create( {5, 10}); original.linspace(1); auto vec = original.asByteVector(); @@ -98,7 +98,7 @@ TEST_F(VariableTests, Test_FlatVariableDataType_1) { TEST_F(VariableTests, Test_FlatVariableDataType_2) { flatbuffers::FlatBufferBuilder builder(1024); - auto original = NDArrayFactory::create('c', {5, 10}); + auto original = NDArrayFactory::create( {5, 10}); original.linspace(1); auto vec = original.asByteVector(); @@ -133,8 +133,8 @@ TEST_F(VariableTests, Test_FlatVariableDataType_2) { TEST_F(VariableTests, Test_FlatVariableDataType_3) { flatbuffers::FlatBufferBuilder builder(1024); - auto original = NDArrayFactory::create('c', {5, 10}); - auto floating = NDArrayFactory::create('c', {5, 10}); + auto original = NDArrayFactory::create( {5, 10}); + auto floating = NDArrayFactory::create( {5, 10}); original.linspace(1); floating.linspace(1); @@ -171,7 +171,7 @@ TEST_F(VariableTests, Test_FlatVariableDataType_3) { /* TEST_F(VariableTests, Test_FlatVariableDataType_4) { flatbuffers::FlatBufferBuilder builder(1024); - auto original = NDArrayFactory::create('c', {5, 10}); + auto original = NDArrayFactory::create( {5, 10}); std::vector exp({5, 10}); auto vec = original.asByteVector(); @@ -203,8 +203,8 @@ TEST_F(VariableTests, Test_FlatVariableDataType_4) { } */ TEST_F(VariableTests, Test_Dtype_Conversion_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 4, 5, 6}); - Variable v(x, "alpha", 12, 3); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 4, 5, 6}); + Variable v(new NDArray(x), "alpha", 12, 3); auto vd = v.template asT(); auto vf = vd->template asT(); @@ -215,8 +215,8 @@ TEST_F(VariableTests, Test_Dtype_Conversion_1) { auto xf = vf->getNDArray(); - ASSERT_TRUE(x->isSameShape(xf)); - ASSERT_TRUE(x->equalsTo(xf)); + ASSERT_TRUE(x.isSameShape(xf)); + ASSERT_TRUE(x.equalsTo(xf)); delete vd; delete vf; diff --git a/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp b/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp index fcc371fa3758..e71a97fa867f 100644 --- a/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp @@ -48,7 +48,7 @@ TEST_F(WorkspaceTests, BasicInitialization2) { ASSERT_EQ(0, workspace.getCurrentOffset()); LaunchContext ctx; ctx.setWorkspace(&workspace); - auto array = NDArrayFactory::create('c', {5, 5}, &ctx); + auto array = NDArrayFactory::create( {5, 5}, {}, sd::kArrayOrderC, &ctx); array.p(0, 1.0f); array.p(5, 1.0f); @@ -69,7 +69,7 @@ TEST_F(WorkspaceTests, BasicInitialization3) { LaunchContext ctx; ctx.setWorkspace(&workspace); - auto array = NDArrayFactory::create('c', {5, 5}, &ctx); + auto array = NDArrayFactory::create( {5, 5}, {}, sd::kArrayOrderC, &ctx); array.p(0, 1.0f); array.p(5, 1.0f); @@ -88,7 +88,7 @@ TEST_F(WorkspaceTests, ResetTest1) { LaunchContext ctx; ctx.setWorkspace(&workspace); - auto array = NDArrayFactory::create('c', {5, 5}, &ctx); + auto array = NDArrayFactory::create( {5, 5}, {}, sd::kArrayOrderC, &ctx); array.p(0, 1.0f); array.p(5, 1.0f); @@ -96,7 +96,7 @@ TEST_F(WorkspaceTests, ResetTest1) { for (int e = 0; e < 5; e++) { workspace.scopeIn(); - auto array2 = NDArrayFactory::create('c', {5, 5}, &ctx); + auto array2 = NDArrayFactory::create( {5, 5}, {}, sd::kArrayOrderC, &ctx); array2.p(0, 1.0f); array2.p(5, 1.0f); @@ -161,7 +161,7 @@ TEST_F(WorkspaceTests, NewInWorkspaceTest1) { ASSERT_TRUE(MemoryRegistrator::getInstance()->hasWorkspaceAttached()); - auto ast = NDArrayFactory::create('c', {5, 5}); + auto ast = NDArrayFactory::create( {5, 5}); ASSERT_TRUE(ws.getCurrentOffset() > 0); @@ -182,7 +182,7 @@ TEST_F(WorkspaceTests, NewInWorkspaceTest2) { MemoryRegistrator::getInstance()->attachWorkspace(&ws); - auto ast = NDArrayFactory::create('c', {5, 5}, &ctx); + auto ast = NDArrayFactory::create( {5, 5}, {}, sd::kArrayOrderC, &ctx); ASSERT_TRUE(ws.getCurrentOffset() > 0); @@ -213,15 +213,15 @@ TEST_F(WorkspaceTests, Test_Arrays_1) { LaunchContext ctx; ctx.setWorkspace(&ws); - auto x = NDArrayFactory::create('c', {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}, &ctx); + auto x = NDArrayFactory::create( {3, 3}, {1, 2, 3, 4, 5, 6, 7, 8, 9}, sd::kArrayOrderC, &ctx); // x.printIndexedBuffer("x0"); - auto y = NDArrayFactory::create('c', {3, 3}, {-1, -2, -3, -4, -5, -6, -7, -8, -9}, &ctx); + auto y = NDArrayFactory::create( {3, 3}, {-1, -2, -3, -4, -5, -6, -7, -8, -9}, sd::kArrayOrderC, &ctx); // x.printIndexedBuffer("x2"); - auto z = NDArrayFactory::create('c', {3, 3}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, &ctx); + auto z = NDArrayFactory::create( {3, 3}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, sd::kArrayOrderC, &ctx); MmulHelper::mmul(&x, &y, &z); @@ -261,7 +261,7 @@ TEST_F(WorkspaceTests, Test_Externalized_1) { LaunchContext ctx; ctx.setWorkspace(&ws); - auto x = NDArrayFactory::create('c', {10, 10}, &ctx); + auto x = NDArrayFactory::create( {10, 10}, {}, sd::kArrayOrderC, &ctx); // only buffer size goes into account ASSERT_EQ(400, ws.getUsedSize()); From e13ad7b94b50ef9a0e5e1def48e0f8cc02aba52a Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 17:12:27 +0300 Subject: [PATCH 73/99] Refactored usage of create methods with array factory for cuda platform. Signed-off-by: shugeo --- .../declarable/helpers/cuda/BarnesHutTsne.cu | 2 +- .../helpers/cuda/compression/threshold.cu | 6 ++-- .../ops/declarable/helpers/cuda/hashcode.cu | 4 +-- .../ops/declarable/helpers/cuda/histogram.cu | 2 +- .../helpers/cuda/image_resize_v2.cu | 6 ++-- .../helpers/cuda/image_suppression.cu | 8 ++--- .../ops/declarable/helpers/cuda/lup.cu | 18 +++++------ .../include/ops/declarable/helpers/cuda/qr.cu | 2 +- .../ops/declarable/helpers/cuda/random.cu | 2 +- .../declarable/helpers/cuda/segment_max.cu | 16 +++++----- .../declarable/helpers/cuda/segment_mean.cu | 32 +++++++++---------- .../declarable/helpers/cuda/segment_min.cu | 18 ++++++----- .../declarable/helpers/cuda/segment_prod.cu | 12 +++---- .../declarable/helpers/cuda/segment_sqrtn.cu | 8 ++--- .../declarable/helpers/cuda/segment_sum.cu | 16 +++++----- .../ops/declarable/helpers/cuda/solve.cu | 2 +- 16 files changed, 78 insertions(+), 76 deletions(-) diff --git a/libnd4j/include/ops/declarable/helpers/cuda/BarnesHutTsne.cu b/libnd4j/include/ops/declarable/helpers/cuda/BarnesHutTsne.cu index 70ff75b96336..65fc2b747378 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/BarnesHutTsne.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/BarnesHutTsne.cu @@ -160,7 +160,7 @@ namespace helpers { T const* pVals = reinterpret_cast(valP->specialBuffer()); T* pOutput = reinterpret_cast(outputVals->specialBuffer()); //std::vector rowCountsV = rowCounts->getBufferAsVector(); - auto offsetArr = NDArrayFactory::create('c', {N}); + auto offsetArr = NDArrayFactory::vector(N); int* offset = reinterpret_cast(offsetArr.specialBuffer()); // symmetrize itself symmetrizeKernel<<<1, 1, 1024, *stream>>>(pRows, pCols, pVals, symRowP, symColP, offset, pOutput, N); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/compression/threshold.cu b/libnd4j/include/ops/declarable/helpers/cuda/compression/threshold.cu index bbe6d688102d..3df88fecb3a5 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/compression/threshold.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/compression/threshold.cu @@ -133,7 +133,7 @@ namespace sd { const int numThreads = 512; const int numBlocks = updates.lengthOf() / numThreads + (updates.lengthOf() % numThreads ? 1 : 0); - auto tmp = NDArrayFactory::create('c', {numBlocks + 1}); + auto tmp = NDArrayFactory::vector(numBlocks + 1); dim3 launchDims(numBlocks, numThreads, 1024); auto xType = updates.dataType(); @@ -179,7 +179,7 @@ namespace sd { do { int numPrefixBlocks = sd::math::nd4j_max(1, sd::math::nd4j_ceil((float) numElts / (2.0f * prefixThreads))); if (numPrefixBlocks > 1) { - tempArrays[level] = std::move(NDArrayFactory::create('c', {numPrefixBlocks})); + tempArrays[level] = std::move(NDArrayFactory::vector(numPrefixBlocks)); pointers[level] = tempArrays[level].specialBuffer();; level++; } @@ -187,7 +187,7 @@ namespace sd { } while (numElts > 1); PointersManager pm(LaunchContext::defaultContext(), "thresholdEncode"); - auto offsets = NDArrayFactory::create('c', {numBlocks}); + auto offsets = NDArrayFactory::vector(numBlocks); // we want to check, if we're hiting external limit on number of encoded elements auto numMatches = blocks.e(0); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/hashcode.cu b/libnd4j/include/ops/declarable/helpers/cuda/hashcode.cu index 1c4ca9152345..d52a165e53f9 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/hashcode.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/hashcode.cu @@ -77,8 +77,8 @@ namespace sd { NDArray::prepareSpecialUse({&result}, {&array}); auto length = array.lengthOf(); int numBlocks = length / blockSize + ((length % blockSize == 0) ? 0 : 1); - auto tempA = NDArrayFactory::create('c', {numBlocks}, context); - auto tempB = NDArrayFactory::create('c', { numBlocks / blockSize + 1}, context); + auto tempA = NDArrayFactory::vector( numBlocks, T(0.f), context); + auto tempB = NDArrayFactory::vector( numBlocks / blockSize + 1, T(0.f), context); auto buffer = reinterpret_cast(array.specialBuffer()); //bufferAsT(); auto tempBufferA = reinterpret_cast(tempA.specialBuffer()); //bufferAsT(); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/histogram.cu b/libnd4j/include/ops/declarable/helpers/cuda/histogram.cu index 6d7310fc0c20..76952e85586d 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/histogram.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/histogram.cu @@ -112,7 +112,7 @@ namespace sd { int numThreads = 256; int numBlocks = sd::math::nd4j_max(256, sd::math::nd4j_min(1, shape::length(xShapeInfo) / numThreads)); int workspaceSize = numBlocks * numBins; - auto tmp = NDArrayFactory::create('c', {workspaceSize}, context); + auto tmp = NDArrayFactory::vector(workspaceSize, Z(0.f), context); histogramKernel<<getCudaStream()>>>(xBuffer, dxShapeInfo, zBuffer, zShapeInfo, tmp.specialBuffer(), context->getReductionPointer(), numBins, reinterpret_cast(min_val), reinterpret_cast(max_val)); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/image_resize_v2.cu b/libnd4j/include/ops/declarable/helpers/cuda/image_resize_v2.cu index b727822c9dcd..92962b12c354 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/image_resize_v2.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/image_resize_v2.cu @@ -191,8 +191,8 @@ static int computeSpans(LaunchContext* context, TKernelFunc& kernel, Nd4jLong co // want to interpolate. float const kernelScale = antialias ? math::nd4j_max(invScale, 1.f) : 1.f; spans._spanSize = math::nd4j_min(2 * static_cast(std::ceil(kernel.radius() * kernelScale)) + 1, static_cast(inSize)); - spans._starts = NDArrayFactory::create('c', {outSize}); spans._starts.syncToHost(); - spans._weights = NDArrayFactory::create('c', {outSize, spans._spanSize}); spans._weights.syncToHost(); + spans._starts = NDArrayFactory::vector(outSize, 0, context); spans._starts.syncToHost(); + spans._weights = NDArrayFactory::create({outSize, spans._spanSize}); spans._weights.syncToHost(); auto startsVec = reinterpret_cast(spans._starts.buffer()); auto weightsVector = reinterpret_cast(spans._weights.buffer()); @@ -422,7 +422,7 @@ static int resizeKernel(LaunchContext* context, ImageResizeMethods method, NDArr } break; }; - NDArray intermediate = NDArrayFactory::create('c', {batchSize, outHeight, inputWidth, channels}); + NDArray intermediate = NDArrayFactory::create({batchSize, outHeight, inputWidth, channels}); //const functor::Spans& const_row_spans = row_spans; //typename TTypes::ConstTensor row_starts( diff --git a/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu b/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu index 5e7733bc75f0..3c3854e2d6d8 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu @@ -188,7 +188,7 @@ namespace helpers { static void nonMaxSuppressionV2_(sd::LaunchContext* context, NDArray* boxes, NDArray* scales, int maxSize, double threshold, double scoreThreshold, NDArray* output) { auto stream = context->getCudaStream(); NDArray::prepareSpecialUse({output}, {boxes, scales}); - auto indices = NDArrayFactory::create('c', {scales->lengthOf()}, context); // - 1, scales->lengthOf()); //, scales->getContext()); + auto indices = NDArrayFactory::vector(scales->lengthOf(), I(0), context); // - 1, scales->lengthOf()); //, scales->getContext()); NDArray scores(*scales); Nd4jPointer extras[2] = {nullptr, stream}; @@ -198,7 +198,7 @@ namespace helpers { indices.tickWriteDevice(); sortByValue(extras, indices.buffer(), indices.shapeInfo(), indices.specialBuffer(), indices.specialShapeInfo(), scores.buffer(), scores.shapeInfo(), scores.specialBuffer(), scores.specialShapeInfo(), true); indices.tickWriteDevice(); - NDArray selectedIndices = NDArrayFactory::create('c', {output->lengthOf()}, context); + NDArray selectedIndices = NDArrayFactory::vector({output->lengthOf()}, 0, context); int numSelected = 0; int numBoxes = boxes->sizeAt(0); auto boxesBuf = reinterpret_cast(boxes->specialBuffer()); @@ -347,8 +347,8 @@ namespace helpers { scores->syncToDevice(); } - NDArray indices = NDArrayFactory::create('c', {scores->lengthOf()}, context); // - 1, scales->lengthOf()); //, scales->getContext()); - NDArray startPositions = NDArrayFactory::create('c', {scores->lengthOf()}, context); + NDArray indices = NDArrayFactory::vector(scores->lengthOf(), I(0), context); // - 1, scales->lengthOf()); //, scales->getContext()); + NDArray startPositions = NDArrayFactory::vector(scores->lengthOf(), I(0), context); NDArray selectedScores(*scores); Nd4jPointer extras[2] = {nullptr, stream}; auto indexBuf = indices.dataBuffer()->specialAsT();///reinterpret_cast(indices->specialBuffer()); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/lup.cu b/libnd4j/include/ops/declarable/helpers/cuda/lup.cu index 3c8151a1ac84..d8b13877e941 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/lup.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/lup.cu @@ -629,7 +629,7 @@ namespace helpers { // DataType dtype = input->dataType(); // if (dtype != DataType::DOUBLE) // dtype = DataType::FLOAT32; - auto matrix = NDArrayFactory::create(input->ordering(), {n, n}, DataTypeUtils::fromT(), context); //, block.getWorkspace()); + auto matrix = NDArrayFactory::create(DataTypeUtils::fromT(), {n, n}, (sd::Order)input->ordering(), context); //, block.getWorkspace()); auto det = NDArrayFactory::create(1, context); auto stream = context->getCudaStream(); NDArray::prepareSpecialUse({output}, {input}); @@ -674,7 +674,7 @@ namespace helpers { if (dtype != DataType::DOUBLE) dtype = DataType::FLOAT32; - auto matrix = NDArrayFactory::create(input->ordering(), {n, n}, dtype, context); //, block.getWorkspace()); + auto matrix = NDArrayFactory::create(dtype, {n, n}, (sd::Order)input->ordering(), context); //, block.getWorkspace()); auto det = NDArrayFactory::create(1, context); auto stream = context->getCudaStream(); NDArray::prepareSpecialUse({output}, {input}); @@ -754,11 +754,11 @@ namespace helpers { auto dtype = DataTypeUtils::fromT(); //input->dataType(); // if (dtype != DataType::DOUBLE) // dtype = DataType::FLOAT32; - NDArray matrix = NDArrayFactory::create('c', {n, n}, dtype, context); - NDArray upper = NDArrayFactory::create('c', {n, n}, dtype, context); - NDArray lower = NDArrayFactory::create('c', {n, n}, dtype, context); - NDArray compound = NDArrayFactory::create('c', {n, n}, dtype, context); - NDArray permutation = NDArrayFactory::create('c', {n, n}, dtype, context); + NDArray matrix = NDArrayFactory::create(dtype, {n, n}, sd::kArrayOrderC, context); + NDArray upper = NDArrayFactory::create(dtype, {n, n}, sd::kArrayOrderC, context); + NDArray lower = NDArrayFactory::create(dtype, {n, n}, sd::kArrayOrderC, context); + NDArray compound = NDArrayFactory::create(dtype, {n, n}, sd::kArrayOrderC, context); + NDArray permutation = NDArrayFactory::create(dtype, {n, n}, sd::kArrayOrderC, context); auto packX = sd::ConstantTadHelper::getInstance()->tadForDimensions(input->shapeInfo(), {input->rankOf() - 2, input->rankOf() - 1}); @@ -922,8 +922,8 @@ namespace helpers { else if (input->dataType() == DataType::FLOAT32) cholesky__(context, input, output, inplace); else { - auto tempOutput = NDArrayFactory::create_('c', input->getShapeAsVector(), DataType::FLOAT32, context); - tempOutput->assign(input); + auto tempOutput = NDArrayFactory::create(DataType::FLOAT32, input->getShapeAsVector(), sd::kArrayOrderC, context); + tempOutput.assign(input); cholesky__(context, &tempOutput, &tempOutput, true); output->assign(tempOutput); } diff --git a/libnd4j/include/ops/declarable/helpers/cuda/qr.cu b/libnd4j/include/ops/declarable/helpers/cuda/qr.cu index 828867b4e2d0..c5ded61506de 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/qr.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/qr.cu @@ -106,7 +106,7 @@ namespace helpers { void qrSingle(LaunchContext* context, NDArray* matrix, NDArray* Q, NDArray* R, bool const fullMatricies) { Nd4jLong M = matrix->sizeAt(0); Nd4jLong N = matrix->sizeAt(1); - auto resQ = fullMatricies?Q->ulike():NDArrayFactory::create(matrix->ordering(), {M,M}, Q->getContext()); + auto resQ = fullMatricies?Q->ulike():NDArrayFactory::create({M,M}, {}, (sd::Order)matrix->ordering(), Q->getContext()); auto resR = fullMatricies?R->ulike():matrix->ulike(); std::vector q(M); NDArray z = *matrix; diff --git a/libnd4j/include/ops/declarable/helpers/cuda/random.cu b/libnd4j/include/ops/declarable/helpers/cuda/random.cu index fe692a0df5ae..e4f685717cca 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/random.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/random.cu @@ -90,7 +90,7 @@ namespace helpers { } auto stream = context->getCudaStream(); - NDArray uniform = NDArrayFactory::create('c', {shift}, context); + NDArray uniform = NDArrayFactory::vector(shift, T(0.f), context); uniform.syncToDevice(); // fill up uniform with given length RandomLauncher::fillUniform(context, rng, &uniform, 0., 1.); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_max.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_max.cu index 927b1bb2f5d9..6fb20404ba07 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/segment_max.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/segment_max.cu @@ -167,11 +167,11 @@ namespace sd { auto stream = context->getCudaStream(); indices->syncToHost(); Nd4jLong numOfClasses = indices->e(indices->lengthOf() - 1) + 1; - NDArray classesRangesLens = NDArrayFactory::create('c', {numOfClasses}, context); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numOfClasses}, context); + NDArray classesRangesLens = NDArrayFactory::vector(numOfClasses, 0, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numOfClasses, indices->lengthOf(), context); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); + //classesRangesBegs.assign(indices->lengthOf()); + //classesRangesLens.assign(0); dim3 dims(256, 512, 256); int* begins = reinterpret_cast(classesRangesBegs.specialBuffer()); int* lengths = reinterpret_cast(classesRangesLens.specialBuffer()); @@ -209,12 +209,12 @@ namespace sd { // NDArray classes = NDArrayFactory::create('c', {numOfClasses, 2}); output->assign(DataTypeUtils::infOrMax()); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numOfClasses}, context); - NDArray classesRangesLens = NDArrayFactory::create('c', {numOfClasses}, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numOfClasses, indices->lengthOf(), context); + NDArray classesRangesLens = NDArrayFactory::vector(numOfClasses, 0, context); // NDArray row = NDArrayFactory::create('c', {1, 2}, {(int)indices->lengthOf(), (int)0}); // classes.applyTrueBroadcast(sd::BroadcastOpsTuple::Assign(), row, classes); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); dim3 dims(numOfClasses, indices->lengthOf(), numOfClasses * 32 + 32); // int* classesBuf = reinterpret_cast(classes.specialBuffer()); fillUpSegments(indices, numOfClasses, classesRangesBegs, classesRangesLens); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_mean.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_mean.cu index c75293c1da83..7e664bcaaad7 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/segment_mean.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/segment_mean.cu @@ -158,11 +158,11 @@ namespace helpers { static void segmentMeanFunctor_(LaunchContext* context, NDArray* input, NDArray* indices, NDArray* output) { auto stream = context->getCudaStream(); Nd4jLong numClasses = indices->e(indices->lengthOf() - 1) + 1; - NDArray classesRangesLens = NDArrayFactory::create('c', {numClasses}, context); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numClasses}, context); + NDArray classesRangesLens = NDArrayFactory::vector(numClasses, 0, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numClasses, indices->lengthOf(), context); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); NDArray::prepareSpecialUse({output}, {input, indices}); dim3 dims(numClasses, indices->lengthOf(), numClasses * 32 + 32); int* begins = reinterpret_cast(classesRangesBegs.specialBuffer()); @@ -198,12 +198,12 @@ namespace helpers { auto stream = context->getCudaStream(); // NDArray classes = NDArrayFactory::create('c', {numOfClasses, 2}); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numOfClasses}, context); - NDArray classesRangesLens = NDArrayFactory::create('c', {numOfClasses}, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numOfClasses, indices->lengthOf(), context); + NDArray classesRangesLens = NDArrayFactory::vector(numOfClasses, 0, context); // NDArray row = NDArrayFactory::create('c', {1, 2}, {(int)indices->lengthOf(), (int)0}); // classes.applyTrueBroadcast(sd::BroadcastOpsTuple::Assign(), &row, &classes); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); dim3 dims(numOfClasses, indices->lengthOf(), numOfClasses * 32 + 32); // int* classesBuf = reinterpret_cast(classes.specialBuffer()); fillUpSegments(indices, numOfClasses, classesRangesBegs, classesRangesLens); @@ -314,11 +314,11 @@ namespace helpers { auto stream = context->getCudaStream(); NDArray::prepareSpecialUse({output}, {input, indices, gradOut}); auto numClasses = indices->e(indices->lengthOf() - 1) + 1; - NDArray classesRangesLens = NDArrayFactory::create('c', {numClasses}, context); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numClasses}, context); + NDArray classesRangesLens = NDArrayFactory::vector(numClasses, 0, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numClasses, indices->lengthOf(), context); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); dim3 dims(numClasses, indices->lengthOf(), numClasses * 32 + 32); fillUpSegments(indices, numClasses, classesRangesBegs, classesRangesLens); int* begins = reinterpret_cast(classesRangesBegs.specialBuffer()); @@ -367,11 +367,11 @@ namespace helpers { auto stream = context->getCudaStream(); NDArray::prepareSpecialUse({output}, {input, indices, gradOut}); auto numClasses = indices->e(indices->lengthOf() - 1) + 1; - NDArray classesRangesLens = NDArrayFactory::create('c', {numClasses}, context); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numClasses}, context); + NDArray classesRangesLens = NDArrayFactory::vector(numClasses, 0, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numClasses, indeices->lengthOf(), context); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); dim3 dims(numClasses, indices->lengthOf(), numClasses * 32 + 32); fillUpSegments(indices, numClasses, classesRangesBegs, classesRangesLens); int* begins = reinterpret_cast(classesRangesBegs.specialBuffer()); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_min.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_min.cu index c6f2d4ed25bd..737a69c92e3d 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/segment_min.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/segment_min.cu @@ -162,11 +162,12 @@ namespace helpers { static void segmentMinFunctor_(LaunchContext* context, NDArray* input, NDArray* indices, NDArray* output) { auto stream = context->getCudaStream(); Nd4jLong numClasses = indices->e(indices->lengthOf() - 1) + 1; - auto classesRangesLens = NDArrayFactory::create('c', {numClasses}, context); - auto classesRangesBegs = NDArrayFactory::create('c', {numClasses}, context); + int last = indices->lengthOf(); + auto classesRangesLens = NDArrayFactory::vector(numClasses, 0, context); + auto classesRangesBegs = NDArrayFactory::vector(numClasses, last, context); output->assign(DataTypeUtils::infOrMax()); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(last); +// classesRangesLens.assign(0); fillUpSegments(indices, numClasses, classesRangesBegs, classesRangesLens); NDArray::prepareSpecialUse({output}, {input, indices, &classesRangesBegs, &classesRangesLens}); @@ -203,13 +204,14 @@ namespace helpers { static void unsortedSegmentMinFunctor_(sd::LaunchContext* context, NDArray* input, NDArray* indices, Nd4jLong numOfClasses, NDArray* output) { auto stream = context->getCudaStream(); // NDArray classes = NDArrayFactory::create('c', {numOfClasses, 2}); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numOfClasses}, context); - NDArray classesRangesLens = NDArrayFactory::create('c', {numOfClasses}, context); + int last = indices->lengthOf(); + NDArray classesRangesBegs = NDArrayFactory::vector(numOfClasses, last, context); + NDArray classesRangesLens = NDArrayFactory::vector(numOfClasses, 0, context); // NDArray row = NDArrayFactory::create('c', {1, 2}, {(int)indices->lengthOf(), (int)0}); // classes.applyTrueBroadcast(sd::BroadcastOpsTuple::Assign(), &row, &classes); output->assign(DataTypeUtils::infOrMax()); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); dim3 dims(numOfClasses, indices->lengthOf(), numOfClasses * 32 + 32); // int* classesBuf = reinterpret_cast(classes.specialBuffer()); fillUpSegments(indices, numOfClasses, classesRangesBegs, classesRangesLens); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_prod.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_prod.cu index 026ded3e7525..0d0e9a20e508 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/segment_prod.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/segment_prod.cu @@ -122,11 +122,11 @@ namespace helpers { static void segmentProdFunctor_(sd::LaunchContext* context, NDArray* input, NDArray* indices, NDArray* output) { auto stream = context->getCudaStream(); Nd4jLong numClasses = indices->e(indices->lengthOf() - 1) + 1; - NDArray classesRangesLens = NDArrayFactory::create('c', {numClasses}, context); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numClasses}, context); + NDArray classesRangesLens = NDArrayFactory::vector(numClasses, 0, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numClasses, indices->lengthOf(), context); output->assign(1); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); dim3 dims(numClasses, indices->lengthOf(), numClasses * 32 + 32); fillUpSegments(indices, numClasses, classesRangesBegs, classesRangesLens); @@ -160,8 +160,8 @@ namespace helpers { static void unsortedSegmentProdFunctor_(sd::LaunchContext* context, NDArray* input, NDArray* indices, Nd4jLong numOfClasses, NDArray* output) { auto stream = context->getCudaStream(); // NDArray classes = NDArrayFactory::create('c', {numOfClasses, 2}); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numOfClasses}, context); - NDArray classesRangesLens = NDArrayFactory::create('c', {numOfClasses}, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numOfClasses, indices->lengthOf(), context); + NDArray classesRangesLens = NDArrayFactory::vector(numOfClasses, 0, context); // NDArray row = NDArrayFactory::create('c', {1, 2}, {(int)indices->lengthOf(), (int)0}); // classes.applyTrueBroadcast(sd::BroadcastOpsTuple::Assign(), &row, &classes); classesRangesBegs.assign(indices->lengthOf()); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_sqrtn.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_sqrtn.cu index b72abeffc14a..46151199d1d4 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/segment_sqrtn.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/segment_sqrtn.cu @@ -86,8 +86,8 @@ namespace helpers { static void unsortedSegmentSqrtNFunctor_(sd::LaunchContext* context, NDArray* input, NDArray* indices, Nd4jLong numOfClasses, NDArray* output) { auto stream = context->getCudaStream(); // NDArray classes = NDArrayFactory::create('c', {numOfClasses, 2}); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numOfClasses}, context); - NDArray classesRangesLens = NDArrayFactory::create('c', {numOfClasses}, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numOfClasses, indices->lengthOf(), context); + NDArray classesRangesLens = NDArrayFactory::vector(numOfClasses, 0, context); // NDArray row = NDArrayFactory::create('c', {1, 2}, {(int)indices->lengthOf(), (int)0}); // classes.applyTrueBroadcast(sd::BroadcastOpsTuple::Assign(), &row, &classes); classesRangesBegs.assign(indices->lengthOf()); @@ -207,8 +207,8 @@ namespace helpers { auto stream = context->getCudaStream(); NDArray::prepareSpecialUse({output}, {input, indices, gradOut}); auto numClasses = indices->e(indices->lengthOf() - 1) + 1; - NDArray classesRangesLens = NDArrayFactory::create('c', {numClasses}, context); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numClasses}, context); + NDArray classesRangesLens = NDArrayFactory::vector(numClasses, 0, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numClasses, indices->lengthOf(), context); classesRangesBegs.assign(indices->lengthOf()); classesRangesLens.assign(0); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_sum.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_sum.cu index 7a762a52602a..b75be31934ee 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/segment_sum.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/segment_sum.cu @@ -170,11 +170,11 @@ namespace helpers { static void segmentSumFunctor_(sd::LaunchContext* context, NDArray* input, NDArray* indices, NDArray* output) { auto stream = context->getCudaStream(); Nd4jLong numClasses = indices->e(indices->lengthOf() - 1) + 1; - NDArray classesRangesLens = NDArrayFactory::create('c', {numClasses}, context); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numClasses}, context); + NDArray classesRangesLens = NDArrayFactory::vector(numClasses, 0, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numClasses, indices->lengthOf(), context); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); dim3 dims(numClasses, indices->lengthOf(), numClasses * 32 + 32); fillUpSegments(indices, numClasses, classesRangesBegs, classesRangesLens); @@ -209,12 +209,12 @@ namespace helpers { static void unsortedSegmentSumFunctor_(sd::LaunchContext* context, NDArray* input, NDArray* indices, Nd4jLong numOfClasses, NDArray* output) { auto stream = context->getCudaStream(); // NDArray classes = NDArrayFactory::create('c', {numOfClasses, 2}); - NDArray classesRangesBegs = NDArrayFactory::create('c', {numOfClasses}, context); - NDArray classesRangesLens = NDArrayFactory::create('c', {numOfClasses}, context); + NDArray classesRangesBegs = NDArrayFactory::vector(numOfClasses, indices->lengthOf(), context); + NDArray classesRangesLens = NDArrayFactory::vector(numOfClasses, 0, context); // NDArray row = NDArrayFactory::create('c', {1, 2}, {(int)indices->lengthOf(), (int)0}); // classes.applyTrueBroadcast(sd::BroadcastOpsTuple::Assign(), &row, &classes); - classesRangesBegs.assign(indices->lengthOf()); - classesRangesLens.assign(0); +// classesRangesBegs.assign(indices->lengthOf()); +// classesRangesLens.assign(0); dim3 dims(numOfClasses, indices->lengthOf(), (numOfClasses + 1) * 64); // int* classesBuf = reinterpret_cast(classes.specialBuffer()); fillUpSegments(indices, numOfClasses, classesRangesBegs, classesRangesLens); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/solve.cu b/libnd4j/include/ops/declarable/helpers/cuda/solve.cu index cf8308bbe987..d9054872220a 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/solve.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/solve.cu @@ -69,7 +69,7 @@ namespace sd { // stage 1: LU decomposition batched auto leftOutput = leftInput->ulike(); auto permuShape = rightInput->getShapeAsVector(); permuShape.pop_back(); - auto permutations = NDArrayFactory::create('c', permuShape, context); + auto permutations = NDArrayFactory::create(permuShape, {}, sd::kArrayOrderC, context); helpers::lu(context, leftInput, &leftOutput, &permutations); auto leftLower = leftOutput.dup(); auto rightOutput = rightInput->ulike(); From 440324eb3d21edfbd1fb1a227933e4a650d64284 Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 18:01:44 +0300 Subject: [PATCH 74/99] Fixed cuda tests to adopt refactored array factory methods. Signed-off-by: shugeo --- libnd4j/tests_cpu/layers_tests/CuDnnTests.cu | 8 +- .../layers_tests/CudaBasicsTests1.cu | 6 +- .../layers_tests/DeclarableOpsTestsCuda1.cu | 2 +- .../layers_tests/JavaInteropCudaTests.cu | 6 +- libnd4j/tests_cpu/layers_tests/LambdaTests.cu | 40 +-- .../layers_tests/LaunchContextCudaTests.cu | 2 +- .../layers_tests/LegacyOpsCudaTests.cu | 4 +- .../layers_tests/NDArrayConstructorsTests.cu | 46 ++- .../layers_tests/NDArrayCudaBasicsTests.cu | 270 +++++++++--------- .../tests_cpu/layers_tests/SortCudaTests.cu | 40 +-- .../tests_cpu/layers_tests/WorkspaceTests.cu | 4 +- 11 files changed, 211 insertions(+), 217 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/CuDnnTests.cu b/libnd4j/tests_cpu/layers_tests/CuDnnTests.cu index 47892c973f2b..020c212f9622 100644 --- a/libnd4j/tests_cpu/layers_tests/CuDnnTests.cu +++ b/libnd4j/tests_cpu/layers_tests/CuDnnTests.cu @@ -99,11 +99,11 @@ TEST_F(CuDnnTests, mixed_helpers_test_1) { int paddingMode = 0; // 1-SAME, 0-VALID; int dataFormat = 0; // 1-NHWC, 0-NCHW - auto input = NDArrayFactory::create('c', {bS, iC, iH, iW}); - auto weights = NDArrayFactory::create('c', {oC, iC, kH, kW}); - auto bias = NDArrayFactory::create('c', {oC}, {1,2,3}); + auto input = NDArrayFactory::create( {bS, iC, iH, iW}); + auto weights = NDArrayFactory::create( {oC, iC, kH, kW}); + auto bias = NDArrayFactory::create( {oC}, {1,2,3}); - auto expOutput = NDArrayFactory::create('c', {bS, oC, oH, oW}, {61.f, 61.f, 61.f, 61.f, 177.2f, 177.2f, 177.2f, 177.2f, 293.4f, 293.4f, 293.4f, 293.4f, 61.f, 61.f, 61.f, 61.f, 177.2f, 177.2f, 177.2f, 177.2f, 293.4f, 293.4f, 293.4f, 293.4f}); + auto expOutput = NDArrayFactory::create( {bS, oC, oH, oW}, {61.f, 61.f, 61.f, 61.f, 177.2f, 177.2f, 177.2f, 177.2f, 293.4f, 293.4f, 293.4f, 293.4f, 61.f, 61.f, 61.f, 61.f, 177.2f, 177.2f, 177.2f, 177.2f, 293.4f, 293.4f, 293.4f, 293.4f}); auto zCUDA = expOutput.like(); auto zMKL = expOutput.like(); diff --git a/libnd4j/tests_cpu/layers_tests/CudaBasicsTests1.cu b/libnd4j/tests_cpu/layers_tests/CudaBasicsTests1.cu index cbcbe2c150dc..9367d1da8da1 100644 --- a/libnd4j/tests_cpu/layers_tests/CudaBasicsTests1.cu +++ b/libnd4j/tests_cpu/layers_tests/CudaBasicsTests1.cu @@ -73,10 +73,10 @@ static cudaError_t allocateDeviceMem(LaunchContext& lc, std::vector& devi ////////////////////////////////////////////////////////////////////////// TEST_F(CudaBasicsTests1, TestPairwise_1) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto z = NDArrayFactory::create('c', { 5 }, {0,0,0,0,0}); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto z = NDArrayFactory::create( { 5 }, {0,0,0,0,0}); - auto exp = NDArrayFactory::create('c', { 5 }, { 2, 4, 6, 8, 10 }); + auto exp = NDArrayFactory::create( { 5 }, { 2, 4, 6, 8, 10 }); // making raw buffers Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTestsCuda1.cu b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTestsCuda1.cu index 4f69da61b233..fa8fee7a5184 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTestsCuda1.cu +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTestsCuda1.cu @@ -45,7 +45,7 @@ TEST_F(DeclarableOpsTestsCuda1, Test_CHOOSE_SCALAR_LARGE) { 0, 0.51, 0.68, 0.69, 0.86, 0.91, 0.96, 0.97, 0.97, 1.03, 1.13, 1.16, 1.16, 1.17, 1.19, 1.25, 1.25, 1.26, 1.27, 1.28, 1.29, 1.29, 1.29, 1.30, 1.31, 1.32, 1.33, 1.33, 1.35, 1.35, 1.36, 1.37, 1.38, 1.40, 1.41, 1.42, 1.43, 1.44, 1.44, 1.45, 1.45, 1.47, 1.47, 1.51, 1.51, 1.51, 1.52, 1.53, 1.56, 1.57, 1.58, 1.59, 1.61, 1.62, 1.63, 1.63, 1.64, 1.64, 1.66, 1.66, 1.67, 1.67, 1.70, 1.70, 1.70, 1.72, 1.72, 1.72, 1.72, 1.73, 1.74, 1.74, 1.76, 1.76, 1.77, 1.77, 1.80, 1.80, 1.81, 1.82, 1.83, 1.83, 1.84, 1.84, 1.84, 1.85, 1.85, 1.85, 1.86, 1.86, 1.87, 1.88, 1.89, 1.89, 1.89, 1.89, 1.89, 1.91, 1.91, 1.91, 1.92, 1.94, 1.95, 1.97, 1.98, 1.98, 1.98, 1.98, 1.98, 1.99, 2, 2, 2.01, 2.01, 2.02, 2.03, 2.03, 2.03, 2.04, 2.04, 2.05, 2.06, 2.07, 2.08, 2.08, 2.08, 2.08, 2.09, 2.09, 2.10, 2.10, 2.11, 2.11, 2.11, 2.12, 2.12, 2.13, 2.13, 2.14, 2.14, 2.14, 2.14, 2.15, 2.15, 2.16, 2.16, 2.16, 2.16, 2.16, 2.17 }; - auto precursor = NDArrayFactory::create(inputData,'c',{1,149}); + auto precursor = NDArrayFactory::create(inputData, {1,149}); NDArray x(nullptr, precursor.specialBuffer(), precursor.shapeInfo()); sd::ops::choose op; diff --git a/libnd4j/tests_cpu/layers_tests/JavaInteropCudaTests.cu b/libnd4j/tests_cpu/layers_tests/JavaInteropCudaTests.cu index aa2c13eb5eed..86d6924eee61 100644 --- a/libnd4j/tests_cpu/layers_tests/JavaInteropCudaTests.cu +++ b/libnd4j/tests_cpu/layers_tests/JavaInteropCudaTests.cu @@ -35,9 +35,9 @@ public: }; TEST_F(JavaInteropCudaTests, test_DeclarableOp_execution_1) { - auto x = NDArrayFactory::create('c', {3, 5}); - auto y = NDArrayFactory::create('c', {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); - auto e = NDArrayFactory::create('c', {3, 5}); + auto x = NDArrayFactory::create( {3, 5}); + auto y = NDArrayFactory::create( {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto e = NDArrayFactory::create( {3, 5}); x.assign(1.f); e.assign(2.f); diff --git a/libnd4j/tests_cpu/layers_tests/LambdaTests.cu b/libnd4j/tests_cpu/layers_tests/LambdaTests.cu index a114f71798ad..fe6bab11079f 100644 --- a/libnd4j/tests_cpu/layers_tests/LambdaTests.cu +++ b/libnd4j/tests_cpu/layers_tests/LambdaTests.cu @@ -57,8 +57,8 @@ void launcher(cudaStream_t *stream, double *input, double *output, Nd4jLong leng TEST_F(LambdaTests, test_basic_1) { - auto x = NDArrayFactory::create('c', {5}); - auto e = NDArrayFactory::create('c', {5}, {1., 1., 1., 1., 1.}); + auto x = NDArrayFactory::create( {5}); + auto e = NDArrayFactory::create( {5}, {1., 1., 1., 1., 1.}); @@ -120,8 +120,8 @@ void testIndexedPairwise(NDArray &x, NDArray &y) { } TEST_F(LambdaTests, test_basic_2) { - auto x = NDArrayFactory::create('c', {5}); - auto e = NDArrayFactory::create('c', {5}, {1., 1., 1., 1., 1.}); + auto x = NDArrayFactory::create( {5}); + auto e = NDArrayFactory::create( {5}, {1., 1., 1., 1., 1.}); test(x); @@ -129,8 +129,8 @@ TEST_F(LambdaTests, test_basic_2) { } TEST_F(LambdaTests, test_basic_3) { - auto x = NDArrayFactory::create('c', {5}); - auto e = NDArrayFactory::create('c', {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto x = NDArrayFactory::create( {5}); + auto e = NDArrayFactory::create( {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); test(x); @@ -138,8 +138,8 @@ TEST_F(LambdaTests, test_basic_3) { } TEST_F(LambdaTests, test_basic_4) { - auto x = NDArrayFactory::create('c', {5}); - auto e = NDArrayFactory::create('c', {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); + auto x = NDArrayFactory::create( {5}); + auto e = NDArrayFactory::create( {5}, {1.f, 1.f, 1.f, 1.f, 1.f}); test2(x); @@ -147,9 +147,9 @@ TEST_F(LambdaTests, test_basic_4) { } TEST_F(LambdaTests, test_basic_5) { - auto x = NDArrayFactory::create('c', {5}, {1., 1., 1., 1., 1.}); - auto y = NDArrayFactory::create('c', {5}, {2., 2., 2., 2., 2.}); - auto e = NDArrayFactory::create('c', {5}, {4., 4., 4., 4., 4.}); + auto x = NDArrayFactory::create( {5}, {1., 1., 1., 1., 1.}); + auto y = NDArrayFactory::create( {5}, {2., 2., 2., 2., 2.}); + auto e = NDArrayFactory::create( {5}, {4., 4., 4., 4., 4.}); testPairwise(x, y); @@ -157,8 +157,8 @@ TEST_F(LambdaTests, test_basic_5) { } TEST_F(LambdaTests, test_basic_6) { - auto x = NDArrayFactory::create('c', {5}); - auto e = NDArrayFactory::create('c', {5}, {1., 2., 3., 4., 5.}); + auto x = NDArrayFactory::create( {5}); + auto e = NDArrayFactory::create( {5}, {1., 2., 3., 4., 5.}); testIndexed(x); @@ -166,10 +166,10 @@ TEST_F(LambdaTests, test_basic_6) { } TEST_F(LambdaTests, test_basic_7) { - auto w = NDArrayFactory::create('c', {5}, {0., 0., 0., 0., 0.}); - auto x = NDArrayFactory::create('c', {5}, {1., 1., 1., 1., 1.}); - auto y = NDArrayFactory::create('c', {5}, {2., 2., 2., 2., 2.}); - auto e = NDArrayFactory::create('c', {5}, {5., 5., 5., 5., 5.}); + auto w = NDArrayFactory::create( {5}, {0., 0., 0., 0., 0.}); + auto x = NDArrayFactory::create( {5}, {1., 1., 1., 1., 1.}); + auto y = NDArrayFactory::create( {5}, {2., 2., 2., 2., 2.}); + auto e = NDArrayFactory::create( {5}, {5., 5., 5., 5., 5.}); testTriplewise(w, x, y); @@ -177,9 +177,9 @@ TEST_F(LambdaTests, test_basic_7) { } TEST_F(LambdaTests, test_basic_8) { - auto x = NDArrayFactory::create('c', {5}, {1., 1., 1., 1., 1.}); - auto y = NDArrayFactory::create('c', {5}, {2., 2., 2., 2., 2.}); - auto e = NDArrayFactory::create('c', {5}, {4., 5., 6., 7., 8.}); + auto x = NDArrayFactory::create( {5}, {1., 1., 1., 1., 1.}); + auto y = NDArrayFactory::create( {5}, {2., 2., 2., 2., 2.}); + auto e = NDArrayFactory::create( {5}, {4., 5., 6., 7., 8.}); testIndexedPairwise(x, y); diff --git a/libnd4j/tests_cpu/layers_tests/LaunchContextCudaTests.cu b/libnd4j/tests_cpu/layers_tests/LaunchContextCudaTests.cu index 74ce69e1ad4d..cbc5d046c620 100644 --- a/libnd4j/tests_cpu/layers_tests/LaunchContextCudaTests.cu +++ b/libnd4j/tests_cpu/layers_tests/LaunchContextCudaTests.cu @@ -67,7 +67,7 @@ TEST_F(LaunchContextCudaTests, basic_test_1) { } void fillArray(int tid, std::vector &arrays) { - auto array = NDArrayFactory::create('c', {3, 10}); + auto array = NDArrayFactory::create( {3, 10}); nd4j_printf("Array created on device [%i]\n", AffinityManager::currentDeviceId()); array.assign(tid); arrays[tid] = array; diff --git a/libnd4j/tests_cpu/layers_tests/LegacyOpsCudaTests.cu b/libnd4j/tests_cpu/layers_tests/LegacyOpsCudaTests.cu index 53179cd6882d..c9f2fc8268d4 100644 --- a/libnd4j/tests_cpu/layers_tests/LegacyOpsCudaTests.cu +++ b/libnd4j/tests_cpu/layers_tests/LegacyOpsCudaTests.cu @@ -41,11 +41,11 @@ class LegacyOpsCudaTests : public testing::Test { TEST_F(LegacyOpsCudaTests, test_sortTad_1) { - auto x = NDArrayFactory::create('c', {3, 5}, {1.f, 3.f, 0.f, 2.f, 4.f, + auto x = NDArrayFactory::create( {3, 5}, {1.f, 3.f, 0.f, 2.f, 4.f, 6.f, 5.f, 9.f, 7.f, 8.f, 10.f, 11.f, 14.f, 12.f, 13.f}); - auto e = NDArrayFactory::create('c', {3, 5}, {0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f}); + auto e = NDArrayFactory::create( {3, 5}, {0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f}); int axis = 1; auto packX = ConstantTadHelper::getInstance()->tadForDimensions(x.shapeInfo(), axis); diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu b/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu index ac512b8c265a..4dba04c9be70 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu +++ b/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu @@ -40,38 +40,34 @@ public: }; TEST_F(NDArrayConstructorsTests, test_constructor_1) { - auto x = NDArrayFactory::empty_(); + auto x = NDArrayFactory::empty(); - ASSERT_TRUE(x->buffer() == nullptr); - ASSERT_TRUE(x->specialBuffer() == nullptr); - - ASSERT_FALSE(x->shapeInfo() == nullptr); - ASSERT_FALSE(x->specialShapeInfo() == nullptr); + ASSERT_TRUE(x.buffer() == nullptr); + ASSERT_TRUE(x.specialBuffer() == nullptr); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_TRUE(x->isActualOnHostSide()); + ASSERT_FALSE(x.shapeInfo() == nullptr); + ASSERT_FALSE(x.specialShapeInfo() == nullptr); - delete x; + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_TRUE(x.isActualOnHostSide()); } TEST_F(NDArrayConstructorsTests, test_constructor_2) { auto x = NDArrayFactory::vector(5, 1.0f); - ASSERT_FALSE(x->buffer() == nullptr); - ASSERT_FALSE(x->specialBuffer() == nullptr); - - ASSERT_FALSE(x->shapeInfo() == nullptr); - ASSERT_FALSE(x->specialShapeInfo() == nullptr); + ASSERT_FALSE(x.buffer() == nullptr); + ASSERT_FALSE(x.specialBuffer() == nullptr); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_FALSE(x->isActualOnHostSide()); + ASSERT_FALSE(x.shapeInfo() == nullptr); + ASSERT_FALSE(x.specialShapeInfo() == nullptr); - delete x; + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayConstructorsTests, test_constructor_3) { - auto x = NDArrayFactory::create('c',{5, 5}); + auto x = NDArrayFactory::create( {5, 5}); ASSERT_TRUE(x.buffer() == nullptr); ASSERT_FALSE(x.specialBuffer() == nullptr); @@ -165,16 +161,14 @@ TEST_F(NDArrayConstructorsTests, test_constructor_9) { TEST_F(NDArrayConstructorsTests, test_linspace_1) { auto x = NDArrayFactory::linspace(1.0f, 10.0f, 20); - ASSERT_FALSE(x->buffer() == nullptr); - ASSERT_FALSE(x->specialBuffer() == nullptr); - - ASSERT_FALSE(x->shapeInfo() == nullptr); - ASSERT_FALSE(x->specialShapeInfo() == nullptr); + ASSERT_FALSE(x.buffer() == nullptr); + ASSERT_FALSE(x.specialBuffer() == nullptr); - ASSERT_TRUE(x->isActualOnDeviceSide()); - ASSERT_TRUE(x->isActualOnHostSide()); + ASSERT_FALSE(x.shapeInfo() == nullptr); + ASSERT_FALSE(x.specialShapeInfo() == nullptr); - delete x; + ASSERT_TRUE(x.isActualOnDeviceSide()); + ASSERT_TRUE(x.isActualOnHostSide()); } TEST_F(NDArrayConstructorsTests, test_constructor_10) { diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu b/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu index fb6d87829b5e..93e1aee61548 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu +++ b/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu @@ -66,24 +66,24 @@ static cudaError_t allocateDeviceMem(LaunchContext& lc, std::vector& devi } TEST_F(NDArrayCudaBasicsTests, Test_Registration_1) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}, {5, 4, 3, 2, 1}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}, {5, 4, 3, 2, 1}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayCudaBasicsTests, Test_Registration_2) { - auto x = NDArrayFactory::create('c', {5}); - auto y = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create( {5}); + auto y = NDArrayFactory::create( {5}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayCudaBasicsTests, Test_Registration_3) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}, {5, 4, 3, 2, 1}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}, {5, 4, 3, 2, 1}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); @@ -98,24 +98,24 @@ TEST_F(NDArrayCudaBasicsTests, Test_Registration_3) { } TEST_F(NDArrayCudaBasicsTests, Test_Registration_01) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}, {5, 4, 3, 2, 1}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}, {5, 4, 3, 2, 1}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayCudaBasicsTests, Test_Registration_02) { - auto x = NDArrayFactory::create('c', {5}); - auto y = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create( {5}); + auto y = NDArrayFactory::create( {5}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); } TEST_F(NDArrayCudaBasicsTests, Test_Registration_03) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}, {5, 4, 3, 2, 1}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}, {5, 4, 3, 2, 1}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); @@ -132,8 +132,8 @@ TEST_F(NDArrayCudaBasicsTests, Test_Registration_03) { } TEST_F(NDArrayCudaBasicsTests, Test_Cosine_1) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}, {5, 4, 3, 2, 1}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}, {5, 4, 3, 2, 1}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); @@ -151,11 +151,11 @@ TEST_F(NDArrayCudaBasicsTests, Test_Cosine_1) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestAdd_1) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto z = NDArrayFactory::create('c', { 5 }, {10, 10, 10, 10, 10}); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto z = NDArrayFactory::create( { 5 }, {10, 10, 10, 10, 10}); - auto exp = NDArrayFactory::create('c', { 5 }, { 2, 4, 6, 8, 10 }); + auto exp = NDArrayFactory::create( { 5 }, { 2, 4, 6, 8, 10 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -210,11 +210,11 @@ TEST_F(NDArrayCudaBasicsTests, TestAdd_2) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestAdd_3) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto z = NDArrayFactory::create('c', { 5 }, {10, 10, 10, 10, 10}); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto z = NDArrayFactory::create( { 5 }, {10, 10, 10, 10, 10}); - auto exp = NDArrayFactory::create('c', { 5 }, { 2, 4, 6, 8, 10 }); + auto exp = NDArrayFactory::create( { 5 }, { 2, 4, 6, 8, 10 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -258,11 +258,11 @@ TEST_F(NDArrayCudaBasicsTests, TestAdd_3) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestAdd_4) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto z = NDArrayFactory::create('c', { 5 }); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 5 }, { 2, 4, 6, 8, 10 }); + auto exp = NDArrayFactory::create( { 5 }, { 2, 4, 6, 8, 10 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -287,11 +287,11 @@ TEST_F(NDArrayCudaBasicsTests, TestAdd_4) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestAdd_5) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - //auto z = NDArrayFactory::create('c', { 5 }); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + //auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 5 }, { 2, 4, 6, 8, 10 }); + auto exp = NDArrayFactory::create( { 5 }, { 2, 4, 6, 8, 10 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -320,11 +320,11 @@ TEST_F(NDArrayCudaBasicsTests, TestAdd_5) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestAdd_6) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); auto y = NDArrayFactory::create(2); //.'c', { 5 }, { 1, 2, 3, 4, 5}); - //auto z = NDArrayFactory::create('c', { 5 }); + //auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 5 }, { 3, 4, 5, 6, 7 }); + auto exp = NDArrayFactory::create( { 5 }, { 3, 4, 5, 6, 7 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -350,11 +350,11 @@ TEST_F(NDArrayCudaBasicsTests, TestAdd_6) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestAdd_7) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); //auto y = NDArrayFactory::create(2); //.'c', { 5 }, { 1, 2, 3, 4, 5}); - //auto z = NDArrayFactory::create('c', { 5 }); + //auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 5 }, { 3, 4, 5, 6, 7 }); + auto exp = NDArrayFactory::create( { 5 }, { 3, 4, 5, 6, 7 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -380,11 +380,11 @@ TEST_F(NDArrayCudaBasicsTests, TestAdd_7) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestMultiply_1) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto z = NDArrayFactory::create('c', { 5 }); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 5 }, { 1, 4, 9, 16, 25 }); + auto exp = NDArrayFactory::create( { 5 }, { 1, 4, 9, 16, 25 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -412,11 +412,11 @@ TEST_F(NDArrayCudaBasicsTests, TestMultiply_1) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestMultiply_2) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); NDArray z('c', { 5 }, sd::DataType::DOUBLE); - auto exp = NDArrayFactory::create('c', { 5 }, { 1, 4, 9, 16, 25 }); + auto exp = NDArrayFactory::create( { 5 }, { 1, 4, 9, 16, 25 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -443,9 +443,9 @@ TEST_F(NDArrayCudaBasicsTests, TestMultiply_3) { // allocating host-side arrays NDArray x('c', { 5 }, { 1, 2, 3, 4, 5}, sd::DataType::DOUBLE); NDArray y('c', { 5 }, { 1., 2., 3., 4., 5.}, sd::DataType::DOUBLE); - auto z = NDArrayFactory::create('c', { 5 }); + auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 5 }, { 1, 4, 9, 16, 25 }); + auto exp = NDArrayFactory::create( { 5 }, { 1, 4, 9, 16, 25 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -475,9 +475,9 @@ TEST_F(NDArrayCudaBasicsTests, TestMultiply_4) { // allocating host-side arrays NDArray x('c', { 5 }, { 1, 2, 3, 4, 5}, sd::DataType::DOUBLE); NDArray y('c', { 5 }, { 1., 2., 3., 4., 5.}, sd::DataType::DOUBLE); - //auto z = NDArrayFactory::create('c', { 5 }); + //auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 5 }, { 1, 4, 9, 16, 25 }); + auto exp = NDArrayFactory::create( { 5 }, { 1, 4, 9, 16, 25 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -507,9 +507,9 @@ TEST_F(NDArrayCudaBasicsTests, TestMultiply_4) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestPrimitiveNeg_01) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); - auto exp = NDArrayFactory::create('c', { 5 }, { -1, -2, -3, -4, -5 }); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); + auto exp = NDArrayFactory::create( { 5 }, { -1, -2, -3, -4, -5 }); auto stream = x.getContext()->getCudaStream();//reinterpret_cast(&nativeStream); @@ -527,8 +527,8 @@ TEST_F(NDArrayCudaBasicsTests, TestPrimitiveNeg_01) { } TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveNeg_2) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); @@ -547,9 +547,9 @@ TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveNeg_2) { } TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveSqrt_1) { // strict - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}); - auto exp = NDArrayFactory::create({1.000000, 1.414214, 1.732051, 2.000000, 2.236068}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}); + auto exp = NDArrayFactory::vector({1.000000, 1.414214, 1.732051, 2.000000, 2.236068}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); @@ -568,8 +568,8 @@ TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveSqrt_1) { // strict } TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveAssign_1) { // strict - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}); //auto exp = NDArrayFactory::create({1.000000, 1.414214, 1.732051, 2.000000, 2.236068}); //ASSERT_TRUE(x.isActualOnDeviceSide()); //ASSERT_TRUE(x.isActualOnHostSide()); @@ -593,9 +593,9 @@ TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveAssign_1) { // strict } TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveCosine_1) { // strict - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}); - auto exp = NDArrayFactory::create('c', {5}, {0.540302, -0.416147, -0.989992, -0.653644, 0.283662}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}); + auto exp = NDArrayFactory::create( {5}, {0.540302, -0.416147, -0.989992, -0.653644, 0.283662}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); @@ -616,9 +616,9 @@ TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveCosine_1) { // strict } TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveCosine_2) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}); - auto exp = NDArrayFactory::create('c', {5}, {0.540302, -0.416147, -0.989992, -0.653644, 0.283662}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}); + auto exp = NDArrayFactory::create( {5}, {0.540302, -0.416147, -0.989992, -0.653644, 0.283662}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); @@ -645,9 +645,9 @@ TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveCosine_2) { } TEST_F(NDArrayCudaBasicsTests, Test_PrimitiveCosine_3) { - auto x = NDArrayFactory::create('c', {5}, {1, 2, 3, 4, 5}); - auto y = NDArrayFactory::create('c', {5}); - auto exp = NDArrayFactory::create({0.540302, -0.416147, -0.989992, -0.653644, 0.283662}); + auto x = NDArrayFactory::create( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {5}); + auto exp = NDArrayFactory::vector({0.540302, -0.416147, -0.989992, -0.653644, 0.283662}); ASSERT_TRUE(x.isActualOnDeviceSide()); ASSERT_FALSE(x.isActualOnHostSide()); @@ -681,7 +681,7 @@ TEST_F(NDArrayCudaBasicsTests, TestRawBroadcast_2) { //if (!Environment::getInstance()->isExperimentalBuild()) // return; - NDArray x = NDArrayFactory::create('c', {2,3,4}); + NDArray x = NDArrayFactory::create( {2,3,4}); NDArray y('c', {2,4}, {10,20,30,40,50,60,70,80}, sd::DataType::DOUBLE); NDArray z('c', {2,3,4}, {100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}, sd::DataType::DOUBLE); // NDArray exp('c', {2,3,4}, {10., 21., 32., 43., 14., 25., 36., 47., 18., 29., 40., 51., 62., 73., 84., 95., 66., 77., 88., 99., 70., 81., 92., 103}, sd::DataType::DOUBLE); @@ -806,9 +806,9 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply_1) { // allocating host-side arrays NDArray x('c', { 2, 3 }, { 1, 2, 3, 4, 5, 6}, sd::DataType::DOUBLE); NDArray y = NDArrayFactory::create(3.); //'c', { 3 }, { 2., 3., 4.}, sd::DataType::DOUBLE); - //auto z = NDArrayFactory::create('c', { 5 }); + //auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 2, 3 }, { 3, 6, 9, 12, 15, 18 }); + auto exp = NDArrayFactory::create( { 2, 3 }, { 3, 6, 9, 12, 15, 18 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -836,9 +836,9 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply_01) { // allocating host-side arrays NDArray x('c', { 2, 3 }, { 1, 2, 3, 4, 5, 6}, sd::DataType::DOUBLE); NDArray y = NDArrayFactory::create(3.); //'c', { 3 }, { 2., 3., 4.}, sd::DataType::DOUBLE); - auto z = NDArrayFactory::create('c', { 2, 3 }); + auto z = NDArrayFactory::create( { 2, 3 }); - auto exp = NDArrayFactory::create('c', { 2, 3 }, { 3, 6, 9, 12, 15, 18 }); + auto exp = NDArrayFactory::create( { 2, 3 }, { 3, 6, 9, 12, 15, 18 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -867,11 +867,11 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply_01) { TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply_02) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 2, 3 }, { 1, 2, 3, 4, 5, 6}); //, sd::DataType::DOUBLE); - auto y = NDArrayFactory::create('c', {2,3}, {3, 3, 3, 3, 3, 3}); //'c', { 3 }, { 2., 3., 4.}, sd::DataType::DOUBLE); - auto z = NDArrayFactory::create('c', { 2, 3 }); + auto x = NDArrayFactory::create( { 2, 3 }, { 1, 2, 3, 4, 5, 6}); //, sd::DataType::DOUBLE); + auto y = NDArrayFactory::create( {2,3}, {3, 3, 3, 3, 3, 3}); //'c', { 3 }, { 2., 3., 4.}, sd::DataType::DOUBLE); + auto z = NDArrayFactory::create( { 2, 3 }); - auto exp = NDArrayFactory::create('c', { 2, 3 }, { 3, 6, 9, 12, 15, 18 }); + auto exp = NDArrayFactory::create( { 2, 3 }, { 3, 6, 9, 12, 15, 18 }); //if (x.isActualOnHostSide() && !x.isActualOnDeviceSide()) // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -901,11 +901,11 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply_02) { TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply_002) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 2, 3 }, { 1, 2, 3, 4, 5, 6}); //, sd::DataType::DOUBLE); - auto y = NDArrayFactory::create('c', {2, 3}, {2., 3., 3., 3., 3., 3.}); //'c', { 3 }, { 2., 3., 4.}, sd::DataType::DOUBLE); - auto z = NDArrayFactory::create('c', { 2, 3 }); + auto x = NDArrayFactory::create( { 2, 3 }, { 1, 2, 3, 4, 5, 6}); //, sd::DataType::DOUBLE); + auto y = NDArrayFactory::create( {2, 3}, {2., 3., 3., 3., 3., 3.}); //'c', { 3 }, { 2., 3., 4.}, sd::DataType::DOUBLE); + auto z = NDArrayFactory::create( { 2, 3 }); - auto exp = NDArrayFactory::create('c', { 2, 3 }, { 2, 6, 9, 12, 15, 18 }); + auto exp = NDArrayFactory::create( { 2, 3 }, { 2, 6, 9, 12, 15, 18 }); //if (x.isActualOnHostSide() && !x.isActualOnDeviceSide()) // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -1004,9 +1004,9 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply) { // allocating host-side arrays NDArray x('c', { 2, 3 }, { 1, 2, 3, 4, 5, 6}, sd::DataType::DOUBLE); NDArray y('c', { 3 }, { 2., 3., 4.}, sd::DataType::DOUBLE); - //auto z = NDArrayFactory::create('c', { 5 }); + //auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 2, 3 }, { 2, 6, 12, 8, 15, 24 }); + auto exp = NDArrayFactory::create( { 2, 3 }, { 2, 6, 12, 8, 15, 24 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -1036,10 +1036,10 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply_2) { // allocating host-side arrays NDArray x('c', { 2, 3 }, { 1, 2, 3, 4, 5, 6}, sd::DataType::DOUBLE); NDArray y('c', { 3 }, { 2., 3., 4.}, sd::DataType::DOUBLE); - //auto z = NDArrayFactory::create('c', { 5 }); + //auto z = NDArrayFactory::create( { 5 }); - auto exp = NDArrayFactory::create('c', { 2, 3 }, { 11,12, 13,14, 15, 16 }); - auto expZ = NDArrayFactory::create('c', { 2, 3 }, { 2, 6, 12, 8, 15, 24 }); + auto exp = NDArrayFactory::create( { 2, 3 }, { 11,12, 13,14, 15, 16 }); + auto expZ = NDArrayFactory::create( { 2, 3 }, { 2, 6, 12, 8, 15, 24 }); // making raw buffers //Nd4jPointer devBufferPtrX, devBufferPtrZ, devShapePtrX; @@ -1071,7 +1071,7 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcastMultiply_2) { ////////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, TestReduceSum_1) { // allocating host-side arrays - auto x = NDArrayFactory::create('c', { 5 }, { 1, 2, 3, 4, 5}); + auto x = NDArrayFactory::create( { 5 }, { 1, 2, 3, 4, 5}); auto y = NDArrayFactory::create(15); auto exp = NDArrayFactory::create(15); @@ -1424,12 +1424,12 @@ TEST_F(NDArrayCudaBasicsTests, reduceAlongDimension_float_test2) { ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, EqualityTest1) { - auto arrayA = NDArrayFactory::create('f', {3, 5}); - auto arrayB = NDArrayFactory::create('f', {3, 5}); - auto arrayC = NDArrayFactory::create('f', {3, 5}); + auto arrayA = NDArrayFactory::create( {3, 5}, {}, sd::kArrayOrderFortran); + auto arrayB = NDArrayFactory::create( {3, 5}, {}, sd::kArrayOrderFortran); + auto arrayC = NDArrayFactory::create( {3, 5}, {}, sd::kArrayOrderFortran); - auto arrayD = NDArrayFactory::create('f', {2, 4}); - auto arrayE = NDArrayFactory::create('f', {1, 15}); + auto arrayD = NDArrayFactory::create( {2, 4}, {}, sd::kArrayOrderFortran); + auto arrayE = NDArrayFactory::create( {1, 15, {}, sd::kArrayOrderFortran}); for (int i = 0; i < arrayA.rows(); i++) { for (int k = 0; k < arrayA.columns(); k++) { @@ -1670,8 +1670,8 @@ TEST_F(NDArrayCudaBasicsTests, reduceAlongDimension_long_test2) { TEST_F(NDArrayCudaBasicsTests, BroadcastOpsTest1) { - auto x = NDArrayFactory::create('c', {5, 5}); - auto z = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); auto row = NDArrayFactory::linspace(1.0f, 5.0f, 5); NDArray expRow('c', {1, 5,}, {1,2,3,4,5}, sd::DataType::FLOAT32); NDArray exp('c', {5,5}, {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5}, sd::DataType::FLOAT32); @@ -1689,8 +1689,8 @@ TEST_F(NDArrayCudaBasicsTests, BroadcastOpsTest1) { TEST_F(NDArrayCudaBasicsTests, BroadcastOpsTest2) { - auto x = NDArrayFactory::create('c', {5, 5}); - //auto z = NDArrayFactory::create('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + //auto z = NDArrayFactory::create( {5, 5}); auto row = NDArrayFactory::linspace(1.0f, 5.0f, 5); NDArray expRow('c', {1, 5,}, {1,2,3,4,5}, sd::DataType::FLOAT32); NDArray exp('c', {5,5}, {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5}, sd::DataType::FLOAT32); @@ -1706,7 +1706,7 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcast_1) { NDArray exp('c', {2, 3, 2, 2}, {1., 1., 1., 1., 2., 2., 2., 2., 3., 3., 3., 3., 1., 1., 1., 1., 2., 2., 2., 2., 3., 3., 3., 3.}, sd::DataType::DOUBLE); auto input = NDArrayFactory::create('c',{ 2, 3, 2, 2}); - auto bias = NDArrayFactory::create('c', {1, 3}); + auto bias = NDArrayFactory::create( {1, 3}); bias.linspace(1); input.applyBroadcast(broadcast::Add, {1}, bias, input); @@ -1714,49 +1714,49 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcast_1) { } TEST_F(NDArrayCudaBasicsTests, TestFloat16_1) { - auto x = NDArrayFactory::create({1,2,3,4,5,7,8,9}); - auto y = NDArrayFactory::create({1,2,3,4,5,7,8,9}); + auto x = NDArrayFactory::vector({1,2,3,4,5,7,8,9}); + auto y = NDArrayFactory::vector({1,2,3,4,5,7,8,9}); ASSERT_TRUE(x.equalsTo(&y)); } TEST_F(NDArrayCudaBasicsTests, TestFloat16_2) { - auto x = NDArrayFactory::create('c', {9}, {1,2,3,4,5,6,7,8,9}); - auto y = NDArrayFactory::create('c', {9}, {1,2,3,4,5,6,7,8,9}); + auto x = NDArrayFactory::create( {9}, {1,2,3,4,5,6,7,8,9}); + auto y = NDArrayFactory::create( {9}, {1,2,3,4,5,6,7,8,9}); ASSERT_TRUE(x.equalsTo(y)); //for (int e = 0; e < x.lengthOf(); e++) // ASSERT_NEAR(x.e(e), y.e(e), 1.e-5f); } TEST_F(NDArrayCudaBasicsTests, TestFloat16_3) { - auto x = NDArrayFactory::create({1,2,3,4,5,7,8,9}); - auto y = NDArrayFactory::create({1,2,3,4,5,7,8,9}); + auto x = NDArrayFactory::vector({1,2,3,4,5,7,8,9}); + auto y = NDArrayFactory::vector({1,2,3,4,5,7,8,9}); ASSERT_TRUE(x.equalsTo(&y)); } TEST_F(NDArrayCudaBasicsTests, TestFloat_4) { - auto x = NDArrayFactory::create({1,2,3,4,5,7,8,9}); - auto y = NDArrayFactory::create({2,4,5,5,6,7,8,9}); + auto x = NDArrayFactory::vector({1,2,3,4,5,7,8,9}); + auto y = NDArrayFactory::vector({2,4,5,5,6,7,8,9}); ASSERT_FALSE(x.equalsTo(&y)); } TEST_F(NDArrayCudaBasicsTests, TestFloat_5) { - auto x = NDArrayFactory::create('c', {3,3}, {1,2,3,4,5,6,7,8,9}); - auto y = NDArrayFactory::create('c', {3,3}, {2,4,5,5,6,7,8,9, 10}); + auto x = NDArrayFactory::create( {3,3}, {1,2,3,4,5,6,7,8,9}); + auto y = NDArrayFactory::create( {3,3}, {2,4,5,5,6,7,8,9, 10}); ASSERT_FALSE(x.equalsTo(&y)); } TEST_F(NDArrayCudaBasicsTests, TestFloat_6) { - auto x = NDArrayFactory::create('f', {3,3}, {1,2,3,4,5,6,7,8,9}); - auto y = NDArrayFactory::create('f', {3,3}, {2,4,5,5,6,7,8,9,10}); + auto x = NDArrayFactory::create( {3,3}, {1,2,3,4,5,6,7,8,9}, sd::kArrayOrderFortran); + auto y = NDArrayFactory::create( {3,3}, {2,4,5,5,6,7,8,9,10}, sd::kArrayOrderFortran); ASSERT_FALSE(x.equalsTo(&y)); } ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_05) { - auto x = NDArrayFactory::create('c', {8, 8, 8}); - auto y = NDArrayFactory::create('c', {1, 8, 8}); - auto expected = NDArrayFactory::create('c', {8, 8, 8}); + auto x = NDArrayFactory::create( {8, 8, 8}); + auto y = NDArrayFactory::create( {1, 8, 8}); + auto expected = NDArrayFactory::create( {8, 8, 8}); NDArray res2 = NDArrayFactory::create(expected.ordering(), expected.getShapeAsVector()); x = 1.; y = 2.; @@ -1772,9 +1772,9 @@ TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_05) ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_5) { - auto x = NDArrayFactory::create('c', {8, 8, 8}); - auto y = NDArrayFactory::create('c', {8, 1, 8}); - auto expected = NDArrayFactory::create('c', {8, 8, 8}); + auto x = NDArrayFactory::create( {8, 8, 8}); + auto y = NDArrayFactory::create( {8, 1, 8}); + auto expected = NDArrayFactory::create( {8, 8, 8}); NDArray res2(expected); x = 1.; y = 2.; @@ -1801,9 +1801,9 @@ TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_5) ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_51) { - auto x = NDArrayFactory::create('c', {8, 8, 8}); - auto y = NDArrayFactory::create('c', {8, 8}); - auto expected = NDArrayFactory::create('c', {8, 8, 8}); + auto x = NDArrayFactory::create( {8, 8, 8}); + auto y = NDArrayFactory::create( {8, 8}); + auto expected = NDArrayFactory::create( {8, 8, 8}); NDArray res2(expected); x = 1.; y = 2.; @@ -1829,10 +1829,10 @@ TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_51) TEST_F(NDArrayCudaBasicsTests, Tile_Test_2_1) { - auto x = NDArrayFactory::create('c', {2, 1, 2}); + auto x = NDArrayFactory::create( {2, 1, 2}); x = 10.; auto y = x.tile({1,2,1}); - auto exp = NDArrayFactory::create('c', {2, 2, 2}); + auto exp = NDArrayFactory::create( {2, 2, 2}); exp = 10.; // y.printShapeInfo("Output SHAPE"); @@ -1843,22 +1843,22 @@ TEST_F(NDArrayCudaBasicsTests, Tile_Test_2_1) TEST_F(NDArrayCudaBasicsTests, Tile_Test_2_2) { - auto x = NDArrayFactory::create('f', {2, 1, 2}); + auto x = NDArrayFactory::create( {2, 1, 2}, {}, sd::kArrayOrderFortran); x = 10.; auto y = x.tile({1,2,1}); - auto exp = NDArrayFactory::create('f', {2, 2, 2}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {}, sd::kArrayOrderFortran); exp = 10.; ASSERT_TRUE(exp.equalsTo(y)); } TEST_F(NDArrayCudaBasicsTests, Tile_Test_2_3) { - auto x = NDArrayFactory::create('f', {2, 1, 2}); + auto x = NDArrayFactory::create( {2, 1, 2}, {}, sd::kArrayOrderFortran); x = 10.; x.p(1,0,1, 20); x.syncToDevice(); auto y = x.tile({1,2,1}); - auto exp = NDArrayFactory::create('f', {2, 2, 2}); + auto exp = NDArrayFactory::create( {2, 2, 2}, {}, sd::kArrayOrderFortran); exp = 10.; exp.p(1,0,1, 20.); exp.p(1, 1, 1, 20.); @@ -1871,7 +1871,7 @@ TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_2) { double expBuff[] = {2., 3, 3., 4., 4., 5, 5., 6., 6., 7, 7., 8.}; NDArray a('c', {4,4}, {1,2,3,4,5,6,7,8,9,2,3,2,1,0,4,7}, sd::DataType::FLOAT32); - auto x = NDArrayFactory::create('c', {3, 2, 1}); + auto x = NDArrayFactory::create( {3, 2, 1}); auto y = NDArrayFactory::create('c', {1, 2}); auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); @@ -2026,7 +2026,7 @@ TEST_F(NDArrayCudaBasicsTests, subarray_1) // ASSERT_TRUE(y3.e(i) == buffExpY3[i]); NDArray y4 = y(2, {1}, true); - NDArray y4Exp = NDArrayFactory::create('f', {2,1,4}, {5, 6, 11, 12, 17, 18, 23, 24}); + NDArray y4Exp = NDArrayFactory::create( {2,1,4}, {5, 6, 11, 12, 17, 18, 23, 24}, sd::kArrayOrderFortran); ASSERT_TRUE(y4Exp.isSameShape(y4)); ASSERT_TRUE(y4Exp.equalsTo(y4)); // for(int i = 0; i < shape::shapeInfoLength(y4.rankOf()); ++i) @@ -2047,8 +2047,8 @@ TEST_F(NDArrayCudaBasicsTests, subarray_1) ////////////////////////////////////////////////////////////////////// TEST_F(NDArrayCudaBasicsTests, Test_diagonal_1) { - auto x = NDArrayFactory::create('c', {2, 3}, {1, 2, 3, 4, 5, 6}); - auto exp = NDArrayFactory::create('c', {2, 1}, {1, 5}); + auto x = NDArrayFactory::create( {2, 3}, {1, 2, 3, 4, 5, 6}); + auto exp = NDArrayFactory::create( {2, 1}, {1, 5}); auto diag = x.diagonal('c'); //diag.syncToDevice(); @@ -2077,7 +2077,7 @@ TEST_F(NDArrayCudaBasicsTests, Test_diagonal_1) { TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_02) { auto x = NDArrayFactory::linspace(1.f, 60.f, 60); //('c', {1, 60}); //x.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); x.reshapei('c', {3, 4, 5}); x.permutei({0, 1, 2}); @@ -2092,9 +2092,9 @@ TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_02) { } TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_0) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); x.reshapei('c', {3, 4, 5}); x.permutei({0, 1, 2}); @@ -2107,9 +2107,9 @@ TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_0) { ASSERT_TRUE(exp.equalsTo(&x)); } TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_1) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); x.linspace(1); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); x.reshapei('c', {3, 4, 5}); x.permutei({0, 1, 2}); @@ -2122,11 +2122,11 @@ TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_1) { ASSERT_TRUE(exp.equalsTo(&x)); } TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_2) { - //auto x = NDArrayFactory::create('c', {1, 60}); + //auto x = NDArrayFactory::create( {1, 60}); auto xx = NDArrayFactory::linspace(1.f, 60.f, 60); //('c', {1, 60}); // auto x = *xx; //x.linspace(1); -// auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); +// auto exp = NDArrayFactory::create( {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); // x.reshapei('c', {3, 4, 5}); // x.permutei({0, 1, 2}); @@ -2140,11 +2140,11 @@ TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_2) { delete xx; } TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_3) { - auto x = NDArrayFactory::create('c', {1, 60}); + auto x = NDArrayFactory::create( {1, 60}); //x.linspace(1); for (int l = 0; l < x.lengthOf(); l++) x.p(l, float(l + 1.f)); - auto exp = NDArrayFactory::create('c', {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); + auto exp = NDArrayFactory::create( {3, 4, 5}, {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f, 42.0f, 43.0f, 44.0f, 45.0f, 46.0f, 47.0f, 48.0f, 49.0f, 50.0f, 51.0f, 52.0f, 53.0f, 54.0f, 55.0f, 56.0f, 57.0f, 58.0f, 59.0f, 60.0}); x.reshapei('c', {3, 4, 5}); x.permutei({0, 1, 2}); diff --git a/libnd4j/tests_cpu/layers_tests/SortCudaTests.cu b/libnd4j/tests_cpu/layers_tests/SortCudaTests.cu index 5a5e75b1b31e..a0c9544605cf 100644 --- a/libnd4j/tests_cpu/layers_tests/SortCudaTests.cu +++ b/libnd4j/tests_cpu/layers_tests/SortCudaTests.cu @@ -34,11 +34,11 @@ public: TEST_F(SortCudaTests, test_linear_sort_by_key_1) { - auto k = NDArrayFactory::create('c', {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -51,11 +51,11 @@ TEST_F(SortCudaTests, test_linear_sort_by_key_1) { } TEST_F(SortCudaTests, test_linear_sort_by_val_1) { - auto k = NDArrayFactory::create('c', {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -68,11 +68,11 @@ TEST_F(SortCudaTests, test_linear_sort_by_val_1) { } TEST_F(SortCudaTests, test_linear_sort_by_val_2) { - auto k = NDArrayFactory::create('c', {6}, {0, 1, 2, 3, 4, 5}); + auto k = NDArrayFactory::create( {6}, {0, 1, 2, 3, 4, 5}); // auto v = NDArrayFactory::create('c', {6}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - NDArray v = NDArrayFactory::create('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); - auto ek = NDArrayFactory::create('c', {6}, {3, 0, 1, 2, 4, 5}); - auto ev = NDArrayFactory::create('c', {6}, {0.95, 0.9, 0.75, 0.6, 0.5, 0.3}); + NDArray v = NDArrayFactory::create( {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); + auto ek = NDArrayFactory::create( {6}, {3, 0, 1, 2, 4, 5}); + auto ev = NDArrayFactory::create( {6}, {0.95, 0.9, 0.75, 0.6, 0.5, 0.3}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -85,11 +85,11 @@ TEST_F(SortCudaTests, test_linear_sort_by_val_2) { } TEST_F(SortCudaTests, test_tad_sort_by_key_1) { - auto k = NDArrayFactory::create('c', {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -106,11 +106,11 @@ TEST_F(SortCudaTests, test_tad_sort_by_key_1) { } TEST_F(SortCudaTests, test_tad_sort_by_val_1) { - auto k = NDArrayFactory::create('c', {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); - auto v = NDArrayFactory::create('c', {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); + auto k = NDArrayFactory::create( {2, 10}, {1, 3, 5, 9, 0, 2, 4, 6, 7, 8, 1, 3, 5, 9, 0, 2, 4, 6, 7, 8}); + auto v = NDArrayFactory::create( {2, 10}, {1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5, 1.5, 3.5, 5.5, 9.5, 0.5, 2.5, 4.5, 6.5, 7.5, 8.5}); - auto ek = NDArrayFactory::create('c', {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); - auto ev = NDArrayFactory::create('c', {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); + auto ek = NDArrayFactory::create( {2, 10}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); + auto ev = NDArrayFactory::create( {2, 10}, {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; diff --git a/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cu b/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cu index 6fe157ac87ae..a28ad49616a5 100644 --- a/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cu +++ b/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cu @@ -37,7 +37,7 @@ TEST_F(CudaWorkspaceTests, Basic_Tests_1) { ASSERT_EQ(0, workspace.getCurrentOffset()); LaunchContext ctx; ctx.setWorkspace(&workspace); - auto array = NDArrayFactory::create('c', {5, 5}, &ctx); + auto array = NDArrayFactory::create( {5, 5}, {}, sd::kArrayOrderC, &ctx); ASSERT_EQ(108, workspace.getCurrentOffset()); ASSERT_EQ(0, workspace.getCurrentSecondaryOffset()); @@ -53,7 +53,7 @@ TEST_F(CudaWorkspaceTests, Basic_Tests_2) { ASSERT_EQ(0, workspace.getCurrentOffset()); LaunchContext ctx; ctx.setWorkspace(&workspace); - auto array = NDArrayFactory::create('c', {5, 5}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}, &ctx); + auto array = NDArrayFactory::create( {5, 5}, {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}, sd::kArrayOrderC, &ctx); ASSERT_EQ(108, workspace.getCurrentOffset()); ASSERT_EQ(0, workspace.getCurrentSecondaryOffset()); From 1fb5b495ebb072e68f7d67233e0667247778e40f Mon Sep 17 00:00:00 2001 From: shugeo Date: Tue, 23 Jun 2020 19:10:35 +0300 Subject: [PATCH 75/99] Fixed link errors with typo with new array factory create methods. Signed-off-by: shugeo --- libnd4j/include/array/impl/NDArrayFactory.cpp | 15 +++++++++++++++ libnd4j/include/helpers/impl/BenchmarkHelper.cpp | 4 ++-- .../ops/declarable/generic/tsne/symmetrized.cpp | 2 +- .../ops/declarable/helpers/cpu/hashcode.cpp | 4 ++-- .../ops/declarable/helpers/cpu/image_resize.cpp | 4 ++-- .../include/ops/declarable/helpers/cpu/lup.cpp | 2 +- .../include/ops/declarable/helpers/cpu/solve.cpp | 2 +- 7 files changed, 24 insertions(+), 9 deletions(-) diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 8f2c30c6a6db..7e457f09ebe3 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -95,6 +95,7 @@ namespace sd { template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); template ND4J_EXPORT NDArray NDArrayFactory::create(const std::vector &shape, const std::vector& data, sd::Order order, sd::LaunchContext * context); @@ -118,6 +119,20 @@ namespace sd { return result; } + template ND4J_EXPORT NDArray NDArrayFactory::create(const double* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const float* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const float16* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const bfloat16* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const Nd4jLong* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const int* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const int8_t* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const uint8_t* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const uint16_t* values, const std::vector& shape, const Order order, sd::LaunchContext* workspace); + template ND4J_EXPORT NDArray NDArrayFactory::create(const uint32_t* values, const std::vector& shape, const Order order, sd::LaunchContext* workspace); + template ND4J_EXPORT NDArray NDArrayFactory::create(const uint64_t* values, const std::vector& shape, const Order order, sd::LaunchContext* workspace); + template ND4J_EXPORT NDArray NDArrayFactory::create(const int16_t* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + template ND4J_EXPORT NDArray NDArrayFactory::create(const bool* values, const std::vector& shape, const Order order, sd::LaunchContext * context); + //////////////////////////////////////////////////////////////////////// template diff --git a/libnd4j/include/helpers/impl/BenchmarkHelper.cpp b/libnd4j/include/helpers/impl/BenchmarkHelper.cpp index 9e85cc5b73fd..9088cae53120 100644 --- a/libnd4j/include/helpers/impl/BenchmarkHelper.cpp +++ b/libnd4j/include/helpers/impl/BenchmarkHelper.cpp @@ -57,7 +57,7 @@ namespace sd { std::sort(timings.begin(), timings.end()); Nd4jLong median = timings[_rIterations / 2]; - auto n = NDArrayFactory::create(timings, LaunchContext::defaultContext()); + auto n = NDArrayFactory::vector(timings, LaunchContext::defaultContext()); auto stdev = n.varianceNumber(sd::variance::SummaryStatsStandardDeviation, false).e(0); auto min = n.reduceNumber(sd::reduce::Min).e(0); @@ -108,7 +108,7 @@ namespace sd { std::sort(timings.begin(), timings.end()); Nd4jLong median = timings[_rIterations / 2]; - NDArray n = NDArrayFactory::create(timings, nullptr); + NDArray n = NDArrayFactory::vector(timings); double stdev = n.varianceNumber(sd::variance::SummaryStatsStandardDeviation, false).e(0); Nd4jLong min = n.reduceNumber(sd::reduce::Min).e(0); Nd4jLong max = n.reduceNumber(sd::reduce::Max).e(0); diff --git a/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp b/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp index 5a8aa91c1406..17a4d219ee23 100644 --- a/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp +++ b/libnd4j/include/ops/declarable/generic/tsne/symmetrized.cpp @@ -68,7 +68,7 @@ namespace sd { if (block.getIArguments()->size() > 0) N = INT_ARG(0); auto dataType = rowP->dataType(); //ArrayOptions::dataType(inputShape->at(0)); - auto rowCounts = NDArrayFactory::create(DataType::INT32, std::vector{ N }, block.launchContext()); //rowP->dup(); + auto rowCounts = NDArrayFactory::vector(N, 0, block.launchContext()); //rowP->dup(); //srowCounts->assign(0); Nd4jLong len = helpers::barnes_row_count(rowP, colP, N, rowCounts); rowCounts.syncToHost(); diff --git a/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp b/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp index e475e3e1dacc..25511accfd68 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp @@ -29,8 +29,8 @@ namespace sd { Nd4jLong blockSize = 32; auto length = array.lengthOf(); int numBlocks = length / blockSize + ((length % blockSize == 0) ? 0 : 1); - auto tempA = NDArrayFactory::create(DataType::INT64, std::vector{numBlocks}, context); - auto tempB = NDArrayFactory::create(DataType::INT64, std::vector{ numBlocks / blockSize + 1}, context); + auto tempA = NDArrayFactory::vector(numBlocks, 0LL, context); + auto tempB = NDArrayFactory::vector(numBlocks / blockSize + 1, 0LL, context); auto buffer = array.bufferAsT(); auto tempBufferA = tempA.bufferAsT(); diff --git a/libnd4j/include/ops/declarable/helpers/cpu/image_resize.cpp b/libnd4j/include/ops/declarable/helpers/cpu/image_resize.cpp index bbdfccc790af..549a7e32d76a 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/image_resize.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/image_resize.cpp @@ -1115,8 +1115,8 @@ namespace helpers { // want to interpolate. float const kernelScale = antialias ? math::nd4j_max(invScale, 1.f) : 1.f; spans._spanSize = math::nd4j_min(2 * static_cast(std::ceil(kernel->radius() * kernelScale)) + 1, static_cast(inSize)); - spans._starts = NDArrayFactory::create({outSize}); - spans._weights = NDArrayFactory::create({outSize, spans._spanSize}); + spans._starts = NDArrayFactory::vector(outSize); + spans._weights = NDArrayFactory::create( {outSize, spans._spanSize}); auto startsVec = spans._starts.bufferAsT(); auto weightsVector = spans._weights.bufferAsT(); diff --git a/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp b/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp index 5045e3c2dcc4..3f49b62057b2 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/lup.cpp @@ -186,7 +186,7 @@ namespace helpers { if (compound != nullptr) compound->assign(compoundMatrix); if (permutation != nullptr) { - auto permutaionVector = NDArrayFactory::create(DataTypeUtils::fromT(), std::vector{rowNum}, input->getContext()); + auto permutaionVector = NDArrayFactory::vector(rowNum, (I)0, input->getContext()); for (auto i = 0; i < rowNum; i++) { for (auto j = 0; j < columnNum; j++) { if (permutationMatrix.t(i, j) != 0) { diff --git a/libnd4j/include/ops/declarable/helpers/cpu/solve.cpp b/libnd4j/include/ops/declarable/helpers/cpu/solve.cpp index 96bb19928b52..3be5540e675a 100644 --- a/libnd4j/include/ops/declarable/helpers/cpu/solve.cpp +++ b/libnd4j/include/ops/declarable/helpers/cpu/solve.cpp @@ -58,7 +58,7 @@ namespace helpers { // stage 1: LU decomposition batched auto leftOutput = leftInput->ulike(); auto permuShape = rightInput->getShapeAsVector(); permuShape.pop_back(); - auto permutations = NDArrayFactory::create(DataType::INT32, permuShape, context); + auto permutations = NDArrayFactory::create(DataType::INT32, permuShape, (sd::Order) sd::kArrayOrderC, context); helpers::lu(context, leftInput, &leftOutput, &permutations); auto P = leftInput->ulike(); //permutations batched matrix P.nullify(); // to fill up matricies with zeros From 276e092fba15cc72359d7d1f8a1044a343c3297d Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 11:02:33 +0300 Subject: [PATCH 76/99] Corrected tests to proper use new create array factory methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests14.cpp | 2 +- .../layers_tests/DeclarableOpsTests16.cpp | 49 +++++++++---------- 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp index e43158ec18ee..e01c060fe149 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp @@ -78,7 +78,7 @@ TEST_F(DeclarableOpsTests14, Multiply_test) { for(int k=2;k<10;k++){ //nd4j_printf("k=%d\n", k); NDArray x = NDArrayFactory::create({k, 1}); - NDArray y = NDArrayFactory::create({k}); + NDArray y = NDArrayFactory::vector(k); NDArray e = NDArrayFactory::create({k, k}); x.assign(1.0); y.assign(1.0); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp index 129ec031aeec..4f4945738f3c 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp @@ -117,7 +117,7 @@ TEST_F(DeclarableOpsTests16, test_empty_noop_2) { TEST_F(DeclarableOpsTests16, test_svd_1) { auto x = NDArrayFactory::create({ 3, 3 }, { 0.7787856f, 0.80119777f, 0.72437465f, 0.23089433f, 0.72714126f, 0.18039072f,0.50563407f, 0.89252293f, 0.5461209f }); - auto z = NDArrayFactory::create({ 3 }); + auto z = NDArrayFactory::vector( 3 ); sd::ops::svd op; auto status = op.execute({ &x }, { &z }, {}, { 0, 0, 16 }, {}); @@ -126,8 +126,8 @@ TEST_F(DeclarableOpsTests16, test_svd_1) { } TEST_F(DeclarableOpsTests16, test_hamming_distance_1) { - auto x = NDArrayFactory::create({ 37, 37, 37 }); - auto y = NDArrayFactory::create({ 8723, 8723, 8723 }); + auto x = NDArrayFactory::vector({ 37, 37, 37 }); + auto y = NDArrayFactory::vector({ 8723, 8723, 8723 }); auto e = NDArrayFactory::create(18); sd::ops::bits_hamming_distance op; @@ -167,7 +167,7 @@ TEST_F(DeclarableOpsTests16, test_empty_cast_1) { TEST_F(DeclarableOpsTests16, test_range_1) { sd::ops::range op; - auto z = NDArrayFactory::create({ 200 }); + auto z = NDArrayFactory::vector( 200 ); Context ctx(1); ctx.setTArguments({ -1.0, 1.0, 0.01 }); @@ -179,7 +179,7 @@ TEST_F(DeclarableOpsTests16, test_range_1) { TEST_F(DeclarableOpsTests16, test_range_2) { sd::ops::range op; - auto z = NDArrayFactory::create({ 200 }); + auto z = NDArrayFactory::vector( 200 ); double tArgs[] = { -1.0, 1.0, 0.01 }; @@ -201,8 +201,8 @@ TEST_F(DeclarableOpsTests16, test_reverse_1) { auto exp = NDArrayFactory::create({ r, c }); auto reversed = NDArrayFactory::create({ r, c }); - auto rowOriginal = NDArrayFactory::create({ c }); - auto rowReversed = NDArrayFactory::create({ c }); + auto rowOriginal = NDArrayFactory::vector(c); + auto rowReversed = NDArrayFactory::vector(c); for (int e = 0; e < c; e++) { rowOriginal.p(e, (float)e); @@ -253,6 +253,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_1) { 0.911922634f, 0.270003974f, 0.164243385f, 0.0581932105f, 0.313204288f, 0.644775152f, 0.437950462f, 0.775881767f, 0.575452209f, 0.946475744f }); + auto expected = NDArrayFactory::create({ 5, 4, 3 }, { 0.262831867f, 0.430244058f, 0.725874603f, 0.723622441f, 0.418478161f, 0.890151322f, 0.740797927f, 0.906427443f, 0.928968489f, 0.717254877f, @@ -392,14 +393,14 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_4) { } TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_5) { - auto rgbs = NDArrayFactory::create({ 3 }, { + auto rgbs = NDArrayFactory::vector( { 0.545678377f, 0.725874603f, 0.413571358f }); - auto expected = NDArrayFactory::create({ 3 }, { + auto expected = NDArrayFactory::vector( { 0.262831867f, 0.430244058f, 0.725874603f }); - auto actual = NDArrayFactory::create({ 3 }); + auto actual = NDArrayFactory::vector(3); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -436,7 +437,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_hsv_6) { //[RANK][SHAPE][STRIDES][OPTIONS][EWS][ORDER] subArrRgbs.printShapeInfo("subArrRgbs"); #endif - auto actual = NDArrayFactory::create({ 3 }); + auto actual = NDArrayFactory::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &subArrRgbs); @@ -591,14 +592,10 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_4) { TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_5) { - auto hsvs = NDArrayFactory::create({ 3 }, { - 0.705504596f, 0.793608069f, 0.65870738f - }); - auto expected = NDArrayFactory::create({ 3 }, { - 0.257768334f, 0.135951888f, 0.65870738f - }); + auto hsvs = NDArrayFactory::create({ 3 }, {0.705504596f, 0.793608069f, 0.65870738f}); + auto expected = NDArrayFactory::create({ 3 }, {0.257768334f, 0.135951888f, 0.65870738f}); - auto actual = NDArrayFactory::create({ 3 }); + auto actual = NDArrayFactory::vector(3); Context ctx(1); ctx.setInputArray(0, &hsvs); @@ -626,7 +623,7 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_6) { 0.773604929f, 0.074230373f }); - auto actual = NDArrayFactory::create({ 3 }); + auto actual = NDArrayFactory::vector(3); //get subarray NDArray subArrHsvs = hsvs.subarray({ NDIndex::all(), NDIndex::point(0) }); subArrHsvs.reshapei({ 3 }); @@ -826,7 +823,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_5) { { 0.64696468f, -0.01777124f, -0.24070648f, }); - auto actual = NDArrayFactory::create({ 3 }); + auto actual = NDArrayFactory::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -864,7 +861,7 @@ TEST_F(DeclarableOpsTests16, test_rgb_to_yiq_6) { //[RANK][SHAPE][STRIDES][OPTIONS][EWS][ORDER] subArrRgbs.printShapeInfo("subArrRgbs"); #endif - auto actual = NDArrayFactory::create({ 3 }); + auto actual = NDArrayFactory::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &subArrRgbs); @@ -1025,7 +1022,7 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_5) { auto expected = NDArrayFactory::create({ 3 }, { 0.416663059f, 0.939747555f, 0.868814286f }); - auto actual = NDArrayFactory::create({ 3 }); + auto actual = NDArrayFactory::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &yiqs); @@ -1063,7 +1060,7 @@ TEST_F(DeclarableOpsTests16, test_yiq_to_rgb_6) { //[RANK][SHAPE][STRIDES][OPTIONS][EWS][ORDER] subArrYiqs.printShapeInfo("subArrYiqs"); #endif - auto actual = NDArrayFactory::create({ 3 }); + auto actual = NDArrayFactory::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &subArrYiqs); @@ -1295,9 +1292,9 @@ TEST_F(DeclarableOpsTests16, clipbynorm_13) { const int axis = 0; const double clip = 2.; - auto x = NDArrayFactory::create({bS, nOut}, {0.412 ,0.184 ,0.961 ,0.897 ,0.173 ,0.931 ,0.736 ,0.540 ,0.953 ,0.278 ,0.573 ,0.787 ,0.320 ,0.776 ,0.338 ,0.311 ,0.835 ,0.909 ,0.890 ,0.290}); // uniform random in range [0,1] - auto colVect = NDArrayFactory::create({bS, 1}, {0.9, 0.95, 1.00, 1.05, 1.1}); - auto expect = NDArrayFactory::create({bS, nOut}); + auto x = NDArrayFactory::create( {bS, nOut}, {0.412 ,0.184 ,0.961 ,0.897 ,0.173 ,0.931 ,0.736 ,0.540 ,0.953 ,0.278 ,0.573 ,0.787 ,0.320 ,0.776 ,0.338 ,0.311 ,0.835 ,0.909 ,0.890 ,0.290}); // uniform random in range [0,1] + auto colVect = NDArrayFactory::create( {bS, 1}, {0.9, 0.95, 1.00, 1.05, 1.1}); + auto expect = NDArrayFactory::create( {bS, nOut}); auto norm2 = x.reduceAlongDimension(reduce::Norm2, {axis}, true); // norm2 has shape [1, nOut] From 30b4929f50afb07f37a80f17668ad4e7ea05e015 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 11:36:10 +0300 Subject: [PATCH 77/99] Corrected tests with refactored array constructors and variables. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests14.cpp | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp index e01c060fe149..51b1ba4fe3db 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp @@ -128,7 +128,7 @@ TEST_F(DeclarableOpsTests14, Test_EvalReductionShape_2) { TEST_F(DeclarableOpsTests14, Test_Reduce_Min_Small_0) { auto x = NDArrayFactory::create({3, 4}, {-999.f, 0.2236f, 0.7973f, 0.0962f, 0.7231f, 0.3381f, -0.7301f, 0.9115f, -0.5094f, 0.9749f, -2.1340f, 0.6023f}); - auto z = NDArrayFactory::create({4}); + auto z = NDArrayFactory::vector(4); auto e = NDArrayFactory::create({4}, {-999.f, 0.2236f, -2.1340f, 0.0962f}); sd::ops::reduce_min op; @@ -141,7 +141,7 @@ TEST_F(DeclarableOpsTests14, Test_Reduce_Min_Small_0) { TEST_F(DeclarableOpsTests14, Test_Reduce_Min_Small_1) { auto x = NDArrayFactory::create({3, 4}, {-999.f, 0.2236f, 0.7973f, 0.0962f, 0.7231f, 0.3381f, -0.7301f, 0.9115f, -0.5094f, 0.9749f, -2.1340f, 0.6023f}); - auto z = NDArrayFactory::create({3}); + auto z = NDArrayFactory::vector(3); auto e = NDArrayFactory::create({3}, {-999.f, -0.7301f, -2.1340f}); sd::ops::reduce_min op; @@ -216,10 +216,10 @@ TEST_F(DeclarableOpsTests14, test_lstmBlockCell_1) { auto b = NDArrayFactory::create({1, 3}); auto c = NDArrayFactory::create({1, 3}); auto d = NDArrayFactory::create({8, 12}, {-0.15320599,-0.120416045,0.33126968,0.13921785,-0.32313538,-0.43956736,0.4756174,0.4335605,-0.5450856,-0.3943429,-0.28687626,0.068032146,-0.2793799,0.17298919,-0.36553562,-0.097853184,-0.2544747,-0.39872527,-0.14556861,-0.31479517,0.2559092,0.47166896,-0.31330687,0.47313118,0.5134543,-0.4678212,-0.12853557,0.26142156,0.43472284,-0.42842552,-0.1895876,0.538689,0.508651,-0.020272732,0.112327516,0.2704304,-0.046546757,0.32570732,-0.15148133,-0.19145513,0.18631572,-0.024152994,0.41603214,-0.3421499,0.0106860995,-0.2966229,-0.36713937,0.25841123,0.0843398,0.49082482,0.10800403,0.1874243,-0.26379472,-0.22531849,0.24924624,0.23119557,0.49940765,-0.051413506,0.20315129,-0.41888732,0.44097036,0.40453392,0.013338983,0.23434466,0.23942488,0.47894,-0.19898453,0.09253675,-0.032358468,-0.15213022,-0.3441009,-0.15600958,-0.08235118,0.12165731,-0.4481289,-0.4842423,-0.45797008,-0.4606034,0.08163166,-0.2981107,0.50207126,0.44195646,0.13850057,0.072246075,-0.34388685,0.030900061,0.35821778,0.47900867,0.5094063,0.23683065,0.18020362,-0.1369732,0.015235603,0.2786904,0.07954317,0.12543976}); - auto e = NDArrayFactory::create({3}); - auto f = NDArrayFactory::create({3}); - auto g = NDArrayFactory::create({3}); - auto h = NDArrayFactory::create({12}); + auto e = NDArrayFactory::vector(3); + auto f = NDArrayFactory::vector(3); + auto g = NDArrayFactory::vector(3); + auto h = NDArrayFactory::vector(12); auto z0 = NDArrayFactory::create({1, 3}); auto z1 = NDArrayFactory::create({1, 3}); @@ -334,8 +334,8 @@ TEST_F(DeclarableOpsTests14, Test_StridedSliceZeros_2) { TEST_F(DeclarableOpsTests14, test_empty_argmax_1) { auto x = NDArrayFactory::create({1, 0}); - auto y = NDArrayFactory::create(0); - auto e = NDArrayFactory::create({0}); + auto y = NDArrayFactory::vector(std::vector{0}); + auto e = NDArrayFactory::vector(0); sd::ops::argmax op; //sd::ops::reduce_max op; @@ -1129,7 +1129,7 @@ TEST_F(DeclarableOpsTests14, matmul_test24) { TEST_F(DeclarableOpsTests14, matmul_test25) { auto x = NDArrayFactory::create({4, 3}, {}, sd::kArrayOrderFortran); - auto y = NDArrayFactory::create({4}); + auto y = NDArrayFactory::vector(4); auto exp = NDArrayFactory::create({3}, {7., 8., 9.}, sd::kArrayOrderFortran); x.linspace(1.); @@ -1990,7 +1990,7 @@ TEST_F(DeclarableOpsTests14, Stack_17) { } TEST_F(DeclarableOpsTests14, Stack_18) { - auto x = NDArrayFactory::create({0}); + auto x = NDArrayFactory::vector(0); auto e = NDArrayFactory::create({1, 0}); sd::ops::stack op; @@ -2011,7 +2011,7 @@ TEST_F(DeclarableOpsTests14, Stack_18) { TEST_F(DeclarableOpsTests14, Stack_19) { auto x = NDArrayFactory::empty(); - auto e = NDArrayFactory::create({0}); + auto e = NDArrayFactory::vector(0); sd::ops::stack op; auto result = op.evaluate({&x}, {}, {0}); @@ -2080,8 +2080,8 @@ TEST_F(DeclarableOpsTests14, Reshape1) { sd::ops::reshapeas reshape; reshape.execute(block); - - ASSERT_TRUE(x.isSameShape(y)); + auto theX = block->getNDArray(0); + ASSERT_TRUE(theX->isSameShape(y)); delete variableSpace; delete block; @@ -2170,7 +2170,7 @@ TEST_F(DeclarableOpsTests14, Reshape6) { TEST_F(DeclarableOpsTests14, Reshape7) { auto x = NDArrayFactory::create({ 3, 4, 5 }); - auto exp = NDArrayFactory::create({ 60 }); + auto exp = NDArrayFactory::vector( 60 ); sd::ops::reshape op; auto result = op.evaluate({ &x }, {}, { -1 }); From b1baa461123c72b9e38507925f62d720dc86f654 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 11:43:41 +0300 Subject: [PATCH 78/99] Corrected image resize tests to adopt proper size vector creation. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests11.cpp | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp index 149f6573ba42..c7d06ac08b97 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp @@ -616,7 +616,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test1) { 48.467438f, 48.66914f, 48.849144f, 49.08372f, 49.4071f, 49.680256f, 49.902905f, 50.092834f, 50.262653f, 50.329483f, 50.30638f, 50.25057f}); - auto size = NDArrayFactory::create({30, 30}); + auto size = NDArrayFactory::vector({30, 30}); sd::ops::resize_bicubic op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -689,7 +689,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test2) { 119.125000f, 120.125000f, 121.125000f, 119.406250f, 120.406250f, 121.406250f }); //input = 1.f; input.linspace(1); - auto size = NDArrayFactory::create({10, 8}); + auto size = NDArrayFactory::vector({10, 8}); sd::ops::resize_bicubic op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -725,7 +725,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test3) { 35.500000f, 34.125000f, 35.125000f, 36.125000f, 37.125000f, 34.500000f, 35.500000f, 36.500000f, 37.500000f }); input.linspace(1); - auto size = NDArrayFactory::create({6, 6}); + auto size = NDArrayFactory::vector({6, 6}); sd::ops::resize_bicubic op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -761,7 +761,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test4) { 33.906250f, 34.906250f, 35.906250f, 35.125000f, 36.125000f, 37.125000f, 35.406250f, 36.406250f, 37.406250f }); input.linspace(1); - auto size = NDArrayFactory::create({6, 8}); + auto size = NDArrayFactory::vector({6, 8}); sd::ops::resize_bicubic op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -803,7 +803,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test5) { 47.406250f, 48.406250f, 49.406250f, }); input.linspace(1); - auto size = NDArrayFactory::create({8, 8}); + auto size = NDArrayFactory::vector({8, 8}); sd::ops::resize_bicubic op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -932,7 +932,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test6) { 49.083720f, 49.407100f, 49.680256f, 49.902905f, 50.092834f, 50.262653f, 50.329483f, 50.306380f, 50.250570f }); - auto size = NDArrayFactory::create({30, 30}); + auto size = NDArrayFactory::vector({30, 30}); sd::ops::resize_bicubic op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -989,7 +989,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test7) { 0.29948136f, 0.5276342f, 0.76461166f, 0.8442875f, 0.907862f, 0.9139262f, 0.92068815f }); - auto size = NDArrayFactory::create({9, 9}); + auto size = NDArrayFactory::vector({9, 9}); sd::ops::resize_bicubic op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -1041,7 +1041,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeBicubic_Test8) { 0.385430396f, 0.292239636f, 0.274263054f, 0.445040524f, 0.675405145f, 0.817462444f, 0.882036269f, 0.895356655f, 0.869933784f }); - auto size = NDArrayFactory::create({9, 9}); + auto size = NDArrayFactory::vector({9, 9}); sd::ops::resize_bicubic op; auto results = op.evaluate({&input, &size}, {}, {}, {true, false}); @@ -1102,7 +1102,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test1) { 33.f, 34.f, 35.f, 36.f, 33.f, 34.f, 35.f, 36.f }); input.linspace(1); - auto size = NDArrayFactory::create({6, 6}); + auto size = NDArrayFactory::vector({6, 6}); sd::ops::resize_area op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -1129,7 +1129,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test2) { 7.f, 7.f, 8.f, 8.f, 9.f, 9.f }); input.linspace(1); - auto size = NDArrayFactory::create({6, 6}); + auto size = NDArrayFactory::vector({6, 6}); sd::ops::resize_area op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -1156,7 +1156,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test3) { 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 25.f, 26.f, 27.f }); input.linspace(1); - auto size = NDArrayFactory::create({6, 6}); + auto size = NDArrayFactory::vector({6, 6}); sd::ops::resize_area op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -1193,7 +1193,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test4) { 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 25.f, 26.f, 27.f }); //input.linspace(1); - auto size = NDArrayFactory::create({6, 6}); + auto size = NDArrayFactory::vector({6, 6}); sd::ops::resize_area op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -1230,7 +1230,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test5) { 19.f, 20.f, 21.f, 19.f, 20.f, 21.f, 22.f, 23.f, 24.f, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f, 25.f, 26.f, 27.f }); //input.linspace(1); - auto size = NDArrayFactory::create({6, 6}); + auto size = NDArrayFactory::vector({6, 6}); sd::ops::resize_area op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -1267,7 +1267,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test6) { 7.f, 7.f, 7.5f, 8.f, 8.f, 9.f }); //input.linspace(1); - auto size = NDArrayFactory::create({6, 6}); + auto size = NDArrayFactory::vector({6, 6}); sd::ops::resize_area op; auto results = op.evaluate({&input, &size}, {}, {}, {true}); @@ -1390,7 +1390,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test9) { }); //input.linspace(1); - auto size = NDArrayFactory::create({10, 10}); + auto size = NDArrayFactory::vector({10, 10}); sd::ops::resize_area op; auto results = op.evaluate({&input, &size}, {}, {}); @@ -1513,7 +1513,7 @@ TEST_F(DeclarableOpsTests11, ImageResizeArea_Test14) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({8, 7}); + auto size = NDArrayFactory::vector({8, 7}); NDArray expected = NDArrayFactory::create({1, 8, 7, 1}, { 1.f, 1.6f , 2.1999993f, 2.9999995f , 3.8f , 4.399997f, 5.f , 2.9999995f , 3.5999997f , 4.199999f, 4.9999995f, 5.8f , 6.3999963f , 7.f , 5.999999f , 6.6f, 7.1999984f , 7.9999995f , 8.8f, From 033e0d9bae1c83c35b5d5dea992169cdf13edb13 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 11:57:07 +0300 Subject: [PATCH 79/99] Fixed array factory methods usage with image tests and so on. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests12.cpp | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp index 13c5d381d54a..bd1acdf1bddf 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp @@ -1236,9 +1236,9 @@ TEST_F(DeclarableOpsTests12, inTopK_1) { TEST_F(DeclarableOpsTests12, inTopK_2) { auto input = NDArrayFactory::create({4, 5}); - auto idx = NDArrayFactory::create({4}); + auto idx = NDArrayFactory::vector(4); - auto exp = NDArrayFactory::create({false, false, false, true}); + auto exp = NDArrayFactory::vector({false, false, false, true}); int exclusive, reverse; input.linspace(1); @@ -1681,7 +1681,7 @@ TEST_F(DeclarableOpsTests12, pad_tests12) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests13) { - auto input = NDArrayFactory::create({5}); + auto input = NDArrayFactory::vector(5); auto paddings = NDArrayFactory::create({1,2}, {2,3}); auto expected = NDArrayFactory::create({10}, {3., 2., 1., 2., 3., 4., 5., 4., 3., 2.}); input.linspace(1.f); @@ -1787,7 +1787,7 @@ TEST_F(DeclarableOpsTests12, pad_tests17) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests18) { - auto input = NDArrayFactory::create({5}); + auto input = NDArrayFactory::vector(5); auto paddings = NDArrayFactory::create({1,2}, {0,0}); auto expected = NDArrayFactory::create({5}, {1.,2.,3.,4.,5.}); input.linspace(1.f); @@ -1920,7 +1920,7 @@ TEST_F(DeclarableOpsTests12, pad_tests23) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests24) { - auto input = NDArrayFactory::create({1}); + auto input = NDArrayFactory::vector(1); auto paddings = NDArrayFactory::create({1,2}, {0,0}); auto expected = NDArrayFactory::create({1}, {1.}); @@ -1942,7 +1942,7 @@ TEST_F(DeclarableOpsTests12, pad_tests24) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests25) { - auto input = NDArrayFactory::create({1}); + auto input = NDArrayFactory::vector(1); auto paddings = NDArrayFactory::create({1,2}, {1,1}); auto expected = NDArrayFactory::create({3}, {1.,1.,1}); @@ -1964,7 +1964,7 @@ TEST_F(DeclarableOpsTests12, pad_tests25) { //////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests12, pad_tests26) { - auto input = NDArrayFactory::create({1}); + auto input = NDArrayFactory::vector(1); auto paddings = NDArrayFactory::create({1,2}, {3,2}); auto expected = NDArrayFactory::create({6}, {0., 0., 0., 1., 0., 0.}); @@ -2826,7 +2826,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test1) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.628328f, 0.97913796f, 1.8058043f, 2.563919f, 2.844548f, 3.6026628f, 4.4293294f, 4.7801394f, 2.9474494f, 3.2982588f, @@ -2860,7 +2860,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test2) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.628328f, 0.97913796f, 1.8058043f, 2.563919f, 2.844548f, 3.6026628f, 4.4293294f, 4.7801394f, 2.9474494f, 3.2982588f, @@ -2894,7 +2894,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test3) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.6537938f, 1.0309073f, 1.8018917f, 2.4606667f, 2.9888396f, 3.6476145f, 4.418599f, 4.7957115f, 3.1913466f, 3.5684595f, 4.3394437f, 4.998219f, 5.526393f, 6.185168f, @@ -2924,7 +2924,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test4) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1.4150869f, 1.7928237f, 2.4084527f, 3.0680697f, 3.6419308f, 4.301548f, 4.9171767f, 5.294914f, 4.012885f, 4.390622f, 5.0062513f, 5.6658688f, 6.23973f, 6.899347f, @@ -2954,7 +2954,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test5) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.6372399f, 1.0536414f, 1.7716959f, 2.3966959f, 3.0216959f, 3.6466963f, 4.3647504f, 4.781152f, 3.3926036f, 3.8090053f, 4.5270596f, 5.1520596f, 5.7770596f, 6.4020596f, 7.1201134f, 7.5365143f, @@ -2983,7 +2983,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test6) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.63678247f, 1.0531839f, 1.7712381f, 2.396238f, 3.021238f , 3.646238f, 4.364292f, 4.780694f, 3.3934183f, 3.8098197f, 4.5278745f, 5.1528745f, 5.7778745f, 6.402874f, 7.1209283f, 7.5373297f, @@ -3011,7 +3011,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test7) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 0.98593485f, 1.3872082f, 2.0625007f, 2.6875007f, 3.3125012f, 3.937501f, 4.612794f, 5.014066f, 3.6096964f, 4.01097f, 4.6862626f, 5.311262f, 5.936263f, 6.561262f, 7.2365556f, 7.637828f, @@ -3040,7 +3040,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test8) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1.f , 1.4375f , 2.0625f , 2.6875f , 3.3125f , 3.9375f , 4.5625f , 5.f , 3.8571427f, 4.2946424f, 4.9196424f, 5.5446424f, 6.1696424f, 6.7946424f, 7.4196424f, 7.8571424f, @@ -3069,7 +3069,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test9) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1.f , 1.4f , 2.f , 2.8f , 3.2f , 4.f , 4.6f , 5.f , 4.f , 4.4f , 5.f , 5.8f , 6.2f , 7.f , 7.6f , 8.f , @@ -3098,7 +3098,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test10) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10, 6, 6, 7, 8, 8, 9, 10, 10, 11, 11, 12, 13, 13, 14, 15, 15, 16, 16, @@ -3124,7 +3124,7 @@ TEST_F(DeclarableOpsTests12, ImageResize_Test11) { NDArray input = NDArrayFactory::create({1, 5, 5, 1}, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }); - auto size = NDArrayFactory::create({7, 8}); + auto size = NDArrayFactory::vector({7, 8}); NDArray expected = NDArrayFactory::create({1, 7, 8, 1}, { 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10, 6, 6, 7, 8, 8, 9, 10, 10, 11, 11, 12, 13, 13, 14, 15, 15, 16, 16, From aa8c683ea3ee6f4384a4610e731b14ae0da05d7b Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 12:14:29 +0300 Subject: [PATCH 80/99] Fixed array factory constructor usage with tests. Signed-off-by: shugeo --- .../tests_cpu/layers_tests/DeclarableOpsTests13.cpp | 6 +++--- .../tests_cpu/layers_tests/DeclarableOpsTests15.cpp | 12 ++++++------ .../tests_cpu/layers_tests/DeclarableOpsTests19.cpp | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp index 57ef51e3c899..86805ecc2e6d 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp @@ -105,7 +105,7 @@ TEST_F(DeclarableOpsTests13, test_argmax_edge_1) { auto arr = NDArrayFactory::create({1024,1}); ctx->setInputArray(0, arr); - ctx->setOutputArray(0, NDArrayFactory::create({1})); + ctx->setOutputArray(0, NDArrayFactory::vector(1)); ctx->setInputArray(1, NDArrayFactory::create(0)); //Axis 0 @@ -133,8 +133,8 @@ TEST_F(DeclarableOpsTests13, test_listdiff_1) { auto x = NDArrayFactory::create({4}, {0, 1, 2, 3}); auto y = NDArrayFactory::create({2}, {3, 1}); - auto od = NDArrayFactory::create({2}); - auto oi = NDArrayFactory::create({2}); + auto od = NDArrayFactory::vector(2); + auto oi = NDArrayFactory::vector(2); sd::ops::listdiff op; auto result = op.execute({&x, &y}, std::vector{&od, &oi}, {}, {}, {}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp index 19e4cf31f676..69e87e4adbe4 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp @@ -599,7 +599,7 @@ TEST_F(DeclarableOpsTests15, test_check_numeric_2) { auto x = NDArrayFactory::create( {3},{1.f, 2.f, std::numeric_limits::infinity()}); auto y = NDArrayFactory::string("should trigger"); - auto z = NDArrayFactory::create( {3} ); + auto z = NDArrayFactory::vector(3); sd::ops::check_numerics op; try { @@ -618,7 +618,7 @@ TEST_F(DeclarableOpsTests15, test_check_numeric_3) { auto x = NDArrayFactory::create( {3},{1.f, 2.f, std::numeric_limits::quiet_NaN()}); auto y = NDArrayFactory::string("should trigger"); - auto z = NDArrayFactory::create( {3} ); + auto z = NDArrayFactory::vector(3); sd::ops::check_numerics op; try { @@ -712,8 +712,8 @@ TEST_F(DeclarableOpsTests15, test_hashCode_2) { TEST_F(DeclarableOpsTests15, test_rank_1) { auto array = NDArrayFactory::create( {4, 64}); - auto e = NDArrayFactory::create( {}, {2}); - auto z = NDArrayFactory::create( {}); + auto e = NDArrayFactory::create(2); + auto z = NDArrayFactory::create(0); sd::ops::rank op; auto result = op.execute({&array}, {&z}, {}, {}, {}); @@ -723,7 +723,7 @@ TEST_F(DeclarableOpsTests15, test_rank_1) { TEST_F(DeclarableOpsTests15, test_rank_2) { auto array = NDArrayFactory::create( {4, 64}); - auto e = NDArrayFactory::create( {}, {2}); + auto e = NDArrayFactory::create(2); sd::ops::rank op; auto result = op.evaluate({&array}, {}, {}); @@ -745,7 +745,7 @@ TEST_F(DeclarableOpsTests15, test_lstmBlock_1) { auto x5 = NDArrayFactory::create( {1, 3}); auto x6 = NDArrayFactory::create( {1, 3}); auto x7 = NDArrayFactory::create( {1, 3}); - auto x8 = NDArrayFactory::create( {12}); + auto x8 = NDArrayFactory::vector(12); sd::ops::lstmBlock op; auto result = op.evaluate({&x0, &x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8}, {2.0, 0.3}, {0, 0}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests19.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests19.cpp index 72a52b1cb483..5de0998818b3 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests19.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests19.cpp @@ -75,8 +75,8 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_1) { TEST_F(DeclarableOpsTests19, test_threshold_encode_2) { for (int length = 5; length < 35; length++) { - auto x = NDArrayFactory::create( {10000}); - auto exp_gradients = NDArrayFactory::create( {10000}); + auto x = NDArrayFactory::vector(10000); + auto exp_gradients = NDArrayFactory::vector(10000); for (int e = 0; e < length; e++) { x.p(e, 2e-3); @@ -94,7 +94,7 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_2) { } TEST_F(DeclarableOpsTests19, test_threshold_encode_boundary_1) { - auto x = NDArrayFactory::create( {6}); + auto x = NDArrayFactory::vector(6); x = 1.0f; sd::ops::encode_threshold op; @@ -108,7 +108,7 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_boundary_1) { } TEST_F(DeclarableOpsTests19, test_threshold_encode_boundary_2) { - auto x = NDArrayFactory::create( {1000}); + auto x = NDArrayFactory::vector(1000); x = 1.0f; sd::ops::encode_threshold op; @@ -199,7 +199,7 @@ TEST_F(DeclarableOpsTests19, test_bitmap_encode_decode) { } TEST_F(DeclarableOpsTests19, test_threshold_encode_decode) { - auto initial = NDArrayFactory::create( {256000}); + auto initial = NDArrayFactory::vector(256000); initial = 1.0f; auto exp = initial.dup(); auto neg = initial.like(); From f3f81c12f88d4306c2db33636f1fb8678b6d92e1 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 12:29:20 +0300 Subject: [PATCH 81/99] Fixed the tenth test file with misc array factory constructions. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests10.cpp | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp index fb404eb8835c..d51f59335361 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp @@ -211,9 +211,9 @@ TEST_F(DeclarableOpsTests10, Where_SGO_Test_02) { TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_1) { auto cond3d = NDArrayFactory::create({2, 2, 2}, {true, false, false, true, true, true, true, false}); // auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); - auto exp1 = NDArrayFactory::create({0, 0, 1, 1, 1}); - auto exp2 = NDArrayFactory::create({0, 1, 0, 0, 1}); - auto exp3 = NDArrayFactory::create({0, 1, 0, 1, 0}); + auto exp1 = NDArrayFactory::vector({0, 0, 1, 1, 1}); + auto exp2 = NDArrayFactory::vector({0, 1, 0, 0, 1}); + auto exp3 = NDArrayFactory::vector({0, 1, 0, 1, 0}); sd::ops::where_np op; auto res = op.evaluate({&cond3d}, {}, {}); ASSERT_TRUE(res.size() == 3); @@ -236,8 +236,8 @@ TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_2) { auto cond2d = NDArrayFactory::create({3, 5}, {true, true, false, false, true, true, true, true, true, true, false, true, true, true, true}); // auto expIdx({0, 1, 0, 2, 0, 3, 4, 1, 4, 1}); - auto exp1 = NDArrayFactory::create({0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2}); - auto exp2 = NDArrayFactory::create({0, 1, 4, 0, 1, 2, 3, 4, 1, 2, 3, 4}); + auto exp1 = NDArrayFactory::vector({0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2}); + auto exp2 = NDArrayFactory::vector({0, 1, 4, 0, 1, 2, 3, 4, 1, 2, 3, 4}); sd::ops::where_np op; auto res = op.evaluate({&cond2d}, {}, {}); ASSERT_TRUE(res.size() == 2); @@ -250,7 +250,7 @@ TEST_F(DeclarableOpsTests10, WhereNP_SGO_Test_2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, Where_SGO_Test_2) { - auto input = NDArrayFactory::create({true, false, true, true, true}); + auto input = NDArrayFactory::vector({true, false, true, true, true}); //auto expIdx({0., 1., 0., 2., 0., 3., 4., 1., 4., 1.}); auto exp = NDArrayFactory::create({4,1}, {0, 2, 3, 4}); @@ -1119,7 +1119,7 @@ TEST_F(DeclarableOpsTests10, NTH_Element_Test_8) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, broadcast_to_test1) { - auto input = NDArrayFactory::create({3}); + auto input = NDArrayFactory::vector(3); auto shape = NDArrayFactory::create({2}, {3, 3}); auto exp = NDArrayFactory::create({3,3}, {1, 2, 3,1, 2, 3, 1, 2, 3}); @@ -1251,7 +1251,7 @@ TEST_F(DeclarableOpsTests10, broadcast_to_test7) { /////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, broadcast_to_test8) { - auto input = NDArrayFactory::create({3}); + auto input = NDArrayFactory::vector(3); auto shape = NDArrayFactory::create({3}, {1.f, 3.f, 3.f}); auto exp = NDArrayFactory::create({1,3,3}, {1.f, 2.f, 3.f,1.f, 2.f, 3.f,1.f, 2.f, 3.f}); @@ -1371,7 +1371,7 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test_11) { NDArray input = NDArrayFactory::create({1, 1, 1, 256}); input.assign(0.8f); //linspace(1); - auto size = NDArrayFactory::create({65,65}); + auto size = NDArrayFactory::vector({65,65}); auto ex = NDArrayFactory::create({1,65,65,256}); sd::ops::resize_bilinear op; auto results = op.evaluate({&input, &size}, {}, {}, {false}); @@ -1388,7 +1388,7 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test_12) { NDArray input = NDArrayFactory::create({1, 1, 1, 256}); input.assign(0.8f); //linspace(1); - auto size = NDArrayFactory::create({65,65}); + auto size = NDArrayFactory::vector({65,65}); auto ex = NDArrayFactory::create({1,65,65,256}); sd::ops::resize_bilinear op; auto results = op.evaluate({&input, &size}, {}, {}, {true}); @@ -1601,7 +1601,7 @@ TEST_F(DeclarableOpsTests10, ResizeImages_Test1) { 117.666664f,118.666664f,119.666664f, 118.f, 119.f, 120.f }); - auto size = NDArrayFactory::create({7, 11}); + auto size = NDArrayFactory::vector({7, 11}); sd::ops::resize_images op; auto results = op.evaluate({&input, &size}, {}, {0}, {false, true}); // resize with bilinear method @@ -1775,7 +1775,7 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test02) { TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test2) { NDArray input = NDArrayFactory::create({1, 2,3,4}); - NDArray size = NDArrayFactory::create({10, 10}); + NDArray size = NDArrayFactory::vector({10, 10}); //NDArray expected('c', {2,4,4}, {1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,0.,0.,0.,0.}); NDArray expected = NDArrayFactory::create({1, 10, 10, 4}, {1., 2., 3., 4., 2.2, 3.2, 4.2, 5.2, 3.4, 4.4, 5.4, 6.4, 4.6, 5.6, 6.6, 7.6, 5.8, 6.8, 7.8, 8.8, 7., 8., 9., 10., @@ -1957,7 +1957,7 @@ TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test3) { TEST_F(DeclarableOpsTests10, ImageResizeBilinear_Test4) { NDArray input = NDArrayFactory::create({1, 2,3,4}); - NDArray size = NDArrayFactory::create({10, 10}); + NDArray size = NDArrayFactory::vector({10, 10}); NDArray expected = NDArrayFactory::create({1, 10, 10, 4}, { 1., 2., 3., 4. , 1.8888888, 2.8888888, 3.8888888, 4.888889, @@ -2609,7 +2609,7 @@ TEST_F(DeclarableOpsTests10, Image_CropAndResize_1) { NDArray images = NDArrayFactory::create({1,2,2,1}, {1,2,3,4}); NDArray boxes = NDArrayFactory::create({1,4}, {0,0,1,1}); NDArray boxI = NDArrayFactory::create({1}, {axis}); - NDArray cropSize = NDArrayFactory::create({1, 1}); + NDArray cropSize = NDArrayFactory::vector({1, 1}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); NDArray expected = NDArrayFactory::create({1,1,1,1}, {2.5f}); @@ -2632,7 +2632,7 @@ TEST_F(DeclarableOpsTests10, Image_CropAndResize_2) { NDArray images = NDArrayFactory::create({1,2,2,1}, {1.f, 2.f, 3.f, 4.f}); NDArray boxes = NDArrayFactory::create({1,4}, {0.f, 0.f, 1.f, 1.f}); NDArray boxI = NDArrayFactory::create({1}, {axis}); - NDArray cropSize = NDArrayFactory::create({1, 1}); + NDArray cropSize = NDArrayFactory::vector({1, 1}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); NDArray expected = NDArrayFactory::create({1,1,1,1}, {4.f}); @@ -2654,7 +2654,7 @@ TEST_F(DeclarableOpsTests10, Image_CropAndResize_3) { NDArray images ('c', {1,2,2,1}, {1,2,3,4}, sd::DataType::FLOAT32); NDArray boxes('c', {1,4}, {0,0,1,1}, sd::DataType::FLOAT32); NDArray boxI('c', {1}, std::vector{0}, sd::DataType::INT64); - NDArray cropSize = NDArrayFactory::create({3, 3}); + NDArray cropSize = NDArrayFactory::vector({3, 3}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); NDArray expected('c', {1,3,3,1}, {1.f, 1.5f, 2., 2.f, 2.5f, 3.f, 3.f, 3.5f, 4.f}, sd::DataType::FLOAT32); @@ -2676,7 +2676,7 @@ TEST_F(DeclarableOpsTests10, Image_CropAndResize_4) { NDArray images('c', {1,2,2,1}, {1, 2, 3, 4}, sd::DataType::FLOAT32); NDArray boxes('c', {1,4}, {0,0,1,1}, sd::DataType::FLOAT32); NDArray boxI('c', {1}, std::vector({0.}), sd::DataType::INT32); - NDArray cropSize = NDArrayFactory::create({3, 3}); + NDArray cropSize = NDArrayFactory::vector({3, 3}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); NDArray expected('c', {1,3,3,1}, {1.f, 2.f, 2.f, 3.f, 4, 4.f, 3.f, 4.f, 4.f}, sd::DataType::FLOAT32); @@ -2698,7 +2698,7 @@ TEST_F(DeclarableOpsTests10, Image_CropAndResize_5) { NDArray images('c', {1, 100, 100, 3}, sd::DataType::FLOAT32); NDArray boxes('c', {1,4}, {0,0,1,1}, sd::DataType::FLOAT32); NDArray boxI('c', {2}, {1,1}, sd::DataType::INT32); - NDArray cropSize = NDArrayFactory::create({10, 10}); + NDArray cropSize = NDArrayFactory::vector({10, 10}); //NDArray ('c', {6}, {0.9f, .75f, .6f, .95f, .5f, .3f}); NDArray expected('c', {1, 10, 10,3}, sd::DataType::FLOAT32); @@ -3105,7 +3105,7 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_6) { ////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_7) { - NDArray x = NDArrayFactory::create({100}); + NDArray x = NDArrayFactory::vector(100); NDArray exp = NDArrayFactory::create({100}, { 0.f, 0.01176471f, 0.01960784f, 0.03137255f, 0.03921569f, 0.0509804f, 0.05882353f, 0.07058824f, 0.07843138f, 0.09019608f, @@ -3146,7 +3146,7 @@ TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_7) { ////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests10, FakeQuantWithMinMaxVars_Test_8) { - NDArray x = NDArrayFactory::create({10}); + NDArray x = NDArrayFactory::vector(10); NDArray exp = NDArrayFactory::create({10}, { 0.f, 0.09803922f, 0.20000002f, 0.3019608f, 0.40000004f, 0.49803925f, 0.6f, 0.69803923f, 0.8000001f, 0.8980393f From 6727613b716056ec45af528b16b5d4406a0ea96a Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 12:36:33 +0300 Subject: [PATCH 82/99] Corrected array factory creators usage with ninth test file. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests9.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp index f6cb905e2827..0cc2a76af670 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp @@ -285,9 +285,9 @@ TEST_F(DeclarableOpsTests9, concat_test2) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, concat_test3) { - auto x0 = NDArrayFactory::create( {3}); - auto x1 = NDArrayFactory::create( {2}); - auto x2 = NDArrayFactory::create( {1}); + auto x0 = NDArrayFactory::vector(3); + auto x1 = NDArrayFactory::vector(2); + auto x2 = NDArrayFactory::vector(1); auto exp = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 1.f, 2.f, 1.f}); x0.linspace(1); @@ -604,7 +604,7 @@ TEST_F(DeclarableOpsTests9, concat_test17) { for (int e = 0; e < numOfTads; ++e) { NDArray tad = (*z)(e, {0}); auto mean = tad.meanNumber().e(0); - ASSERT_NEAR((e+1)*1., mean, 1e-5); + ASSERT_NEAR((e + 1) * 1., mean, 1e-5); } } @@ -628,7 +628,7 @@ TEST_F(DeclarableOpsTests9, concat_test18) { op.execute(&context); for (int e = 0; e < 2000; e++) { - auto exp = NDArrayFactory::create( {300}); + auto exp = NDArrayFactory::vector(300); exp.assign(e); auto row = z(e, {0}); ASSERT_EQ(exp, row); @@ -878,7 +878,7 @@ TEST_F(DeclarableOpsTests9, tile_bp_test3) { TEST_F(DeclarableOpsTests9, tile_bp_test4) { auto input = NDArrayFactory::create( {6}, {1.,2.,3.,4.,5.,6.}); - auto gradO = NDArrayFactory::create( {12}); + auto gradO = NDArrayFactory::vector(12); auto gradIExp = NDArrayFactory::create( {6}, {0.08, 0.1 , 0.12, 0.14, 0.16, 0.18}); gradO.linspace(0.01, 0.01); @@ -898,7 +898,7 @@ TEST_F(DeclarableOpsTests9, tile_bp_test4) { TEST_F(DeclarableOpsTests9, tile_bp_test5) { auto input = NDArrayFactory::create( {1}, {1.}); - auto gradO = NDArrayFactory::create( {1}); + auto gradO = NDArrayFactory::vector(1); auto gradIExp = NDArrayFactory::create( {1}, {0.01}); gradO.linspace(0.01, 0.01); @@ -1223,7 +1223,7 @@ TEST_F(DeclarableOpsTests9, test_unstack_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests9, test_unstack_SGO_1) { - auto x = NDArrayFactory::create({1, 2, 3, 4, 5}); + auto x = NDArrayFactory::vector({1, 2, 3, 4, 5}); x.linspace(1.0); auto z1 = NDArrayFactory::create(1); auto z2 = NDArrayFactory::create(2); @@ -1913,7 +1913,7 @@ TEST_F(DeclarableOpsTests9, thresholdedrelu_bp_test1) { TEST_F(DeclarableOpsTests9, multiply_test1) { auto x = NDArrayFactory::create( {2, 3, 4}); - auto y = NDArrayFactory::create( {4}); + auto y = NDArrayFactory::vector(4); auto exp = NDArrayFactory::create( {2, 3, 4}, {0.1f, 0.4f, 0.9f, 1.6f, 0.5f, 1.2f, 2.1f, 3.2f, 0.9f, 2.f, 3.3f, 4.8f, 1.3f, 2.8f, 4.5f, 6.4f, 1.7f, 3.6f, 5.7f, 8.f, 2.1f, 4.4f, 6.9f, 9.6f}); x.linspace(1.f); y.linspace(0.1f, 0.1f); From 96b1a3f303083e5da58072d02831b7998b176eed Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 12:45:17 +0300 Subject: [PATCH 83/99] Corrected array factory creators usage with eighth and seventh test files. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests7.cpp | 22 +++++++++---------- .../layers_tests/DeclarableOpsTests8.cpp | 4 ++-- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp index 907a33b07c2b..3eaa137022be 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp @@ -1177,7 +1177,7 @@ TEST_F(DeclarableOpsTests7, TestSegmentMinBP_1) { auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); auto exp = NDArrayFactory::vector({ 1., 0., 0., 0., 2., 0., 3., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); - auto eps = NDArrayFactory::create( {5}); + auto eps = NDArrayFactory::vector(5); eps.linspace(1); sd::ops::segment_min_bp op; @@ -1194,7 +1194,7 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMinBP_1) { auto x = NDArrayFactory::vector({1.8, 2.5, 4., 9., 2.1, 2.4, 3., 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); auto idx = NDArrayFactory::vector({0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4}); auto exp = NDArrayFactory::vector({ 1., 0., 0., 0., 2., 0., 3., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); - auto eps = NDArrayFactory::create( {5}); + auto eps = NDArrayFactory::vector(5); eps.linspace(1); sd::ops::unsorted_segment_min_bp op; @@ -1213,7 +1213,7 @@ TEST_F(DeclarableOpsTests7, TestUnsortedSegmentMinBP_2) { auto x = NDArrayFactory::vector({3., 1.8, 2.5, 4., 9., 2.1, 2.4, 9., 2.1, 2.1, 0.7, 0.1, 3., 4.2, 2.2, 1.}); auto idx = NDArrayFactory::vector({2, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4}); auto exp = NDArrayFactory::vector({3., 1., 0., 0., 0., 2., 0., 0., 4., 4., 0., 5., 0., 0., 0., 0.}); - auto eps = NDArrayFactory::create( {5}); + auto eps = NDArrayFactory::vector(5); eps.linspace(1); sd::ops::unsorted_segment_min_bp op; @@ -2299,12 +2299,12 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_04) { } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_05) { - auto x = NDArrayFactory::create({1,2,3,4,5,6,7,8 }); + auto x = NDArrayFactory::vector({1,2,3,4,5,6,7,8 }); // ---------------------------------------------------------------- auto idx = NDArrayFactory::vector({0,0,1,2,2,2,3,3}); - auto exp = NDArrayFactory::create({ 2, 3, 120, 56}); + auto exp = NDArrayFactory::vector({ 2, 3, 120, 56}); sd::ops::segment_prod op; @@ -2338,29 +2338,27 @@ TEST_F(DeclarableOpsTests7, TestSegmentProd_05_1) { //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_06) { - auto x = NDArrayFactory::create({'\x1','\x2','\x3','\x4','\x5','\x6','\x7','\x8' }); + auto x = NDArrayFactory::vector({'\x1','\x2','\x3','\x4','\x5','\x6','\x7','\x8' }); // ---------------------------------------------------------------- auto idx = NDArrayFactory::vector({0,0,1,2,2,2,3,3}); - auto exp = NDArrayFactory::create({ 2, 3, 120, 56}); + auto exp = NDArrayFactory::vector({ 2, 3, 120, 56}); sd::ops::segment_prod op; auto result = op.evaluate({&x, &idx}, {}, {}); ASSERT_EQ(result.status(), Status::OK()); ASSERT_TRUE(exp.equalsTo(result.at(0))); - - } //////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests7, TestSegmentProd_07) { - auto x = NDArrayFactory::create({'\x1','\x2','\x3','\x4','\x5','\x6','\x7','\x8' }); + auto x = NDArrayFactory::vector({'\x1','\x2','\x3','\x4','\x5','\x6','\x7','\x8' }); // ---------------------------------------------------------------- auto idx = NDArrayFactory::vector({0,0,1,2,2,2,3,3}); - auto exp = NDArrayFactory::create({ 2, 3, 120, 56}); + auto exp = NDArrayFactory::vector({ 2, 3, 120, 56}); sd::ops::segment_prod op; auto result = op.evaluate({&x, &idx}, {}, {}); @@ -6912,7 +6910,7 @@ TEST_F(DeclarableOpsTests7, Test_Reduce_Dot_BP_3) { auto x = NDArrayFactory::create( {3, 4}); auto y = NDArrayFactory::create( {3, 4}); - auto eps = NDArrayFactory::create( {3}); + auto eps = NDArrayFactory::vector(3); auto expX = NDArrayFactory::create( {3, 4}, {2.f, 2.f, 2.f, 2.f, 4.f, 4.f, 4.f, 4.f, 6.f, 6.f, 6.f, 6.f}); auto expY = NDArrayFactory::create( {3, 4}, {1.f, 2.f, 3.f, 4.f, 10.f, 12.f, 14.f, 16.f, 27.f, 30.f, 33.f, 36.f}); x.linspace(1); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp index 647543fb3c1e..8cd45190cf7e 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp @@ -450,7 +450,7 @@ TEST_F(DeclarableOpsTests8, reduceVarianceBP_test02) { auto gradO2 = NDArrayFactory::create( {4}, {1.f,2.f,3.f,4.f}); auto exp12 = NDArrayFactory::create( {3,4}, {-2.666667f, -5.333333f, -8.000000f, -10.666667f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 2.666667f, 5.333333f, 8.000000f, 10.666667f}); auto exp34 = NDArrayFactory::create( {3,4}, {-4.000000f, -8.000000f, -12.000000f, -16.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 4.000000f, 8.000000f, 12.000000f, 16.000000f}); - auto axes = NDArrayFactory::vector({(int)0,}); + auto axes = NDArrayFactory::vector(1, 0); // axes = {0} x.linspace(1); sd::ops::reduce_variance_bp op; @@ -2617,7 +2617,7 @@ TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test7) { TEST_F(DeclarableOpsTests8, softmax_cross_entropy_loss_with_logits_test8) { auto labels = NDArrayFactory::create( {2}, {0,1}); - auto logits = NDArrayFactory::create( {2}); + auto logits = NDArrayFactory::vector(2); auto expected = NDArrayFactory::create(0.6444); logits.linspace(0.1, 0.1); From 4c4897798eb044d2d5974513b9aaace2a88e0294 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 13:34:33 +0300 Subject: [PATCH 84/99] Corrected the sixth test file with refactored array creators. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests6.cpp | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp index 9e77d6c84ecd..94b627d6f154 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp @@ -236,7 +236,7 @@ TEST_F(DeclarableOpsTests6, Test_StridedSlice_BP_1) { // auto e = NDArrayFactory::create( {1}, {zero}); // auto s = NDArrayFactory::create( {1}, {1}); - auto grad = NDArrayFactory::create( {5}); + auto grad = NDArrayFactory::vector(5); matrix.linspace(1); grad.linspace(1); @@ -1109,7 +1109,7 @@ TEST_F(DeclarableOpsTests6, BinCount_5) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_1) { - auto x = NDArrayFactory::create( {2, 2, 2} ); + auto x = NDArrayFactory::vector({2, 2, 2}); auto y = NDArrayFactory::vector({ 2, 1, 2}); @@ -1127,7 +1127,7 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_1) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_2) { - auto x = NDArrayFactory::create( {2, 2} ); + auto x = NDArrayFactory::vector({2, 2}); auto y = NDArrayFactory::vector({2, 1, 2}); @@ -1144,7 +1144,7 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_2) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_3) { - auto x = NDArrayFactory::create( {2, 2, 2} ); + auto x = NDArrayFactory::vector({2, 2, 2}); auto y = NDArrayFactory::vector({2, 1}); @@ -1161,7 +1161,7 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_3) { ///////////////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_4) { - auto x = NDArrayFactory::create( {2, 1} ); + auto x = NDArrayFactory::vector( {2, 1} ); auto y = NDArrayFactory::create( {1}, {4}); @@ -1215,7 +1215,7 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_8) { auto y = NDArrayFactory::create( {1}, {4}); - auto z = NDArrayFactory::create( {1}); + auto z = NDArrayFactory::vector(1, 1); // int vector {1} auto exp = NDArrayFactory::create( {1}, {4}); @@ -1233,7 +1233,7 @@ TEST_F(DeclarableOpsTests6, BroadcastDynamicShape_SGO_9) { auto y = NDArrayFactory::create( {1}, {1}); - auto z = NDArrayFactory::create( {2}); + auto z = NDArrayFactory::vector(2); // long long vector {0LL, 0LL} auto exp = NDArrayFactory::create( {2}, {2,2}); @@ -1897,7 +1897,7 @@ TEST_F(DeclarableOpsTests6, static_rnn_test1) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2*numUnits); auto h0 = NDArrayFactory::create( {bS, numUnits}); auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3}); @@ -1940,7 +1940,7 @@ TEST_F(DeclarableOpsTests6, static_rnn_test2) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); auto h0 = NDArrayFactory::create( {bS, numUnits}); x.linspace(0.01, 0.01); @@ -1983,7 +1983,7 @@ TEST_F(DeclarableOpsTests6, static_rnn_test3) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); auto h0 = NDArrayFactory::create( {bS, numUnits}); auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, 0}); @@ -2026,7 +2026,7 @@ TEST_F(DeclarableOpsTests6, static_rnn_test4) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); auto h0 = NDArrayFactory::create( {bS, numUnits}); auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3}); @@ -2068,7 +2068,7 @@ TEST_F(DeclarableOpsTests6, static_rnn_test5) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); auto h0 = NDArrayFactory::create( {bS, numUnits}); x.linspace(0.01, 0.01); @@ -2111,7 +2111,7 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test1) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create( {2*numUnitsFW}); + auto bFW = NDArrayFactory::vector(2 * numUnitsFW); auto h0FW = NDArrayFactory::create( {bS, numUnitsFW}); auto h0BW = NDArrayFactory::create( {bS, numUnitsBW}); @@ -2165,7 +2165,7 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test2) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create( {2*numUnitsFW}); + auto bFW = NDArrayFactory::vector(2 * numUnitsFW); auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3, time-4, 0}); @@ -2219,7 +2219,7 @@ TEST_F(DeclarableOpsTests6, static_bidir_rnn_test3) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create( {2*numUnitsFW}); + auto bFW = NDArrayFactory::vector(2 * numUnitsFW); x.linspace(0.01, 0.01); WxFW = 0.3; @@ -2270,7 +2270,7 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test1) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); auto h0 = NDArrayFactory::create( {bS, numUnits}); auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3}); @@ -2314,7 +2314,7 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test2) { auto x = NDArrayFactory::create( {bS, time, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); auto h0 = NDArrayFactory::create( {bS, numUnits}); auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time}); @@ -2358,7 +2358,7 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test3) { auto x = NDArrayFactory::create( {bS, time, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); auto h0 = NDArrayFactory::create( {bS, numUnits}); x.linspace(0.01, 0.01); @@ -2400,7 +2400,7 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test4) { auto x = NDArrayFactory::create( {bS, time, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-4}); x.linspace(0.01, 0.01); @@ -2441,7 +2441,7 @@ TEST_F(DeclarableOpsTests6, dynamic_rnn_test5) { auto x = NDArrayFactory::create( {bS, time, inSize}); auto Wx = NDArrayFactory::create( {inSize, numUnits}); auto Wh = NDArrayFactory::create( {numUnits, numUnits}); - auto b = NDArrayFactory::create( {2*numUnits}); + auto b = NDArrayFactory::vector(2 * numUnits); x.linspace(0.01, 0.01); Wx = 0.3; @@ -2483,7 +2483,7 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test1) { auto x = NDArrayFactory::create( {time, bS, inSize}); auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create( {2*numUnitsFW}); + auto bFW = NDArrayFactory::vector(2 * numUnitsFW); auto h0FW = NDArrayFactory::create( {bS, numUnitsFW}); auto h0BW = NDArrayFactory::create( {bS, numUnitsBW}); @@ -2545,7 +2545,7 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test2) { auto x = NDArrayFactory::create( {bS, time, inSize}); auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create( {2*numUnitsFW}); + auto bFW = NDArrayFactory::vector(2 * numUnitsFW); auto h0FW = NDArrayFactory::create( {bS, numUnitsFW}); auto h0BW = NDArrayFactory::create( {bS, numUnitsBW}); @@ -2605,7 +2605,7 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test3) { auto x = NDArrayFactory::create( {bS, time, inSize}); auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create( {2*numUnitsFW}); + auto bFW = NDArrayFactory::vector(2 * numUnitsFW); auto maxTimeStep = NDArrayFactory::create( {bS}, {time-1, time-3, time-4, 0}); @@ -2661,7 +2661,7 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test4) { auto x = NDArrayFactory::create( {bS, time, inSize}); auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create( {2*numUnitsFW}); + auto bFW = NDArrayFactory::vector(2 * numUnitsFW); auto h0FW = NDArrayFactory::create( {bS, numUnitsFW}); auto h0BW = NDArrayFactory::create( {bS, numUnitsBW}); @@ -2719,7 +2719,7 @@ TEST_F(DeclarableOpsTests6, dynamic_bidir_rnn_test5) { auto x = NDArrayFactory::create( {bS, time, inSize}); auto WxFW = NDArrayFactory::create( {inSize, numUnitsFW}); auto WhFW = NDArrayFactory::create( {numUnitsFW, numUnitsFW}); - auto bFW = NDArrayFactory::create( {2*numUnitsFW}); + auto bFW = NDArrayFactory::vector(2 * numUnitsFW); x.linspace(0.01, 0.01); WxFW = 0.3; From 175babc4ce60f8ccbb62166d8e97cea013dc2b41 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 13:43:50 +0300 Subject: [PATCH 85/99] Corrected the fifth test file to adopt array factory create methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests5.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp index 84147759faa5..f7d7382401dd 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp @@ -1697,7 +1697,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test3) { } ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test04) { - auto input = NDArrayFactory::create( {4}); + auto input = NDArrayFactory::vector(4); input.linspace(1); sd::ops::random_shuffle op; @@ -1719,7 +1719,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test04) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test4) { - auto input = NDArrayFactory::create( {4}); + auto input = NDArrayFactory::vector(4); input.linspace(1); sd::ops::random_shuffle op; @@ -2083,7 +2083,7 @@ TEST_F(DeclarableOpsTests5, DynamicStitch_empty_1) { TEST_F(DeclarableOpsTests5, DynamicStitch_empty_2) { auto i0 = NDArrayFactory::create( {2}, {2, 3}); - auto i1 = NDArrayFactory::create( {0}); + auto i1 = NDArrayFactory::create( std::vector{0}); auto i2 = NDArrayFactory::create( {2}, {0, 1}); auto d0 = NDArrayFactory::create( {2, 5}, {0.085571885,0.7937801,0.65908563,0.55552566,0.15962744,0.7787856,0.80119777,0.72437465,0.23089433,0.72714126}); @@ -2156,10 +2156,10 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test1) { auto x = NDArrayFactory::create( {2, 2, 3, 4}); x.linspace(1); - auto scale = NDArrayFactory::create( {4}); + auto scale = NDArrayFactory::vector(4); scale = 0.5; - auto offset = NDArrayFactory::create( {4}); + auto offset = NDArrayFactory::vector(4); offset = 2.; auto expY = NDArrayFactory::create( {2, 2, 3, 4}, {1.20337462, 1.20337462, 1.20337462, 1.20337462, 1.34821558, 1.34821558, 1.34821558, 1.34821558, 1.49305654, 1.49305654, 1.49305654, 1.49305654, 1.63789749, 1.63789749, 1.63789749, 1.63789749, 1.78273857, 1.78273857, 1.78273857, 1.78273857, 1.92757952, 1.92757952, 1.92757952, 1.92757952, 2.0724206 , 2.0724206 , 2.0724206 , 2.0724206 , 2.21726155, 2.21726155, 2.21726155, 2.21726155, 2.36210251, 2.36210251, 2.36210251, 2.36210251, 2.50694346, 2.50694346, 2.50694346, 2.50694346, 2.65178442, 2.65178442, 2.65178442, 2.65178442, 2.79662538, 2.79662538, 2.79662538, 2.79662538}); auto expBatchMean = NDArrayFactory::create( {4}, {23., 24., 25., 26.}); @@ -2186,10 +2186,10 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test2) { auto x = NDArrayFactory::create( {2, 2, 3, 4}); x.linspace(1); - auto scale = NDArrayFactory::create( {4}); + auto scale = NDArrayFactory::vector(4); scale = 0.5; - auto offset = NDArrayFactory::create( {4}); + auto offset = NDArrayFactory::vector(4); offset = 2.; auto expY = NDArrayFactory::create( {2, 2, 3, 4}, {1.20347691, 1.20347691, 1.20347691, 1.20347691, 1.34829926, 1.34829926, 1.34829926, 1.34829926, 1.49312162, 1.49312162, 1.49312162, 1.49312162, 1.6379441 , 1.6379441 , 1.6379441 , 1.6379441 , 1.78276646, 1.78276646, 1.78276646, 1.78276646, 1.92758882, 1.92758882, 1.92758882, 1.92758882, 2.0724113 , 2.0724113 , 2.0724113 , 2.0724113 , 2.21723366, 2.21723366, 2.21723366, 2.21723366, 2.36205602, 2.36205602, 2.36205602, 2.36205602, 2.50687838, 2.50687838, 2.50687838, 2.50687838, 2.65170074, 2.65170074, 2.65170074, 2.65170074, 2.79652309, 2.79652309, 2.79652309, 2.79652309}); auto expBatchMean = NDArrayFactory::create( {4}, {23., 24., 25., 26.}); @@ -2215,10 +2215,10 @@ TEST_F(DeclarableOpsTests5, fusedBatchNorm_test3) { auto x = NDArrayFactory::create( {2, 4, 2, 3}); x.linspace(1); - auto scale = NDArrayFactory::create( {4}); + auto scale = NDArrayFactory::vector(4); scale = 0.5; - auto offset = NDArrayFactory::create( {4}); + auto offset = NDArrayFactory::vector(4); offset = 2.; auto expY = NDArrayFactory::create( {2, 4, 2, 3}, {1.20337462, 1.20337462, 1.20337462, 1.20337462, 1.34821558, 1.34821558, 1.34821558, 1.34821558, 1.49305654, 1.49305654, 1.49305654, 1.49305654, 1.63789749, 1.63789749, 1.63789749, 1.63789749, 1.78273857, 1.78273857, 1.78273857, 1.78273857, 1.92757952, 1.92757952, 1.92757952, 1.92757952, 2.0724206 , 2.0724206 , 2.0724206 , 2.0724206 , 2.21726155, 2.21726155, 2.21726155, 2.21726155, 2.36210251, 2.36210251, 2.36210251, 2.36210251, 2.50694346, 2.50694346, 2.50694346, 2.50694346, 2.65178442, 2.65178442, 2.65178442, 2.65178442, 2.79662538, 2.79662538, 2.79662538, 2.79662538}); auto expBatchMean = NDArrayFactory::create( {4}, {23., 24., 25., 26.}); From 6431990fa79cfc607d512fde5db037379928d245 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 13:46:45 +0300 Subject: [PATCH 86/99] Corrected the fourth test file to adopt array factory create methods. Signed-off-by: shugeo --- libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp index 74d825cea353..954797a417aa 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp @@ -699,7 +699,7 @@ TEST_F(DeclarableOpsTests4, Test_FirasSparce_1) { TEST_F(DeclarableOpsTests4, Test_FlattenTests_1) { auto x = NDArrayFactory::create( {3, 3, 3, 3}); - auto exp = NDArrayFactory::create( {81}); + auto exp = NDArrayFactory::vector(81); x.linspace(1); exp.linspace(1); @@ -719,7 +719,7 @@ TEST_F(DeclarableOpsTests4, Test_FlattenTests_1) { TEST_F(DeclarableOpsTests4, Test_FlattenTests_2) { auto x = NDArrayFactory::create( {3, 3, 3, 3}); auto y = NDArrayFactory::create( {3, 3}); - auto exp = NDArrayFactory::create( {90}); + auto exp = NDArrayFactory::vector(90); x.linspace(1); y.linspace(82); @@ -1726,9 +1726,9 @@ TEST_F(DeclarableOpsTests4, lstm_test1) { auto c0 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); x.linspace(0.5, 0.5); h0 = 1.; From 58ecc5ad4d68efa92eef090c2b4d7b88394d34a5 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 13:51:47 +0300 Subject: [PATCH 87/99] Corrected the third test file to adopt array factory create methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests3.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp index baf1d7d7abbf..abe7a1675ff3 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp @@ -695,7 +695,7 @@ TEST_F(DeclarableOpsTests3, sruCell_test1) { auto xt = NDArrayFactory::create( {batchSize, inSize}); auto ct_1= NDArrayFactory::create( {batchSize, inSize}); auto w = NDArrayFactory::create( {inSize, 3*inSize}); - auto b = NDArrayFactory::create( {2*inSize}); + auto b = NDArrayFactory::vector(2 * inSize); xt.assign(1.); ct_1.assign(2.); @@ -730,7 +730,7 @@ TEST_F(DeclarableOpsTests3, sruCell_test2) { auto xt = NDArrayFactory::create( {batchSize, inSize}); auto ct_1= NDArrayFactory::create( {batchSize, inSize}); auto w = NDArrayFactory::create( {inSize, 3*inSize}); - auto b = NDArrayFactory::create( {2*inSize}); + auto b = NDArrayFactory::vector(2 * inSize); xt.assign(1.); ct_1.assign(2.); @@ -764,7 +764,7 @@ TEST_F(DeclarableOpsTests3, sruCell_test3) { auto xt = NDArrayFactory::create( {batchSize, inSize}); auto ct_1= NDArrayFactory::create( {batchSize, inSize}); auto w = NDArrayFactory::create( {inSize, 3*inSize}); - auto b = NDArrayFactory::create( {2*inSize}); + auto b = NDArrayFactory::vector(2 * inSize); xt.assign(10.); ct_1.assign(1.); @@ -801,8 +801,8 @@ TEST_F(DeclarableOpsTests3, gruCell_test1) { auto ht_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wru = NDArrayFactory::create( {(inSize+numUnits), 2*numUnits}); auto Wc = NDArrayFactory::create( {(inSize+numUnits), numUnits}); - auto bru = NDArrayFactory::create( {2*numUnits}); - auto bc = NDArrayFactory::create( {numUnits}); + auto bru = NDArrayFactory::vector(2 * numUnits); + auto bc = NDArrayFactory::vector(numUnits); xt.assign(1.); ht_1.assign(2.); @@ -836,8 +836,8 @@ TEST_F(DeclarableOpsTests3, gruCell_test2) { auto ht_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wru = NDArrayFactory::create( {(inSize+numUnits), 2*numUnits}); auto Wc = NDArrayFactory::create( {(inSize+numUnits), numUnits}); - auto bru = NDArrayFactory::create( {2*numUnits}); - auto bc = NDArrayFactory::create( {numUnits}); + auto bru = NDArrayFactory::vector(2 * numUnits); + auto bc = NDArrayFactory::vector(numUnits); xt.assign(1.); ht_1.assign(0.); @@ -872,8 +872,8 @@ TEST_F(DeclarableOpsTests3, gruCell_test3) { auto ht_1= NDArrayFactory::create( {batchSize, numUnits}); auto Wru = NDArrayFactory::create( {(inSize+numUnits), 2*numUnits}); auto Wc = NDArrayFactory::create( {(inSize+numUnits), numUnits}); - auto bru = NDArrayFactory::create( {2*numUnits}); - auto bc = NDArrayFactory::create( {numUnits}); + auto bru = NDArrayFactory::vector(2 * numUnits); + auto bc = NDArrayFactory::vector(numUnits); xt.assign(1.); ht_1.assign(0.); From 166724c48811a4297cae35274e9a5253e442667c Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 14:02:57 +0300 Subject: [PATCH 88/99] Corrected the second test file to adopt array factory create methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests2.cpp | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp index fff382c50f41..03ffe9fce404 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp @@ -334,13 +334,13 @@ TEST_F(DeclarableOpsTests2, NLP_Cbow_Test_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); auto context = NDArrayFactory::create( {3}, {0, 1, 2}); - auto locked = NDArrayFactory::create( {3}); + auto locked = NDArrayFactory::vector(3); auto indices = NDArrayFactory::create( {2}, {4, 5}); auto codes = NDArrayFactory::create( {2}, {1, 1}); auto syn0 = NDArrayFactory::create( {100, 10}); auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create( {10000}); + auto expTable = NDArrayFactory::vector(10000); auto negTable = NDArrayFactory::empty(); auto numWords = NDArrayFactory::create( {1}, {1}); @@ -3650,9 +3650,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test1) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -3695,9 +3695,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test2) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -3740,9 +3740,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test3) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -3785,9 +3785,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test4) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -3830,9 +3830,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test5) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -3875,9 +3875,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test6) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -3920,9 +3920,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test7) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -3966,9 +3966,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test8) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -4011,9 +4011,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test9) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -4056,9 +4056,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test10) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -4101,9 +4101,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test11) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); @@ -4146,9 +4146,9 @@ TEST_F(DeclarableOpsTests2, lstmCell_test12) { auto ct_1 = NDArrayFactory::create( {batchSize, numUnits}); auto Wx = NDArrayFactory::create( {inSize, 4*numUnits}); auto Wh = NDArrayFactory::create( {numProj, 4*numUnits}); - auto Wc = NDArrayFactory::create( {3*numUnits}); + auto Wc = NDArrayFactory::vector(3 * numUnits); auto Wp = NDArrayFactory::create( {numUnits, numProj}); - auto b = NDArrayFactory::create( {4*numUnits}); + auto b = NDArrayFactory::vector(4 * numUnits); xt.assign(1.); ht_1.assign(2.); From eb04bbd97eb9f33d196f72d0cecd5427c849106e Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 14:49:14 +0300 Subject: [PATCH 89/99] Corrected the first test file to adopt array factory create methods. Signed-off-by: shugeo --- .../layers_tests/DeclarableOpsTests1.cpp | 187 ++++++++++-------- 1 file changed, 105 insertions(+), 82 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp index c6d0da6a0a41..75501ee346b5 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp @@ -616,8 +616,9 @@ TEST_F(DeclarableOpsTests1, AddMatrices1) { y.assign(1.f); exp.assign(3.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -626,7 +627,7 @@ TEST_F(DeclarableOpsTests1, AddMatrices1) { addOp.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete block; delete variableSpace; @@ -643,8 +644,9 @@ TEST_F(DeclarableOpsTests1, AddVectorVector1) { y.assign(1); exp.assign(3); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -653,7 +655,7 @@ TEST_F(DeclarableOpsTests1, AddVectorVector1) { addOp.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete block; delete variableSpace; @@ -669,8 +671,9 @@ TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { y.assign(1); exp.assign(3); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -679,7 +682,7 @@ TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { addOp.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -695,8 +698,9 @@ TEST_F(DeclarableOpsTests1, AddScalarScalar1) { y.assign(1); exp.assign(3); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -705,7 +709,7 @@ TEST_F(DeclarableOpsTests1, AddScalarScalar1) { addOp.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -721,8 +725,9 @@ TEST_F(DeclarableOpsTests1, SubtractMatrices1) { y.assign(1); exp.assign(2); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -731,8 +736,7 @@ TEST_F(DeclarableOpsTests1, SubtractMatrices1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); - + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -748,8 +752,9 @@ TEST_F(DeclarableOpsTests1, SubtractTest_1) { y.assign(1.f); exp.assign(2.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -758,8 +763,7 @@ TEST_F(DeclarableOpsTests1, SubtractTest_1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); - + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -775,7 +779,6 @@ TEST_F(DeclarableOpsTests1, SubtractTest_2) { y.assign(1); exp.assign(2); - sd::ops::subtract subOp; auto res = subOp.evaluate({ &x, &y }); @@ -783,8 +786,6 @@ TEST_F(DeclarableOpsTests1, SubtractTest_2) { ASSERT_TRUE(res.status() == ND4J_STATUS_OK); ASSERT_TRUE(res.at(0)->equalsTo(&exp)); - - } TEST_F(DeclarableOpsTests1, TestRng1) { @@ -866,8 +867,9 @@ TEST_F(DeclarableOpsTests1, ClipByValue1) { exp.p(0, 0.f); exp.p(1, 2.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(1, new Variable()); auto block = new Context(1, variableSpace, true); block->getTArguments()->push_back(0.0f); @@ -878,7 +880,7 @@ TEST_F(DeclarableOpsTests1, ClipByValue1) { clip.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; @@ -930,8 +932,9 @@ TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { y.assign(1.f); exp.assign(2.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -940,7 +943,7 @@ TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete block; delete variableSpace; @@ -958,8 +961,9 @@ TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { y.assign(1); exp.assign(2); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -968,7 +972,7 @@ TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete block; delete variableSpace; @@ -985,8 +989,9 @@ TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { y.assign(1.f); exp.assign(2.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -995,7 +1000,7 @@ TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete block; delete variableSpace; @@ -1011,8 +1016,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrices1) { y.assign(1.f); exp.assign(-2.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1021,7 +1027,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrices1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1076,7 +1082,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractTest_2) { TEST_F(DeclarableOpsTests1, ReverseSubtractTest_3) { // auto x('c', {1, 6}); - auto x = NDArrayFactory::create({ 6 }); + auto x = NDArrayFactory::vector(6); auto y = NDArrayFactory::create({ 3, 4, 5, 1 }); auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); auto z(exp); @@ -1098,7 +1104,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractTest_3) { TEST_F(DeclarableOpsTests1, ReverseModTest_1) { // auto x('c', {1, 6}); - auto x = NDArrayFactory::create({ 6 }); + auto x = NDArrayFactory::vector(6); auto y = NDArrayFactory::create({ 3, 4, 5, 1 }); auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); auto z(exp); @@ -1156,8 +1162,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { y.assign(1.f); exp.assign(-2.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1166,7 +1173,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete variableSpace; delete block; @@ -1183,8 +1190,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { y.assign(1.f); exp.assign(-2.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1193,7 +1201,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete variableSpace; delete block; @@ -1210,8 +1218,9 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { y.assign(1); exp.assign(-2); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1220,7 +1229,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { subOp.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete variableSpace; delete block; @@ -1236,8 +1245,9 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { y.assign(3.f); exp.assign(6.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1246,7 +1256,7 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { mul.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete variableSpace; delete block; @@ -1262,8 +1272,9 @@ TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { y.assign(3); exp.assign(6); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1272,7 +1283,7 @@ TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { mul.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete variableSpace; delete block; @@ -1288,8 +1299,9 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { y.assign(3); exp.assign(6); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1298,7 +1310,7 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { mul.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete variableSpace; delete block; @@ -1314,8 +1326,9 @@ TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { y.assign(3); exp.assign(6); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1324,7 +1337,7 @@ TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { mul.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete block; delete variableSpace; @@ -1352,10 +1365,11 @@ TEST_F(DeclarableOpsTests1, TestSoftMax_bp_1) { exp.p(2, -0.019661194f); exp.p(3, 0.019661194f); + auto pOutput = new NDArray(output); auto variableSpace = new VariableSpace(); variableSpace->putVariable(-1, new NDArray(input)); variableSpace->putVariable(-2, new NDArray(epsilon)); - variableSpace->putVariable(1, new NDArray(output)); + variableSpace->putVariable(1, pOutput); //variableSpace->putVariable(42, new NDArray(exp)); auto block = new Context(1, variableSpace, false); @@ -1366,7 +1380,7 @@ TEST_F(DeclarableOpsTests1, TestSoftMax_bp_1) { Nd4jStatus status = op.execute(block); ASSERT_EQ(ND4J_STATUS_OK, status); - ASSERT_TRUE(output.equalsTo(exp)); + ASSERT_TRUE(pOutput->equalsTo(exp)); delete variableSpace; delete block; @@ -1415,9 +1429,9 @@ TEST_F(DeclarableOpsTests1, BroadcastDivideTest_2) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, BroadcastDivideTest_3) { - auto x = NDArrayFactory::create({ 6,6,6,6,6 }); - auto y = NDArrayFactory::create({ 3,3,0,3,3 }); - auto exp = NDArrayFactory::create({ 2, 2, 0, 2, 2 }); + auto x = NDArrayFactory::vector({ 6,6,6,6,6 }); + auto y = NDArrayFactory::vector({ 3,3,0,3,3 }); + auto exp = NDArrayFactory::vector({ 2, 2, 0, 2, 2 }); sd::ops::divide_no_nan div; auto res = div.evaluate({ &x, &y }); @@ -1431,9 +1445,9 @@ TEST_F(DeclarableOpsTests1, BroadcastDivideTest_3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, BroadcastReverseDivideTest_1) { - auto x = NDArrayFactory::create({ 3, 4, 5, 1 }); - auto y = NDArrayFactory::create({ 1, 6 }); - auto exp = NDArrayFactory::create({ 3, 4, 5, 6 }); + auto x = NDArrayFactory::create( { 3, 4, 5, 1 }); + auto y = NDArrayFactory::create( { 1, 6 }); + auto exp = NDArrayFactory::create( { 3, 4, 5, 6 }); x.assign(3.f); y.assign(6.f); exp.assign(2.f); @@ -1464,8 +1478,9 @@ TEST_F(DeclarableOpsTests1, DivideMatrices1) { y.assign(2); exp.assign(3); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1474,7 +1489,7 @@ TEST_F(DeclarableOpsTests1, DivideMatrices1) { div.execute(block); - ASSERT_TRUE(x.equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete variableSpace; delete block; @@ -1490,8 +1505,9 @@ TEST_F(DeclarableOpsTests1, DivideVectorVector1) { y.assign(2); exp.assign(3); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1500,7 +1516,7 @@ TEST_F(DeclarableOpsTests1, DivideVectorVector1) { div.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1516,8 +1532,9 @@ TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { y.assign(2); exp.assign(3); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1526,7 +1543,7 @@ TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { div.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete block; delete variableSpace; @@ -1543,8 +1560,9 @@ TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { y.assign(2); exp.assign(3); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1553,7 +1571,7 @@ TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { div.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1569,8 +1587,9 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { y.assign(6); exp.assign(3); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1579,7 +1598,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { div.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1595,9 +1614,11 @@ TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { y.assign(6); exp.assign(3); + auto pX = new NDArray(x); + auto pY = new NDArray(y); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); - variableSpace->putVariable(-2, new NDArray(y)); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, pY); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1605,7 +1626,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { div.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1621,9 +1642,11 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { y.assign(6); exp.assign(3); + auto pX = new NDArray(x); + auto pY = new NDArray(y); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); - variableSpace->putVariable(-2, new NDArray(y)); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, pY); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1631,7 +1654,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { div.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1646,10 +1669,11 @@ TEST_F(DeclarableOpsTests1, ReverseDivideScalarScalar1) { x.assign(2); y.assign(6); exp.assign(3); - + auto pX = new NDArray(x); + auto pY = new NDArray(y); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, new NDArray(x)); - variableSpace->putVariable(-2, new NDArray(y)); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, pY); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1657,7 +1681,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideScalarScalar1) { div.execute(block); - ASSERT_TRUE(x.equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -2341,7 +2365,7 @@ TEST_F(DeclarableOpsTests1, sru_bi_bp_1) { auto input = NDArrayFactory::create({ N,bS,2 * K }); auto weights = NDArrayFactory::create({ 2 * K,6 * K }); - auto bias = NDArrayFactory::create({ 4 * K }); + auto bias = NDArrayFactory::vector(4 * K); auto init = NDArrayFactory::create({ bS,2 * K }); auto mask = NDArrayFactory::create({ bS,2 * K }); NDArray state('c', { N,bS,2 * K }, stateBuff); @@ -2352,7 +2376,7 @@ TEST_F(DeclarableOpsTests1, sru_bi_bp_1) { NDArray expGradX('c', { N,bS,2 * K }, expGradXBuff); NDArray expGradW('c', { N,2 * K,6 * K }, expGradWBuff); - auto expGradB = NDArrayFactory::create({ 4 * K }); + auto expGradB = NDArrayFactory::vector(4 * K); gradBias.reduceAlongDimension(reduce::Sum, expGradB, { 0 }); // [bS, 4K] -> [4K] NDArray expGradInit('c', { bS,2 * K }, expGradInitBuff); @@ -2384,7 +2408,7 @@ TEST_F(DeclarableOpsTests1, sru_bi_bp_1) { TEST_F(DeclarableOpsTests1, ArgMax1) { auto x = NDArrayFactory::create({ 3, 5 }); x.linspace(1); - auto exp = NDArrayFactory::create({ 3 }); + auto exp = NDArrayFactory::vector(3); exp.assign(4); sd::ops::argmax op; @@ -2401,11 +2425,10 @@ TEST_F(DeclarableOpsTests1, ArgMax1) { } - TEST_F(DeclarableOpsTests1, ArgMax2) { auto x = NDArrayFactory::create({ 3, 5 }); x.linspace(1); - auto exp = NDArrayFactory::create({ 5 }); + auto exp = NDArrayFactory::vector(5); exp.assign(2); sd::ops::argmax op; @@ -2427,7 +2450,7 @@ TEST_F(DeclarableOpsTests1, ArgMax3) { auto x = NDArrayFactory::create({ 3, 5 }); auto dim = NDArrayFactory::create({ 1, 1 }, { 0. }); x.linspace(1); - auto exp = NDArrayFactory::create({ 5 }); + auto exp = NDArrayFactory::vector(5); exp.assign(2); sd::ops::argmax op; @@ -2448,7 +2471,7 @@ TEST_F(DeclarableOpsTests1, ArgMax4) { auto x = NDArrayFactory::create({ 3, 5 }); auto dim = NDArrayFactory::create({ 1, 1 }, { 1 }); x.linspace(1); - auto exp = NDArrayFactory::create({ 3 }); + auto exp = NDArrayFactory::vector(3); exp.assign(4); sd::ops::argmax op; @@ -2513,7 +2536,7 @@ TEST_F(DeclarableOpsTests1, ArgMin1) { auto x = NDArrayFactory::create({ 3, 5 }); x.linspace(1); // auto exp('c', {3, 1}); - auto exp = NDArrayFactory::create({ 3 }); + auto exp = NDArrayFactory::vector(3); exp.assign(0.0f); sd::ops::argmin op; @@ -2702,7 +2725,7 @@ TEST_F(DeclarableOpsTests1, LRN1) { } TEST_F(DeclarableOpsTests1, Test_Range_Integer_1) { - auto exp = NDArrayFactory::create({ 4 }); + auto exp = NDArrayFactory::vector(4); exp.linspace(1); sd::ops::range op; @@ -2722,7 +2745,7 @@ TEST_F(DeclarableOpsTests1, Test_Range_Integer_1) { TEST_F(DeclarableOpsTests1, Test_Range_Integer_2) { - auto exp = NDArrayFactory::create({ 4 }); + auto exp = NDArrayFactory::vector(4); exp.linspace(1); auto start = NDArrayFactory::create({ 1, 1 }); @@ -2749,7 +2772,7 @@ TEST_F(DeclarableOpsTests1, Test_Range_Integer_2) { TEST_F(DeclarableOpsTests1, Test_Range_Integer_3) { - auto exp = NDArrayFactory::create({ 4 }); + auto exp = NDArrayFactory::vector(4); exp.linspace(1); sd::ops::range op; From 96ff7b50869a02072c0c08127ecd37e9534ba89a Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 16:41:26 +0300 Subject: [PATCH 90/99] Corrected tests to adopt refactored creators with array factory. Signed-off-by: shugeo --- libnd4j/include/graph/impl/FlatUtils.cpp | 2 +- libnd4j/include/graph/impl/GraphUtils.cpp | 2 +- .../layers_tests/BroadcastableOpsTests.cpp | 2 +- .../layers_tests/ConvolutionTests1.cpp | 12 +-- .../layers_tests/ConvolutionTests2.cpp | 4 +- .../layers_tests/DeclarableOpsTests13.cpp | 8 +- libnd4j/tests_cpu/layers_tests/EmptyTests.cpp | 12 +-- .../tests_cpu/layers_tests/FlatUtilsTests.cpp | 2 +- libnd4j/tests_cpu/layers_tests/GraphTests.cpp | 100 ++++++++++-------- 9 files changed, 79 insertions(+), 65 deletions(-) diff --git a/libnd4j/include/graph/impl/FlatUtils.cpp b/libnd4j/include/graph/impl/FlatUtils.cpp index b5b04f948434..f6d1f42067ec 100644 --- a/libnd4j/include/graph/impl/FlatUtils.cpp +++ b/libnd4j/include/graph/impl/FlatUtils.cpp @@ -90,7 +90,7 @@ namespace sd { delete[] newShape; // string order always 'c' auto stringV = NDArrayFactory::string(shapeVector, substrings); - return new NDArray(stringV); + return new NDArray(stringV.dup()); } diff --git a/libnd4j/include/graph/impl/GraphUtils.cpp b/libnd4j/include/graph/impl/GraphUtils.cpp index 15f674ce1c70..1ff06118c1ce 100644 --- a/libnd4j/include/graph/impl/GraphUtils.cpp +++ b/libnd4j/include/graph/impl/GraphUtils.cpp @@ -191,7 +191,7 @@ GraphUtils::runPreprocessor(char const* input, char const* output) { args.emplace_back(std::string("-I" OPENBLAS_PATH "/include")); #endif #ifdef FLATBUFFERS_PATH - args.emplace_back(std::string("-I" FLATBUFFERS_PATH "/include")); + args.emplace_back(std::string("-I" FLATBUFFERS_PATH "/flatbuffers")); #endif args.emplace_back(input); diff --git a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp index bf289f997f5a..6c3d6825bf30 100644 --- a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp @@ -840,7 +840,7 @@ TEST_F(BroadcastableOpsTests, test_bert_multiply_1) { TEST_F(BroadcastableOpsTests, test_bert_multiply_2) { auto x = NDArrayFactory::create({4, 128, 1}); - auto y = NDArrayFactory::create({768}); + auto y = NDArrayFactory::vector(768); auto z = NDArrayFactory::create({4, 128, 768}); auto e = NDArrayFactory::create({4, 128, 768}); diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp index 5df6f504435f..37f75d9f8f48 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp @@ -493,7 +493,7 @@ TYPED_TEST(TypedConvolutionTests1, sconv2d_3) { auto input = NDArrayFactory::create( {3, 3, 8, 8}); auto weightsD = NDArrayFactory::create( {1, 3, 1, 1}); auto weightsP = NDArrayFactory::create( {2, 3, 1, 1}); - auto bias = NDArrayFactory::create( {2}); + auto bias = NDArrayFactory::vector(2); auto output = NDArrayFactory::create( {3, 2, 8, 8}); output.assign(0.0); @@ -876,7 +876,7 @@ TEST_F(ConvolutionTests1, deconv2d_bp_3) { TYPED_TEST(TypedConvolutionTests1, Test_Conv1D_ff_1) { auto input = NDArrayFactory::create({2, 2, 6}); auto weights = NDArrayFactory::create({2, 2, 3}, {1,5,9,3,7,11,2,6,10,4,8,12}); - auto bias = NDArrayFactory::create({3}); + auto bias = NDArrayFactory::vector(3); auto expFF = NDArrayFactory::create({2, 3, 5}, {59.0f, 69.0f, 79.0f, 89.0f, 99.0f, 132.0f, 158.0f, 184.0f, 210.0f, 236.0f, 205.0f, 247.0f, 289.0f, 331.0f, 373.0f, 179.0f, 189.0f, 199.0f, 209.0f, 219.0f, 444.0f, 470.0f, 496.0f, 522.0f, 548.0f, 709.0f, 751.0f, 793.0f, 835.0f, 877.0f}); auto expEps = NDArrayFactory::create({2, 2, 6}, {130.0f, 293.0f, 326.0f, 359.0f, 392.0f, 220.0f, 166.0f, 371.0f, 416.0f, 461.0f, 506.0f, 280.0f, 355.0f, 788.0f, 821.0f, 854.0f, 887.0f, 490.0f, 481.0f, 1046.0f, 1091.0f, 1136.0f, 1181.0f, 640.0f}); auto expGW = NDArrayFactory::create({3, 2, 2}, {1415.0f, 1520.0f, 2045.0f, 2150.0f, 1865.0f, 2020.0f, 2795.0f, 2950.0f, 2315.0f, 2520.0f, 3545.0f, 3750.0f}); @@ -1849,7 +1849,7 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_test4) { auto input = NDArrayFactory::create({bS, iC, iD, iH, iW}); auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create({oC}); + auto bias = NDArrayFactory::vector(oC); auto expected = NDArrayFactory::create({2, 3, 2, 2, 2}); input = 2.; @@ -2139,7 +2139,7 @@ TYPED_TEST(TypedConvolutionTests1, pointwise_conv2d_test1) { auto input = NDArrayFactory::create( {bS, iH, iW, iC}); auto weights = NDArrayFactory::create( {1, 1, iC, oC}); - auto bias = NDArrayFactory::create( {oC}); + auto bias = NDArrayFactory::vector(oC); auto expOutput = NDArrayFactory::create( {bS, iH, iW, oC},{ 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, 7.0f, 5.4f, 6.2f, @@ -2564,7 +2564,7 @@ TEST_F(ConvolutionTests1, deconv2d_test3) { auto input = NDArrayFactory::create( {bS, iH, iW, iC}); auto weights = NDArrayFactory::create( {kH, kW, oC, iC}); - auto bias = NDArrayFactory::create( {oC}); + auto bias = NDArrayFactory::vector(oC); auto exp = NDArrayFactory::create( {bS, oH, oW, oC}, {-2.9f, -6.8f, -10.7f, -2.6f, -6.1f, -9.6f, -16.9f, -23.9f, -30.9f, -13.1f, -16.6f, -20.1f, -11.6f, -14.7f, -17.8f, -2.0f, -4.7f, -7.4f, -1.7f, -4.0f, -6.3f, -11.5f, -16.1f, -20.7f, -8.6f, -10.9f, -13.2f, -7.1f, -9.0f, -10.9f, -27.4f, -32.8f, -38.2f, -24.4f, -29.0f, -33.6f, -65.0f, -74.2f, -83.4f, -38.2f, -42.8f, -47.4f, @@ -2684,7 +2684,7 @@ TEST_F(ConvolutionTests1, deconv2d_test7) { auto input = NDArrayFactory::create( {3, 3, 4, 4}); auto weights = NDArrayFactory::create({1, 1, 2, 3}, {1,3,5,2,4,6}); - auto bias = NDArrayFactory::create( {2}); + auto bias = NDArrayFactory::vector(2); input.linspace(1); bias.linspace(1); diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp index 4636d69d3672..c33f16e79005 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp @@ -561,7 +561,7 @@ TEST_F(ConvolutionTests2, deconv3d_test5) { auto input = NDArrayFactory::create({bS, iD, iH, iW, iC}); auto weights = NDArrayFactory::create({kD, kH, kW, oC, iC}); - auto bias = NDArrayFactory::create({oC}); + auto bias = NDArrayFactory::vector(oC); auto exp = NDArrayFactory::create({bS, oD, oH, oW, oC}, {-2.9f, -6.8f, -10.7f, -2.6f, -6.1f, -9.6f, -16.9f, -23.9f, -30.9f, -13.1f, -16.6f, -20.1f, -11.6f, -14.7f, -17.8f, -2.0f, -4.7f, -7.4f, -1.7f, -4.0f, -6.3f, -11.5f, -16.1f, -20.7f, -8.6f, -10.9f, -13.2f, -7.1f, -9.0f, -10.9f, -27.4f, -32.8f, -38.2f, -24.4f, -29.0f, -33.6f, -65.0f, -74.2f, -83.4f, -38.2f, -42.8f, -47.4f, -32.8f, @@ -673,7 +673,7 @@ TEST_F(ConvolutionTests2, deconv3d_bp_test1) { auto input = NDArrayFactory::create({bS, oD, oH, oW, oC}); auto weights = NDArrayFactory::create({kD, kH, kW, iC, oC}); - auto bias = NDArrayFactory::create({iC}); + auto bias = NDArrayFactory::vector(iC); auto gradO = NDArrayFactory::create({bS, iD, iH, iW, iC}); NDArray expGradI('c', {bS, oD, oH, oW, oC}, {62., 67.6, 68.4, 74.8, 81.2, 89.2, 87.6, 96.4, 119.6, 132.4, 126., 139.6, 138.8, 154., 145.2, 161.2}, sd::DataType::FLOAT32); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp index 86805ecc2e6d..edfd10f243a3 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp @@ -2097,10 +2097,10 @@ TEST_F(DeclarableOpsTests13, batchnorm_test1) { TYPED_TEST(TypedDeclarableOpsTests13, batchnorm_test2) { auto input = NDArrayFactory::create({2,3,4}); - auto mean = NDArrayFactory::create({4}); - auto variance = NDArrayFactory::create({4}); - auto gamma = NDArrayFactory::create({4}); - auto beta = NDArrayFactory::create({4}); + auto mean = NDArrayFactory::vector(4); + auto variance = NDArrayFactory::vector(4); + auto gamma = NDArrayFactory::vector(4); + auto beta = NDArrayFactory::vector(4); auto expected = NDArrayFactory::create({2,3,4}, {-0.52733537f, -0.35763144f, -0.18792751f, -0.01822358f, 0.15148035f, 0.32118428f, 0.49088821f, 0.66059214f, 0.83029607f, 1.f, 1.16970393f, 1.33940786f, 1.50911179f, 1.67881572f, 1.84851965f, 2.01822358f, 2.18792751f, 2.35763144f, 2.52733537f, 2.6970393f, 2.86674323f, 3.03644717f, 3.2061511f, 3.37585503f}); diff --git a/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp b/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp index d5176f080e40..6136d027fc86 100644 --- a/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp @@ -139,9 +139,9 @@ TEST_F(EmptyTests, Test_dup_2) { } TEST_F(EmptyTests, test_empty_scatter_1) { - auto x = NDArrayFactory::create( {5}); - auto indices = NDArrayFactory::create( {0}); - auto updates = NDArrayFactory::create( {0}); + auto x = NDArrayFactory::vector(5); + auto indices = NDArrayFactory::create(std::vector{0}); + auto updates = NDArrayFactory::create(std::vector{0}); x.linspace(1.0f); @@ -157,8 +157,8 @@ TEST_F(EmptyTests, test_empty_scatter_1) { TEST_F(EmptyTests, test_empty_scatter_2) { NDArray x ('c', {5}, sd::DataType::FLOAT32); NDArray z ('c', {5}, sd::DataType::FLOAT32); - auto indices = NDArrayFactory::create( {0}); - auto updates = NDArrayFactory::create( {0}); + auto indices = NDArrayFactory::create(std::vector{0}); + auto updates = NDArrayFactory::create(std::vector{0}); x.linspace(1.0f); @@ -193,7 +193,7 @@ TEST_F(EmptyTests, test_shaped_empty_2) { } TEST_F(EmptyTests, test_shaped_empty_3) { - auto empty = NDArrayFactory::create( {0}); + auto empty = NDArrayFactory::create(std::vector{0}); std::vector shape = {0}; ASSERT_EQ(sd::DataType::FLOAT32, empty.dataType()); diff --git a/libnd4j/tests_cpu/layers_tests/FlatUtilsTests.cpp b/libnd4j/tests_cpu/layers_tests/FlatUtilsTests.cpp index d5c9107a9646..926e5e55c809 100644 --- a/libnd4j/tests_cpu/layers_tests/FlatUtilsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/FlatUtilsTests.cpp @@ -83,7 +83,7 @@ TEST_F(FlatUtilsTests, flat_bool_serde_1) { } TEST_F(FlatUtilsTests, flat_string_serde_1) { - auto array = NDArrayFactory::string( {3}, {std::string("alpha"), std::string("beta"), std::string("gamma")}); + auto array = NDArrayFactory::string( std::vector{3LL}, std::vector{"alpha", "beta", "gamma"}); flatbuffers::FlatBufferBuilder builder(1024); auto flatArray = FlatUtils::toFlatArray(builder, array); diff --git a/libnd4j/tests_cpu/layers_tests/GraphTests.cpp b/libnd4j/tests_cpu/layers_tests/GraphTests.cpp index 55f60be9b7ed..09193f5c64d8 100644 --- a/libnd4j/tests_cpu/layers_tests/GraphTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/GraphTests.cpp @@ -84,10 +84,10 @@ TEST_F(GraphTests, DoubleInput1) { y.assign(-1.0); auto z = NDArrayFactory::create( {5, 5}); - + auto pZ = new NDArray(z); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); graph->getVariableSpace()->putVariable(-2, new NDArray(y)); - graph->getVariableSpace()->putVariable(-3, new NDArray(z)); + graph->getVariableSpace()->putVariable(-3, pZ); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {3}); auto nodeB = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {-2}, {3}); @@ -102,7 +102,7 @@ TEST_F(GraphTests, DoubleInput1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(3.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(3.0, pZ->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -116,9 +116,11 @@ TEST_F(GraphTests, SingleInput3) { auto v0 = NDArrayFactory::create( {5, 5}); auto v1 = NDArrayFactory::create( {5, 5}); + auto pV0 = new NDArray(v0); + auto pV1 = new NDArray(v1); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); - graph->getVariableSpace()->putVariable(-2, new NDArray(v0)); - graph->getVariableSpace()->putVariable(-3, new NDArray(v1)); + graph->getVariableSpace()->putVariable(-2, pV0); + graph->getVariableSpace()->putVariable(-3, pV1); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2, 3}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {-2}); @@ -133,8 +135,8 @@ TEST_F(GraphTests, SingleInput3) { GraphExecutioner::execute(graph); - ASSERT_NEAR(1.4142135, v0.reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(1.0, v1.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(1.4142135, pV0->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(1.0, pV1->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -148,9 +150,11 @@ TEST_F(GraphTests, SingleInput4) { auto v0 = NDArrayFactory::create( {5, 5}); auto v1 = NDArrayFactory::create( {5, 5}); + auto pV0 = new NDArray(v0); + auto pV1 = new NDArray(v1); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); - graph->getVariableSpace()->putVariable(-2, new NDArray(v0)); - graph->getVariableSpace()->putVariable(-3, new NDArray(v1)); + graph->getVariableSpace()->putVariable(-2, pV0); + graph->getVariableSpace()->putVariable(-3, pV1); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {3}); @@ -170,8 +174,8 @@ TEST_F(GraphTests, SingleInput4) { GraphExecutioner::execute(graph); - ASSERT_NEAR(1.0, v0.reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(-1.4142135, v1.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(1.0, pV0->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.4142135, pV1->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -189,10 +193,12 @@ TEST_F(GraphTests, DoubleInput2) { auto z0 = NDArrayFactory::create( {5, 5}); auto z1 = NDArrayFactory::create( {5, 5}); + auto pZ0 = new NDArray(z0); + auto pZ1 = new NDArray(z1); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); graph->getVariableSpace()->putVariable(-2, new NDArray(y)); - graph->getVariableSpace()->putVariable(-3, new NDArray(z0)); - graph->getVariableSpace()->putVariable(-4, new NDArray(z1)); + graph->getVariableSpace()->putVariable(-3, pZ0); + graph->getVariableSpace()->putVariable(-4, pZ1); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); @@ -215,8 +221,8 @@ TEST_F(GraphTests, DoubleInput2) { GraphExecutioner::execute(graph); - ASSERT_NEAR(-1.4142135, z0.reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(-1.0, z1.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.4142135, pZ0->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.0, pZ1->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -236,11 +242,14 @@ TEST_F(GraphTests, DoubleInput3) { auto w = NDArrayFactory::create( {5, 5}); + auto pZ0 = new NDArray(z0); + auto pZ1 = new NDArray(z1); + auto pW = new NDArray(w); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); graph->getVariableSpace()->putVariable(-2, new NDArray(y)); - graph->getVariableSpace()->putVariable(-3, new NDArray(z0)); - graph->getVariableSpace()->putVariable(-4, new NDArray(z1)); - graph->getVariableSpace()->putVariable(-5, new NDArray(w)); + graph->getVariableSpace()->putVariable(-3, pZ0); + graph->getVariableSpace()->putVariable(-4, pZ1); + graph->getVariableSpace()->putVariable(-5, pW); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {3}); @@ -267,10 +276,10 @@ TEST_F(GraphTests, DoubleInput3) { GraphExecutioner::execute(graph); - ASSERT_NEAR(-1.4142135, z0.reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(-1.0, z1.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.4142135, pZ0->reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(-1.0, pZ1->reduceNumber(reduce::Mean).e(0), 1e-5); - ASSERT_NEAR(2.4142135, w.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(2.4142135, pW->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -294,11 +303,13 @@ TEST_F(GraphTests, QuadInput1) { auto z = NDArrayFactory::create( {5, 5}); z.assign(119.0); + auto pZ = new NDArray(z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x0)); graph->getVariableSpace()->putVariable(-2, new NDArray(x1)); graph->getVariableSpace()->putVariable(-3, new NDArray(x2)); graph->getVariableSpace()->putVariable(-4, new NDArray(x3)); - graph->getVariableSpace()->putVariable(-5, new NDArray(z)); + graph->getVariableSpace()->putVariable(-5, pZ); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {11}); auto nodeB = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {-2}, {11}); @@ -323,7 +334,7 @@ TEST_F(GraphTests, QuadInput1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(6.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(6.0, pZ->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -335,9 +346,9 @@ TEST_F(GraphTests, InternalBranching1) { x.assign(0.0); auto z = NDArrayFactory::create( {5, 5}); - + auto pZ = new NDArray(z); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); - graph->getVariableSpace()->putVariable(-2, new NDArray(z)); + graph->getVariableSpace()->putVariable(-2, pZ); // 1.0 auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Ones, 1, {-1}, {11, 21}); @@ -371,7 +382,7 @@ TEST_F(GraphTests, InternalBranching1) { ASSERT_EQ(3, nodeZ->getLayer()); - ASSERT_NEAR(3.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(3.0, pZ->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -387,10 +398,10 @@ TEST_F(GraphTests, ReductionsTest1) { } } - auto z = NDArrayFactory::create( {5}); - + auto z = NDArrayFactory::vector(5); + auto pZ = new NDArray(z); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); - graph->getVariableSpace()->putVariable(-2, new NDArray(z)); + graph->getVariableSpace()->putVariable(-2, pZ); // sd::graph::Node::Node(OpType opType, int opNum, int id, std::initializer_list input, std::initializer_list output, std::initializer_list dimensions, float scalar, std::initializer_list tArgs, std::initializer_list iArgs) { @@ -405,7 +416,7 @@ TEST_F(GraphTests, ReductionsTest1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(2.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(2.0, pZ->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -423,11 +434,12 @@ TEST_F(GraphTests, IndexReductionsTest1) { auto z = NDArrayFactory::create( {5, 1}); auto axis = NDArrayFactory::create( {1}, {1}); + auto pZ = new NDArray(z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); - graph->getVariableSpace()->putVariable(-2, new NDArray(z)); + graph->getVariableSpace()->putVariable(-2, pZ); //graph->getVariableSpace()->putVariable(-3, axis); - auto nodeA = new Node(OpType_INDEX_REDUCE, indexreduce::IndexMin, 1, {-1}, {2}, {1}); auto nodeB = new Node(OpType_TRANSFORM_SAME, transform::Abs, 2, {1}, {-2}); @@ -439,7 +451,7 @@ TEST_F(GraphTests, IndexReductionsTest1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(4.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(4.0, pZ->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -531,10 +543,11 @@ TEST_F(GraphTests, BroadcastTest1) { } auto z = NDArrayFactory::create( {5, 5}); + auto pZ = new NDArray(z); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); graph->getVariableSpace()->putVariable(-2, new NDArray(y)); - graph->getVariableSpace()->putVariable(-3, new NDArray(z)); + graph->getVariableSpace()->putVariable(-3, pZ); auto nodeA = new Node(OpType_BROADCAST, broadcast::Subtract, 1, {-1, -2}, {2}, {1}); auto nodeB = new Node(OpType_TRANSFORM_SAME, transform::Neg, 2, {1}, {-3}); @@ -544,7 +557,7 @@ TEST_F(GraphTests, BroadcastTest1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(3.0, z.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(3.0, pZ->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -557,9 +570,10 @@ TEST_F(GraphTests, ScalarTest1) { x.assign(-2.0); auto z = NDArrayFactory::create( {5, 5}); + auto pZ = new NDArray(z); graph->getVariableSpace()->putVariable(-1, new NDArray(x)); - graph->getVariableSpace()->putVariable(-2, new NDArray(z)); + graph->getVariableSpace()->putVariable(-2, pZ); auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Abs, 1, {-1}, {2}); auto nodeB = new Node(OpType_TRANSFORM_FLOAT, transform::Sqrt, 2, {1}, {3}); @@ -574,7 +588,7 @@ TEST_F(GraphTests, ScalarTest1) { GraphExecutioner::execute(graph); - ASSERT_NEAR(2.714213, z.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(2.714213, pZ->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -586,9 +600,10 @@ TEST_F(GraphTests, SymbolicLookupTest1) { x.assign(-2.0); auto z = NDArrayFactory::create( {5, 5}); + auto pZ = new NDArray(z); auto vX = new Variable(new NDArray(x)); - auto vZ = new Variable(new NDArray(z)); + auto vZ = new Variable(pZ); std::string a("alpha"); std::string o("omega"); @@ -630,7 +645,7 @@ TEST_F(GraphTests, SymbolicLookupTest1) { ASSERT_TRUE(graph->getVariableSpace()->hasVariable(&p)); ASSERT_TRUE(graph->getVariableSpace()->hasVariable(&t)); - ASSERT_NEAR(1.4142135, z.reduceNumber(reduce::Mean).e(0), 1e-5); + ASSERT_NEAR(1.4142135, pZ->reduceNumber(reduce::Mean).e(0), 1e-5); delete graph; } @@ -1597,11 +1612,11 @@ TEST_F(GraphTests, Test_Inplace_Outputs_2) { #endif } -/* + TEST_F(GraphTests, Test_Minifier_1) { // run preprocessor to produce single header // if all ok - return value is 0, if error - non-zero value will be returned - std::string input("../include/ops/ops.h"); //declarable/CustomOperations.h"); + std::string input("../include/memory/Workspace.h"); //declarable/CustomOperations.h"); ASSERT_EQ(0, GraphUtils::runPreprocessor(input.c_str(), "libnd4j_mini.hpp")); // remove file from filesystem @@ -1609,13 +1624,12 @@ TEST_F(GraphTests, Test_Minifier_1) { ASSERT_EQ(0, unlink("libnd4j_mini.hpp")); #endif } -*/ TEST_F(GraphTests, Test_Minifier_2) { // run preprocessor to produce single header // if all ok - return value is 0, if error - non-zero value will be returned - ASSERT_EQ(0, GraphUtils::runPreprocessor("../include/ops/specials.h", "libnd4j_mini2.hpp")); + ASSERT_EQ(0, GraphUtils::runPreprocessor("../include/memory/Workspace.h", "libnd4j_mini2.hpp")); // remove file from filesystem #ifdef __linux__ ASSERT_EQ(0, unlink("libnd4j_mini2.hpp")); From e3a9a072118ad1102ebb6f721485978624136f12 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 16:54:34 +0300 Subject: [PATCH 91/99] Corrected tests to adopt new array factory creators. Signed-off-by: shugeo --- .../tests_cpu/layers_tests/HelpersTests1.cpp | 6 ++--- .../tests_cpu/layers_tests/IndexingTests.cpp | 2 +- .../layers_tests/JavaInteropTests.cpp | 10 ++++---- .../tests_cpu/layers_tests/LegacyOpsTests.cpp | 6 ++--- .../tests_cpu/layers_tests/NDArrayTests.cpp | 2 +- .../tests_cpu/layers_tests/NativeOpsTests.cpp | 2 +- libnd4j/tests_cpu/layers_tests/NlpTests.cpp | 24 +++++++++---------- 7 files changed, 26 insertions(+), 26 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp b/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp index 5c2e60a6b465..98c1d16b0594 100644 --- a/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp @@ -78,7 +78,7 @@ class HelpersTests1 : public testing::Test { TEST_F(HelpersTests1, evalHHmatrixData_test1) { auto x = NDArrayFactory::create( {4}, {14,17,3,1}); - auto tail = NDArrayFactory::create( {3}); + auto tail = NDArrayFactory::vector(3); auto expTail = NDArrayFactory::create( {3}, {0.468984, 0.0827618, 0.0275873}); const double normXExpected = -22.2486; const double coeffExpected = 1.62925; @@ -1916,7 +1916,7 @@ TEST_F(HelpersTests1, softMaxForVector_test2) { TEST_F(HelpersTests1, softMaxForVector_test3) { auto input= NDArrayFactory::create( {5}, {1,2,3,4,5}); - auto output = NDArrayFactory::create( {5}); + auto output = NDArrayFactory::vector(5); auto expOutput = NDArrayFactory::create( {5}, {0.01165623, 0.03168492, 0.08612854, 0.23412166, 0.63640865}); ops::helpers::softmax(sd::LaunchContext ::defaultContext(), input, output, 0); @@ -1986,7 +1986,7 @@ TEST_F(HelpersTests1, logSoftMaxForVector_test2) { TEST_F(HelpersTests1, logSoftMaxForVector_test3) { auto input= NDArrayFactory::create( {5}, {1,2,3,4,5}); - auto output = NDArrayFactory::create( {5}); + auto output = NDArrayFactory::vector(5); auto expOutput = NDArrayFactory::create( {5}, {-4.4519144, -3.4519144, -2.4519144, -1.4519144, -0.4519144}); ops::helpers::logSoftmax(sd::LaunchContext ::defaultContext(), input, output, 0); diff --git a/libnd4j/tests_cpu/layers_tests/IndexingTests.cpp b/libnd4j/tests_cpu/layers_tests/IndexingTests.cpp index e65ee4dcb6a6..da66ced58c60 100644 --- a/libnd4j/tests_cpu/layers_tests/IndexingTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/IndexingTests.cpp @@ -248,7 +248,7 @@ TEST_F(IndexingTests, MaskedSlice_1) { tads.at(e)->assign((float) (e+1)); } - auto exp = NDArrayFactory::create( {5}); + auto exp = NDArrayFactory::vector(5); exp.assign(2.0f); sd::ops::strided_slice op; diff --git a/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp b/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp index ffabf3449528..a3ba901d7a29 100644 --- a/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp @@ -125,7 +125,7 @@ TEST_F(JavaInteropTests, TestShapeExposure3) { TEST_F(JavaInteropTests, Test_Squeeze_1) { auto x = NDArrayFactory::create( {1, 6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create( {6}); + auto z = NDArrayFactory::vector(6); auto e = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); sd::ops::squeeze op; @@ -144,7 +144,7 @@ TEST_F(JavaInteropTests, Test_Squeeze_1) { TEST_F(JavaInteropTests, Test_RDiv_1) { auto x = NDArrayFactory::create( {3}, {2, 2, 2}); auto y = NDArrayFactory::create( {3}, {4, 6, 8}); - auto z = NDArrayFactory::create( {3}); + auto z = NDArrayFactory::vector(3); auto e = NDArrayFactory::create( {3}, {2, 3, 4}); NDArray::prepareSpecialUse({&z}, {&x, &y}); @@ -169,7 +169,7 @@ TEST_F(JavaInteropTests, TestSconv2d_1) { auto input = NDArrayFactory::create( {3, 3, 8, 8}); auto weightsD = NDArrayFactory::create( {1, 3, 1, 1}); auto weightsP = NDArrayFactory::create( {2, 3, 1, 1}); - auto bias = NDArrayFactory::create( {2}); + auto bias = NDArrayFactory::vector(2); auto output = NDArrayFactory::create( {3, 2, 8, 8}); output.assign(0.0); @@ -1200,7 +1200,7 @@ TEST_F(JavaInteropTests, Test_Fastpath_6) { TEST_F(JavaInteropTests, Test_Fastpath_7) { auto a = NDArrayFactory::create( {2}, {1.f, 2.f}); auto b = NDArrayFactory::create(3.f); - auto z = NDArrayFactory::create( {3}); + auto z = NDArrayFactory::vector(3); auto e = NDArrayFactory::create( {3}, {1.f, 2.f, 3.f}); NDArray::prepareSpecialUse({&z}, {&a, &b}); @@ -1283,7 +1283,7 @@ TEST_F(JavaInteropTests, test_expandable_array_op_1) { auto x = NDArrayFactory::string( {2}, std::vector{"first string", "second"}); auto d = NDArrayFactory::string(" ", sd::DataType::UTF8); - auto z0 = NDArrayFactory::create( {6}); + auto z0 = NDArrayFactory::vector(6); auto z1 = NDArrayFactory::string( {3}, std::vector{"", "", ""}); auto exp0 = NDArrayFactory::vector({0,0, 0,1, 1,0}); diff --git a/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp index 6e614431bd97..5d690b6c9bfb 100644 --- a/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp @@ -453,8 +453,8 @@ TEST_F(LegacyOpsTests, reduce3_1) { TEST_F(LegacyOpsTests, Reduce3_2) { auto x = NDArrayFactory::create( {5, 5}); - auto y = NDArrayFactory::create( {5}); - auto z = NDArrayFactory::create( {5}); + auto y = NDArrayFactory::vector(5); + auto z = NDArrayFactory::vector(5); auto dim = NDArrayFactory::create( {1}, {1}); dim.syncToHost(); @@ -494,7 +494,7 @@ TEST_F(LegacyOpsTests, Reduce3_3) { auto y = NDArrayFactory::create( {5}, {-0.99536740779, -0.0257304441183, -0.6512106060, -0.345789492130, -1.25485503673}); auto e = NDArrayFactory::create( {3}, {0.577452, 0.0, 1.80182}); - auto z = NDArrayFactory::create( {3}); + auto z = NDArrayFactory::vector(3); auto dim = NDArrayFactory::create( {1}, {1}); dim.syncToHost(); diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp b/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp index 2651a3aa112f..9b6757f5e31f 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/NDArrayTests.cpp @@ -1677,7 +1677,7 @@ TEST_F(NDArrayTest, TestVarianceAlongDimension3) { NDArray x = NDArrayFactory::create( {10, 10});//(xBuff, xShapeInfo); - NDArray exp = NDArrayFactory::create( {10});//(expBuff, expShapeInfo); + NDArray exp = NDArrayFactory::vector(10);//(expBuff, expShapeInfo); x.linspace(1); // 1, 2, 3, ..., 100 exp.assign(825.f); auto result = x.varianceAlongDimension(variance::SummaryStatsVariance, false, {0}); diff --git a/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp index 7a5bee9e6d26..e3a578814774 100644 --- a/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp @@ -1488,7 +1488,7 @@ TEST_F(NativeOpsTests, MapTests_1) { TEST_F(NativeOpsTests, CustomOpTest_1) { auto x = NDArrayFactory::create( {1, 6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); - auto z = NDArrayFactory::create( {6}); + auto z = NDArrayFactory::vector(6); auto e = NDArrayFactory::create( {6}, {1.f, 2.f, 3.f, 4.f, 5.f, 6.f}); sd::ops::squeeze op; diff --git a/libnd4j/tests_cpu/layers_tests/NlpTests.cpp b/libnd4j/tests_cpu/layers_tests/NlpTests.cpp index 16da5d57f8c1..aa63e5d2bbe9 100644 --- a/libnd4j/tests_cpu/layers_tests/NlpTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/NlpTests.cpp @@ -48,13 +48,13 @@ TEST_F(NlpTests, basic_sg_hs_test_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); auto indices = NDArrayFactory::create( {1}, {1}); - auto codes = NDArrayFactory::create( {1}); + auto codes = NDArrayFactory::vector(1); auto syn0 = NDArrayFactory::create( {100, 10}); auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create( {10000}); + auto expTable = NDArrayFactory::vector(10000); auto negTable = NDArrayFactory::empty(); - auto neu1e = NDArrayFactory::create( {10}); + auto neu1e = NDArrayFactory::vector(10); syn0.assign(0.01); syn1.assign(0.02); @@ -246,13 +246,13 @@ TEST_F(NlpTests, basic_cb_hs_test_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::empty(); auto context = NDArrayFactory::create( {3}, {0, 1, 2}); - auto locked = NDArrayFactory::create( {3}); + auto locked = NDArrayFactory::vector(3); auto indices = NDArrayFactory::create( {2}, {4, 5}); auto codes = NDArrayFactory::create( {2}, {1, 1}); auto syn0 = NDArrayFactory::create( {100, 10}); auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create( {10000}); + auto expTable = NDArrayFactory::vector(10000); auto negTable = NDArrayFactory::empty(); auto numWords = NDArrayFactory::create( {1}, {1}); @@ -299,14 +299,14 @@ TEST_F(NlpTests, basic_cb_ns_test_1) { auto target = NDArrayFactory::create(0); auto ngStarter = NDArrayFactory::create(6); auto context = NDArrayFactory::create( {3}, {0, 1, 2}); - auto locked = NDArrayFactory::create( {3}); + auto locked = NDArrayFactory::vector(3); auto indices = NDArrayFactory::empty(); auto codes = NDArrayFactory::empty(); auto syn0 = NDArrayFactory::create( {100, 10}); auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::create( {100, 10}); - auto expTable = NDArrayFactory::create( {10000}); - auto negTable = NDArrayFactory::create( {100000}); + auto expTable = NDArrayFactory::vector(10000); + auto negTable = NDArrayFactory::vector(100000); auto numWords = NDArrayFactory::create( {2}, {1, 2}); syn0.assign(0.01); @@ -355,7 +355,7 @@ TEST_F(NlpTests, test_sg_hs_batch_1) { auto syn0 = NDArrayFactory::create( {100, 10}); auto syn1 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create( {10000}); + auto expTable = NDArrayFactory::vector(10000); auto negTable = NDArrayFactory::empty(); auto alpha = NDArrayFactory::create( {2}, {0.001, 0.024}); @@ -398,8 +398,8 @@ TEST_F(NlpTests, test_sg_ns_batch_1) { auto syn0 = NDArrayFactory::create( {100, 10}); auto syn1Neg = NDArrayFactory::create( {100, 10}); auto syn1 = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create( {10000}); - auto negTable = NDArrayFactory::create( {100000}); + auto expTable = NDArrayFactory::vector(10000); + auto negTable = NDArrayFactory::vector(100000); auto alpha = NDArrayFactory::create( {2}, {0.001, 0.024}); auto randomValue = NDArrayFactory::create( {2}, {1L, 3L}); @@ -432,7 +432,7 @@ TEST_F(NlpTests, test_cbow_hs_batch_1) { auto syn0 = NDArrayFactory::create( {244, 10}); auto syn1 = NDArrayFactory::create( {244, 10}); auto syn1Neg = NDArrayFactory::empty(); - auto expTable = NDArrayFactory::create( {10000}); + auto expTable = NDArrayFactory::vector(10000); auto negTable = NDArrayFactory::empty(); auto numWords = NDArrayFactory::create( {2}, {1, 2}); From 69952628ca164afaa5967e4c25526aef317b99b8 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 17:23:05 +0300 Subject: [PATCH 92/99] Corrected rest tests to adopt new array factory create methods. Signed-off-by: shugeo --- libnd4j/include/graph/impl/FlatUtils.cpp | 4 ++-- libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp | 10 +++++----- libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp | 6 +++--- libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp | 2 +- libnd4j/tests_cpu/layers_tests/RNGTests.cpp | 6 +++--- libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/libnd4j/include/graph/impl/FlatUtils.cpp b/libnd4j/include/graph/impl/FlatUtils.cpp index f6d1f42067ec..25576bc21d2f 100644 --- a/libnd4j/include/graph/impl/FlatUtils.cpp +++ b/libnd4j/include/graph/impl/FlatUtils.cpp @@ -47,8 +47,8 @@ namespace sd { // empty arrays is special case, nothing to restore here if (shape::isEmpty(newShape)) { delete[] newShape; - auto empty = NDArrayFactory::empty(dtype, nullptr); - return new NDArray(empty); + auto empty = NDArrayFactory::empty(dtype); + return new NDArray(empty.dup()); } // TODO fix UTF16 and UTF32 if (dtype == UTF8) { diff --git a/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp b/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp index fb3d82269be7..6f5eb8750725 100644 --- a/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ListOperationsTests.cpp @@ -56,7 +56,7 @@ TEST_F(ListOperationsTests, BasicTest_Stack_1) { auto exp = NDArrayFactory::create( {10, 100}); auto tads = exp.allTensorsAlongDimension({1}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create( {100}); + auto row = NDArrayFactory::vector(100); row.assign((double) e); list.write(e, new NDArray(row)); tads.at(e)->assign(row); @@ -172,7 +172,7 @@ TEST_F(ListOperationsTests, BasicTest_Pick_1) { auto exp = NDArrayFactory::create( {4, 100}); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create( {100}); + auto row = NDArrayFactory::vector(100); row.assign((double) e); list.write(e, new NDArray(row)); } @@ -244,7 +244,7 @@ TEST_F(ListOperationsTests, BasicTest_Split_1) { auto matrix = NDArrayFactory::create( {10, 5}); - auto lengths = NDArrayFactory::create( {3}); + auto lengths = NDArrayFactory::vector(3); lengths.p(0, 2); lengths.p(1, 3); lengths.p(2, 5); @@ -259,7 +259,7 @@ TEST_F(ListOperationsTests, BasicTest_Split_1) { int cnt1 = 0; int cnt2 = 0; for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create( {5}); + auto row = NDArrayFactory::vector(5); row.assign((double) e); tads.at(e)->assign(row); @@ -353,7 +353,7 @@ TEST_F(ListOperationsTests, BasicTest_Clone_1) { TEST_F(ListOperationsTests, BasicTest_Gather_1) { NDArrayList list(0, true); for (int e = 0; e < 10; e++) { - auto row = NDArrayFactory::create( {3}); + auto row = NDArrayFactory::vector(3); row.assign((double) e); list.write(e, new NDArray(row)); } diff --git a/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp b/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp index ae099b3db293..c058e48a6a79 100644 --- a/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/OpTupleTests.cpp @@ -32,7 +32,7 @@ class OpTupleTests : public testing::Test { TEST_F(OpTupleTests, DirectConstructorTest1) { auto alpha = NDArrayFactory::create( {1, 2}); auto beta = NDArrayFactory::create( {1, 2}); - OpTuple tuple("dummy", {&alpha, &beta}, {12.0f}, {1, 2, 3}); + OpTuple tuple("dummy", {new NDArray(alpha), new NDArray(beta)}, {12.0f}, {1, 2, 3}); ASSERT_EQ("dummy", tuple._opName); ASSERT_EQ(2, tuple._inputs.size()); @@ -45,8 +45,8 @@ TEST_F(OpTupleTests, BuilderTest1) { auto alpha = NDArrayFactory::create( {1, 2}); auto beta = NDArrayFactory::create( {1, 2}); OpTuple tuple("dummy"); - tuple.addInput(&alpha) - ->addInput(&beta) + tuple.addInput(new NDArray(alpha)) + ->addInput(new NDArray(beta)) ->setTArgs({12.0f}) ->setIArgs({1, 2, 3}); diff --git a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp index 8091cde8ec98..0886075b20f8 100644 --- a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp @@ -69,7 +69,7 @@ TEST_F(PlaygroundTests, test_avx) { TEST_F(PlaygroundTests, test_biasAdd_1) { auto x = NDArrayFactory::create( {512, 3072}); - auto y = NDArrayFactory::create( {3072}); + auto y = NDArrayFactory::vector(3072); std::vector values; diff --git a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp index 32dc072cd040..d56049692656 100644 --- a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp @@ -311,7 +311,7 @@ TEST_F(RNGTests, Test_Gaussian_22) { } TEST_F(RNGTests, Test_Gaussian_3) { - auto x0 = NDArrayFactory::create( {800000}); + auto x0 = NDArrayFactory::vector(800000); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngA, &x0, 0.0, 1.0); @@ -961,7 +961,7 @@ TEST_F(RNGTests, Test_UniformDistribution_04) { auto x = NDArrayFactory::create( {1}, {10}); auto al = NDArrayFactory::create(1); auto be = NDArrayFactory::create(20); - auto exp0 = NDArrayFactory::create( {10}); + auto exp0 = NDArrayFactory::vector(10); sd::ops::randomuniform op; @@ -981,7 +981,7 @@ namespace sd { rng->setSeed((int) seed); for (int i = 0; i < numberOfArrays; i++) { - auto arrayI = NDArrayFactory::create(shape); + auto arrayI = NDArrayFactory::vector(shape); auto arrayR = NDArrayFactory::create(shape); auto min = NDArrayFactory::create(0.0); auto max = NDArrayFactory::create(1.0); diff --git a/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp b/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp index e71a97fa867f..c9ecebbf28d0 100644 --- a/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/WorkspaceTests.cpp @@ -162,9 +162,9 @@ TEST_F(WorkspaceTests, NewInWorkspaceTest1) { ASSERT_TRUE(MemoryRegistrator::getInstance()->hasWorkspaceAttached()); auto ast = NDArrayFactory::create( {5, 5}); - + auto pAst = new NDArray(ast); ASSERT_TRUE(ws.getCurrentOffset() > 0); - + delete pAst; MemoryRegistrator::getInstance()->forgetWorkspace(); ASSERT_FALSE(MemoryRegistrator::getInstance()->hasWorkspaceAttached()); From bb1a9f97b046d566d652cf3b4158519e772aef04 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 18:19:58 +0300 Subject: [PATCH 93/99] Fixed cuda typo with new array factory methods. Signed-off-by: shugeo --- .../helpers/cuda/image_suppression.cu | 6 ++--- .../declarable/helpers/cuda/segment_mean.cu | 2 +- .../layers_tests/BroadcastableOpsTests.cpp | 9 ++++--- .../layers_tests/ConstantShapeHelperTests.cpp | 2 +- .../tests_cpu/layers_tests/LegacyOpsTests.cpp | 1 - .../layers_tests/NDArrayConstructorsTests.cu | 8 +++--- .../layers_tests/NDArrayCudaBasicsTests.cu | 26 ++++++++----------- 7 files changed, 26 insertions(+), 28 deletions(-) diff --git a/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu b/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu index 3c3854e2d6d8..03fc98fbe303 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu @@ -188,12 +188,12 @@ namespace helpers { static void nonMaxSuppressionV2_(sd::LaunchContext* context, NDArray* boxes, NDArray* scales, int maxSize, double threshold, double scoreThreshold, NDArray* output) { auto stream = context->getCudaStream(); NDArray::prepareSpecialUse({output}, {boxes, scales}); - auto indices = NDArrayFactory::vector(scales->lengthOf(), I(0), context); // - 1, scales->lengthOf()); //, scales->getContext()); + auto indices = NDArrayFactory::vector(scales->lengthOf(), 0, context); // - 1, scales->lengthOf()); //, scales->getContext()); NDArray scores(*scales); Nd4jPointer extras[2] = {nullptr, stream}; - auto indexBuf = indices.dataBuffer()->specialAsT();///reinterpret_cast(indices->specialBuffer()); - auto scoreBuf = scores.dataBuffer()->specialAsT(); + auto indexBuf = indices.dataBuffer()->template specialAsT();///reinterpret_cast(indices->specialBuffer()); + auto scoreBuf = scores.dataBuffer()->template specialAsT(); suppressScores<<<128, 128, 128, *stream>>>(scoreBuf, indexBuf, scores.lengthOf(), T(scoreThreshold)); indices.tickWriteDevice(); sortByValue(extras, indices.buffer(), indices.shapeInfo(), indices.specialBuffer(), indices.specialShapeInfo(), scores.buffer(), scores.shapeInfo(), scores.specialBuffer(), scores.specialShapeInfo(), true); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_mean.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_mean.cu index 7e664bcaaad7..80df03dc2567 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/segment_mean.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/segment_mean.cu @@ -368,7 +368,7 @@ namespace helpers { NDArray::prepareSpecialUse({output}, {input, indices, gradOut}); auto numClasses = indices->e(indices->lengthOf() - 1) + 1; NDArray classesRangesLens = NDArrayFactory::vector(numClasses, 0, context); - NDArray classesRangesBegs = NDArrayFactory::vector(numClasses, indeices->lengthOf(), context); + NDArray classesRangesBegs = NDArrayFactory::vector(numClasses, indices->lengthOf(), context); // classesRangesBegs.assign(indices->lengthOf()); // classesRangesLens.assign(0); diff --git a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp index 6c3d6825bf30..ece2c0a0a6a7 100644 --- a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp @@ -287,15 +287,18 @@ TEST_F(BroadcastableOpsTests, Test_Inplace_Output_1) { auto y = NDArrayFactory::create({4, 3}); auto o = NDArrayFactory::create({2, 4, 3}); auto e = NDArrayFactory::create({2, 4, 3}); - auto buffO1 = reinterpret_cast(o.buffer()); + auto buffO1 = reinterpret_cast(o.buffer()); y.assign(1.0f); e.assign(1.0f); - + ASSERT_TRUE(o.buffer() == nullptr); + nd4j_logger("1. Buffer is null\n", ""); sd::ops::add op; auto result = op.execute({&x, &y}, {&o}, {}, {}, {}); ASSERT_EQ(Status::OK(), result); - auto buffO2 = reinterpret_cast(o.buffer()); + auto buffO2 = reinterpret_cast(o.buffer()); + ASSERT_TRUE(o.buffer() == nullptr); + nd4j_logger("2. Buffer is null", ""); ASSERT_TRUE(e.isSameShape(o)); ASSERT_TRUE(e.equalsTo(o)); diff --git a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp index 2541c213c563..39cdb9b0d997 100644 --- a/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConstantShapeHelperTests.cpp @@ -143,7 +143,7 @@ TEST_F(ConstantShapeHelperTests, basic_test_4) { ASSERT_TRUE(dup.shapeInfo() != nullptr); #ifdef __CUDABLAS__ - ASSERT_TRUE(dup->specialShapeInfo() != nullptr); + ASSERT_TRUE(dup.specialShapeInfo() != nullptr); PointersManager manager(sd::LaunchContext ::defaultContext(), "test"); // manager.printDevContentOnDev(dup->specialShapeInfo(), shape::shapeInfoLength(2), 0); #endif diff --git a/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp index 5d690b6c9bfb..a1c3b82f442b 100644 --- a/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp @@ -747,7 +747,6 @@ TEST_F(LegacyOpsTests, test_legacy_reduce_empty_4) { auto d = NDArrayFactory::create( {1}, {a}); auto z = NDArrayFactory::create( {0, 2}); auto e = NDArrayFactory::create( {0, 2}); - InteropDataBuffer xdb(x.dataBuffer()); InteropDataBuffer ddb(d.dataBuffer()); InteropDataBuffer zdb(z.dataBuffer()); diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu b/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu index 4dba04c9be70..cf2d9dee80fa 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu +++ b/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu @@ -93,7 +93,7 @@ TEST_F(NDArrayConstructorsTests, test_constructor_4) { } TEST_F(NDArrayConstructorsTests, test_constructor_5) { - auto x = NDArrayFactory::create('c',{2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); ASSERT_TRUE(x.buffer() == nullptr); ASSERT_FALSE(x.specialBuffer() == nullptr); @@ -106,7 +106,7 @@ TEST_F(NDArrayConstructorsTests, test_constructor_5) { } TEST_F(NDArrayConstructorsTests, test_constructor_6) { - auto x = NDArrayFactory::create('c', {2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); NDArray y(x); ASSERT_TRUE(y.buffer() == nullptr); @@ -133,7 +133,7 @@ TEST_F(NDArrayConstructorsTests, test_constructor_7) { } TEST_F(NDArrayConstructorsTests, test_constructor_8) { - auto x = NDArrayFactory::create('c',{2, 2}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {2, 2}, {1, 2, 3, 4}); ASSERT_TRUE(x.buffer() == nullptr); ASSERT_FALSE(x.specialBuffer() == nullptr); @@ -146,7 +146,7 @@ TEST_F(NDArrayConstructorsTests, test_constructor_8) { } TEST_F(NDArrayConstructorsTests, test_constructor_9) { - auto x = NDArrayFactory::create('c',{2, 2}); + auto x = NDArrayFactory::create( {2, 2}); ASSERT_TRUE(x.buffer() == nullptr); ASSERT_FALSE(x.specialBuffer() == nullptr); diff --git a/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu b/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu index 93e1aee61548..bb466aeeeb62 100644 --- a/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu +++ b/libnd4j/tests_cpu/layers_tests/NDArrayCudaBasicsTests.cu @@ -1437,8 +1437,8 @@ TEST_F(NDArrayCudaBasicsTests, EqualityTest1) { } } - for (int i = 0; i < arrayB->rows(); i++) { - for (int k = 0; k < arrayB->columns(); k++) { + for (int i = 0; i < arrayB.rows(); i++) { + for (int k = 0; k < arrayB.columns(); k++) { arrayB.p(i, k, (float) i); } } @@ -1676,15 +1676,13 @@ TEST_F(NDArrayCudaBasicsTests, BroadcastOpsTest1) { NDArray expRow('c', {1, 5,}, {1,2,3,4,5}, sd::DataType::FLOAT32); NDArray exp('c', {5,5}, {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5}, sd::DataType::FLOAT32); - ASSERT_TRUE(row->equalsTo(&expRow)); + ASSERT_TRUE(row.equalsTo(&expRow)); - x.applyBroadcast(broadcast::Add, {1}, *row, z); - x += *row; + x.applyBroadcast(broadcast::Add, {1}, row, z); + x += row; ASSERT_TRUE(x.equalsTo(z)); //ASSERT_TRUE(z.equalsTo(&exp)); - - delete row; } TEST_F(NDArrayCudaBasicsTests, BroadcastOpsTest2) { @@ -1695,8 +1693,8 @@ TEST_F(NDArrayCudaBasicsTests, BroadcastOpsTest2) { NDArray expRow('c', {1, 5,}, {1,2,3,4,5}, sd::DataType::FLOAT32); NDArray exp('c', {5,5}, {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5}, sd::DataType::FLOAT32); - ASSERT_TRUE(row->equalsTo(&expRow)); - x.applyBroadcast(broadcast::Add, {1}, *row, x); + ASSERT_TRUE(row.equalsTo(&expRow)); + x.applyBroadcast(broadcast::Add, {1}, row, x); ASSERT_TRUE(x.equalsTo(&exp)); } @@ -1705,7 +1703,7 @@ TEST_F(NDArrayCudaBasicsTests, TestBroadcast_1) { NDArray exp('c', {2, 3, 2, 2}, {1., 1., 1., 1., 2., 2., 2., 2., 3., 3., 3., 3., 1., 1., 1., 1., 2., 2., 2., 2., 3., 3., 3., 3.}, sd::DataType::DOUBLE); - auto input = NDArrayFactory::create('c',{ 2, 3, 2, 2}); + auto input = NDArrayFactory::create( { 2, 3, 2, 2}); auto bias = NDArrayFactory::create( {1, 3}); bias.linspace(1); @@ -1757,7 +1755,7 @@ TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_05) auto x = NDArrayFactory::create( {8, 8, 8}); auto y = NDArrayFactory::create( {1, 8, 8}); auto expected = NDArrayFactory::create( {8, 8, 8}); - NDArray res2 = NDArrayFactory::create(expected.ordering(), expected.getShapeAsVector()); + NDArray res2 = NDArrayFactory::create(expected.getShapeAsVector(), {}, (sd::Order)expected.ordering()); x = 1.; y = 2.; expected = 3.; @@ -1872,8 +1870,8 @@ TEST_F(NDArrayCudaBasicsTests, Operator_Plus_Test_2) double expBuff[] = {2., 3, 3., 4., 4., 5, 5., 6., 6., 7, 7., 8.}; NDArray a('c', {4,4}, {1,2,3,4,5,6,7,8,9,2,3,2,1,0,4,7}, sd::DataType::FLOAT32); auto x = NDArrayFactory::create( {3, 2, 1}); - auto y = NDArrayFactory::create('c', {1, 2}); - auto expected = NDArrayFactory::create(expBuff, 'c', {3, 2, 2}); + auto y = NDArrayFactory::create( {1, 2}); + auto expected = NDArrayFactory::create(expBuff, {3, 2, 2}); x.linspace(1); y.linspace(1); @@ -2137,7 +2135,6 @@ TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_2) { // ASSERT_TRUE(exp.isSameShape(&x)); // ASSERT_TRUE(exp.equalsTo(&x)); - delete xx; } TEST_F(NDArrayCudaBasicsTests, Test_PermuteEquality_3) { auto x = NDArrayFactory::create( {1, 60}); @@ -2167,7 +2164,6 @@ TEST_F(NDArrayCudaBasicsTests, Test_Empty_2) { auto x = NDArrayFactory::empty(); ASSERT_TRUE(x.isEmpty()); - delete x; } TEST_F(NDArrayCudaBasicsTests, Test_Empty_3) { From e82e5afde1f41c5a2fcd935d540a1f6088aba160 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 26 Jun 2020 20:28:43 +0300 Subject: [PATCH 94/99] Fixed misc with merging. Signed-off-by: shugeo --- libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp | 5 +---- libnd4j/tests_cpu/layers_tests/RNGTests.cpp | 5 ++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp index ece2c0a0a6a7..d516c79eac39 100644 --- a/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BroadcastableOpsTests.cpp @@ -290,15 +290,12 @@ TEST_F(BroadcastableOpsTests, Test_Inplace_Output_1) { auto buffO1 = reinterpret_cast(o.buffer()); y.assign(1.0f); e.assign(1.0f); - ASSERT_TRUE(o.buffer() == nullptr); - nd4j_logger("1. Buffer is null\n", ""); + sd::ops::add op; auto result = op.execute({&x, &y}, {&o}, {}, {}, {}); ASSERT_EQ(Status::OK(), result); auto buffO2 = reinterpret_cast(o.buffer()); - ASSERT_TRUE(o.buffer() == nullptr); - nd4j_logger("2. Buffer is null", ""); ASSERT_TRUE(e.isSameShape(o)); ASSERT_TRUE(e.equalsTo(o)); diff --git a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp index 4391395c4c85..37e6547a4f9b 100644 --- a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp @@ -1085,7 +1085,7 @@ TEST_F(RNGTests, Test_UniformDistribution_04) { auto x = NDArrayFactory::create( {1}, {10}); auto al = NDArrayFactory::create(1); auto be = NDArrayFactory::create(20); - auto exp0 = NDArrayFactory::vector(10); + auto exp0 = NDArrayFactory::vector(10, 21.f); sd::ops::randomuniform op; @@ -1095,7 +1095,6 @@ TEST_F(RNGTests, Test_UniformDistribution_04) { auto z = result.at(0); ASSERT_TRUE(exp0.isSameShape(z)); ASSERT_FALSE(exp0.equalsTo(z)); - } TEST_F(RNGTests, Test_UniformDistribution_05) { @@ -1206,7 +1205,7 @@ TEST_F(RNGTests, Test_Reproducibility_2) { } TEST_F(RNGTests, Test_Uniform_4) { - auto x1 = NDArrayFactory::create( {1000000}); + auto x1 = NDArrayFactory::vector( {1000000}); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngB, &x1, 1.0, 2.0); From 31f91985d18a8b9569875fcab0b3e3961e79d425 Mon Sep 17 00:00:00 2001 From: shugeo Date: Sat, 27 Jun 2020 15:57:06 +0300 Subject: [PATCH 95/99] Fixed tests. Signed-off-by: shugeo --- libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp | 5 ++--- libnd4j/tests_cpu/layers_tests/RNGTests.cpp | 10 +++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp index 9c732c07291a..e1dab6f0dc8f 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp @@ -1721,7 +1721,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test5) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test6) { - auto input = NDArrayFactory::create( {4,1,1}); + auto input = NDArrayFactory::create( {4,1,1}); input.linspace(1); sd::ops::random_shuffle op; @@ -1744,8 +1744,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test7) { - - auto input = NDArrayFactory::create( {1,4}); + auto input = NDArrayFactory::vector(16010); input.linspace(1); sd::ops::random_shuffle op; diff --git a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp index 37e6547a4f9b..25a973f0872b 100644 --- a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp @@ -49,11 +49,11 @@ class RNGTests : public testing::Test { //_bufferB = new Nd4jLong[100000]; //_rngA = (sd::random::RandomBuffer *) initRandom(nullptr, _seed, 100000, (Nd4jPointer) _bufferA); //_rngB = (sd::random::RandomBuffer *) initRandom(nullptr, _seed, 100000, (Nd4jPointer) _bufferB); - _rngA.setStates(_seed, _seed); - _rngB.setStates(_seed, _seed); - nexp0.assign(-1.0f); - nexp1.assign(-2.0f); - nexp2.assign(-3.0f); + _rngA.setStates(_seed * 0xDEADBEEF * 13, _seed * 0xDEADBEEF * 7); + _rngB.setStates(_seed * 0xDEADBEEF * 13, _seed * 0xDEADBEEF * 7); + nexp0->assign(-1.0f); + nexp1->assign(-2.0f); + nexp2->assign(-3.0f); } ~RNGTests() { From 7147dcc926b2a3dc9d37b90affce1b49d9b01611 Mon Sep 17 00:00:00 2001 From: shugeo Date: Sat, 27 Jun 2020 16:02:37 +0300 Subject: [PATCH 96/99] Fixed RNG tests. Signed-off-by: shugeo --- libnd4j/tests_cpu/layers_tests/RNGTests.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp index 25a973f0872b..347c73f237a6 100644 --- a/libnd4j/tests_cpu/layers_tests/RNGTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/RNGTests.cpp @@ -51,9 +51,9 @@ class RNGTests : public testing::Test { //_rngB = (sd::random::RandomBuffer *) initRandom(nullptr, _seed, 100000, (Nd4jPointer) _bufferB); _rngA.setStates(_seed * 0xDEADBEEF * 13, _seed * 0xDEADBEEF * 7); _rngB.setStates(_seed * 0xDEADBEEF * 13, _seed * 0xDEADBEEF * 7); - nexp0->assign(-1.0f); - nexp1->assign(-2.0f); - nexp2->assign(-3.0f); + nexp0.assign(-1.0f); + nexp1.assign(-2.0f); + nexp2.assign(-3.0f); } ~RNGTests() { @@ -280,7 +280,7 @@ TEST_F(RNGTests, Test_Uniform_13) { } TEST_F(RNGTests, Test_Uniform_3) { - auto x0 = NDArrayFactory::create( {1000000}); + auto x0 = NDArrayFactory::vector(1000000); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); @@ -1085,7 +1085,7 @@ TEST_F(RNGTests, Test_UniformDistribution_04) { auto x = NDArrayFactory::create( {1}, {10}); auto al = NDArrayFactory::create(1); auto be = NDArrayFactory::create(20); - auto exp0 = NDArrayFactory::vector(10, 21.f); + auto exp0 = NDArrayFactory::vector(10); sd::ops::randomuniform op; @@ -1205,7 +1205,7 @@ TEST_F(RNGTests, Test_Reproducibility_2) { } TEST_F(RNGTests, Test_Uniform_4) { - auto x1 = NDArrayFactory::vector( {1000000}); + auto x1 = NDArrayFactory::vector(1000000); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngB, &x1, 1.0, 2.0); @@ -1226,7 +1226,7 @@ TEST_F(RNGTests, Test_Uniform_4) { TEST_F(RNGTests, test_choice_1) { const auto x = NDArrayFactory::linspace(0, 10, 11); const auto prob = NDArrayFactory::valueOf({11}, 1.0/11); - auto z = NDArrayFactory::create( {1000}); + auto z = NDArrayFactory::create(1000); RandomGenerator rng(119, 256); NativeOpExecutioner::execRandom(sd::LaunchContext ::defaultContext(), random::Choice, &rng, x.buffer(), x.shapeInfo(), x.specialBuffer(), x.specialShapeInfo(), prob.buffer(), prob.shapeInfo(), prob.specialBuffer(), prob.specialShapeInfo(), z.buffer(), z.shapeInfo(), z.specialBuffer(), z.specialShapeInfo(), nullptr); From 8e6982836baf2f50d5d7a1407c86997f0be7d4eb Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 10 Jul 2020 10:18:44 +0300 Subject: [PATCH 97/99] Fixed memory leaks with tests and sru_bp op. Signed-off-by: shugeo --- libnd4j/include/helpers/cpu/MmulHelper.cpp | 14 +++++++++----- .../ops/declarable/generic/nn/recurrent/sru.cpp | 2 ++ .../tests_cpu/layers_tests/DeclarableOpsTests1.cpp | 4 ++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/libnd4j/include/helpers/cpu/MmulHelper.cpp b/libnd4j/include/helpers/cpu/MmulHelper.cpp index 437eebe1d606..f80e2ffad8a2 100644 --- a/libnd4j/include/helpers/cpu/MmulHelper.cpp +++ b/libnd4j/include/helpers/cpu/MmulHelper.cpp @@ -269,12 +269,16 @@ NDArray* MmulHelper::mmulMxM(const NDArray* A, const NDArray* B, NDArray* C, con if(pC != C) { C->assign(pC); - delete pC; +// delete pC; + } +// if(pA != A) +// delete pA; +// if(pB != B) +// delete pB; + + for (auto& arr: toDelete) { + delete arr; } - if(pA != A) - delete pA; - if(pB != B) - delete pB; } return C; diff --git a/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp b/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp index 85d3855b1eb3..c54979266c64 100644 --- a/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp +++ b/libnd4j/include/ops/declarable/generic/nn/recurrent/sru.cpp @@ -184,6 +184,8 @@ CUSTOM_OP_IMPL(sru_bp, 8, 4, true, 0, 0) { auto gradUZ = gradU ({0,0, 0,K, 0,0}, true ); // [bS x K x N] auto gradUF = gradU ({0,0, K,2*K, 0,0}, true ); // [bS x K x N] auto gradUR = gradU ({0,0, 2*K,3*K, 0,0}, true ); // [bS x K x N] + if (wi != nullptr) + delete wi; NDArray* ct_1 = nullptr; diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp index 581c7fb77603..b5fde228b59c 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp @@ -1893,6 +1893,7 @@ TEST_F(DeclarableOpsTests1, Permute1) { delete block; delete variableSpace; + delete exp; } ////////////////////////////////////////////////////////////////////// @@ -1921,6 +1922,7 @@ TEST_F(DeclarableOpsTests1, TestArgumentsValidation1) { delete block; delete variableSpace; + delete exp; } ////////////////////////////////////////////////////////////////////// @@ -2312,8 +2314,6 @@ TEST_F(DeclarableOpsTests1, sru_bp) { ASSERT_TRUE(expGradW.equalsTo(gradW)); ASSERT_TRUE(expGradB.equalsTo(gradB)); ASSERT_TRUE(expGradInit.equalsTo(gradInit)); - - } ////////////////////////////////////////////////////////////////// From d22bca2a9ed2655a45430f50b964d0f913fdc041 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 10 Jul 2020 10:42:38 +0300 Subject: [PATCH 98/99] Fixed memory leak with bool creation. Signed-off-by: shugeo --- libnd4j/include/array/impl/NDArrayFactory.cpp | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index 7e457f09ebe3..e728d77be641 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -46,17 +46,27 @@ namespace sd { ShapeDescriptor descriptor(sd::DataType::BOOL, (char)order, shape); if (data.size() > 0 && descriptor.arrLength() != data.size()) { - nd4j_printf("NDArrayFactory::create: data size [%i] doesn't match shape length [%lld]\n", data.size(), descriptor.arrLength()); - throw std::runtime_error("NDArrayFactory::create: data size doesn't match shape"); + nd4j_printf("NDArrayFactory::create: data size [%i] doesn't match shape length [%lld]\n", data.size(), descriptor.arrLength()); + throw std::runtime_error("NDArrayFactory::create: data size doesn't match shape"); } bool* hostBuffer = nullptr; - ALLOCATE(hostBuffer, context->getWorkspace(), data.size() > 0? data.size():descriptor.arrLength(), bool); - if (data.size() > 0) - std::copy(data.begin(), data.end(), hostBuffer); + if (data.size() > 0 || descriptor.arrLength() > 0) { + auto len = data.size() > 0? data.size():descriptor.arrLength(); + ALLOCATE(hostBuffer, context->getWorkspace(), len, bool); + } - std::shared_ptr buffer = std::make_shared(hostBuffer, descriptor.arrLength() * sizeof(bool), sd::DataType::BOOL, true, context->getWorkspace()); + if (data.size()) { + std::copy(data.begin(), data.end(), hostBuffer); + } + else { + std::shared_ptr buffer = std::make_shared( + descriptor.arrLength() * sizeof(bool), sd::DataType::BOOL, context->getWorkspace()); + NDArray result(buffer, descriptor, context); + return result; + } + std::shared_ptr buffer = std::make_shared(hostBuffer, descriptor.arrLength() * sizeof(bool), sd::DataType::BOOL, true, context->getWorkspace()); NDArray result(buffer, descriptor, context); return result; From 51b56a3e1c9c664b2a04abbc2580f7359c8ea6a2 Mon Sep 17 00:00:00 2001 From: shugeo Date: Fri, 10 Jul 2020 10:49:13 +0300 Subject: [PATCH 99/99] Fixed memory leak for bool array creation. Signed-off-by: shugeo --- libnd4j/include/array/impl/NDArrayFactory.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index e728d77be641..b4631b4d9ba0 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -51,7 +51,7 @@ namespace sd { } bool* hostBuffer = nullptr; - if (data.size() > 0 || descriptor.arrLength() > 0) { + if (data.size() > 0) { auto len = data.size() > 0? data.size():descriptor.arrLength(); ALLOCATE(hostBuffer, context->getWorkspace(), len, bool); } @@ -66,6 +66,7 @@ namespace sd { NDArray result(buffer, descriptor, context); return result; } + std::shared_ptr buffer = std::make_shared(hostBuffer, descriptor.arrLength() * sizeof(bool), sd::DataType::BOOL, true, context->getWorkspace()); NDArray result(buffer, descriptor, context);