diff --git a/libnd4j/include/array/NDArrayFactory.h b/libnd4j/include/array/NDArrayFactory.h index f25c68fb4f32..a8e754656139 100644 --- a/libnd4j/include/array/NDArrayFactory.h +++ b/libnd4j/include/array/NDArrayFactory.h @@ -18,13 +18,14 @@ // // Created by raver119 on 2018-09-16. // @author Oleg Semeniv +// @author GS (shugeo) // #ifndef DEV_TESTS_NDARRAYFACTORY_H #define DEV_TESTS_NDARRAYFACTORY_H #include -#include +#include #include //#include #include @@ -37,77 +38,51 @@ 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); + 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 order = sd::kArrayOrderC, 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 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(DataType type, const T scalar, 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, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); - - static NDArray* create_( char order, const std::vector &shape, sd::DataType dataType, 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_(char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray create(const T* values, const std::vector& shape, const Order order = sd::kArrayOrderC, 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()); + static NDArray create(sd::DataType dtype, 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(DataType type, const T scalar, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template - 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 - */ + static NDArray vector(Nd4jLong length, T startingValue = (T) 0, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); template - static NDArray create(char order, const std::initializer_list& shape, 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(T* buffer, char order, const std::initializer_list& 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 - static NDArray create(char order, const std::vector &shape, const std::initializer_list& data, sd::LaunchContext * context = sd::LaunchContext ::defaultContext()); + static NDArray vector(const std::vector &values, sd::LaunchContext* context = sd::LaunchContext ::defaultContext()); +#ifndef __JAVACPP_HACK__ /** * This method creates NDArray from .npy file * @param fileName @@ -120,8 +95,6 @@ namespace sd { * @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 std::string& string, sd::DataType dtype = sd::DataType::UTF8, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** @@ -129,8 +102,6 @@ namespace sd { * @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 std::u16string& u16string, sd::DataType dtype = sd::DataType::UTF16, sd::LaunchContext* context = sd::LaunchContext::defaultContext()); /** @@ -138,48 +109,28 @@ 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()); /** * 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()); - 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 * @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()); - 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 * @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()); - 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/Order.h b/libnd4j/include/array/Order.h new file mode 100644 index 000000000000..38077102cdf9 --- /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 { + kArrayOrderC = 'c', // C order for strides (rows first) + kArrayOrderFortran = 'f', // Fortran order for strides (columns first) + }; +} + +#endif //LIBND4J__ARRAY__ORDER__H + diff --git a/libnd4j/include/array/impl/NDArrayFactory.cpp b/libnd4j/include/array/impl/NDArrayFactory.cpp index f14aa9dbb653..b4631b4d9ba0 100644 --- a/libnd4j/include/array/impl/NDArrayFactory.cpp +++ b/libnd4j/include/array/impl/NDArrayFactory.cpp @@ -38,70 +38,114 @@ namespace sd { //////////////////////////////////////////////////////////////////////// template <> - ND4J_EXPORT NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context) { + 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, order, shape); + ShapeDescriptor descriptor(sd::DataType::BOOL, (char)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"); + 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(), bool); - std::copy(data.begin(), data.end(), hostBuffer); + if (data.size() > 0) { + auto len = data.size() > 0? data.size():descriptor.arrLength(); + ALLOCATE(hostBuffer, context->getWorkspace(), len, bool); + } - std::shared_ptr buffer = std::make_shared(hostBuffer, data.size() * 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; } - //////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// template - NDArray NDArrayFactory::create(const char order, const std::vector &shape, const std::vector &data, sd::LaunchContext * context) { - + 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(), order, shape); + ShapeDescriptor descriptor(DataTypeUtils::fromT(), (char const)order, shape); - if (descriptor.arrLength() != data.size()) { + 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()); + 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 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); + 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 -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 + 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 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 void NDArrayFactory::memcpyFromVector(void *ptr, const std::vector &vector) { @@ -125,73 +169,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_(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,139 +224,101 @@ 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 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 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 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 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 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 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 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 - 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) { + 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(); + 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 - 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) { - 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); - -//////////////////////////////////////////////////////////////////////// -NDArray NDArrayFactory::create(const char order, const std::vector &shape, sd::DataType dtype, 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"); - 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()); @@ -403,15 +342,9 @@ 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) { +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); @@ -424,43 +357,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 - 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 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 @@ -480,239 +387,75 @@ 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::string(const char16_t* u16string, sd::DataType dtype, sd::LaunchContext* context) { + return NDArray(u16string, dtype, context); } - -//////////////////////////////////////////////////////////////////////// - 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::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); } -//////////////////////////////////////////////////////////////////////// -template -NDArray NDArrayFactory::create(T* buffer, const char order, const std::initializer_list& shape, sd::LaunchContext * context) { + NDArray NDArrayFactory::fromNpyFile(const char *fileName) { + auto size = sd::graph::getFileSize(fileName); + if (size < 0) + throw std::runtime_error("File doesn't exit"); - if ((int) shape.size() > MAX_RANK) - throw std::invalid_argument("NDArrayFactory::create: Rank of NDArray can't exceed 32"); + auto pNPY = reinterpret_cast(::numpyFromFile(std::string(fileName))); - std::vector shp(shape); - ShapeDescriptor descriptor(DataTypeUtils::fromT(), order, shp); + auto nBuffer = reinterpret_cast(::dataPointForNumpy(pNPY)); + auto shape = reinterpret_cast(::shapeBufferForNumpy(pNPY)); - std::shared_ptr pBuffer = std::make_shared(buffer, descriptor.arrLength() * sizeof(T), descriptor.dataType(), false, context->getWorkspace()); + auto length = shape::length(shape); + int8_t *buffer = nullptr; + sd::memory::Workspace *workspace = nullptr; + auto byteLen = length * DataTypeUtils::sizeOfElement(ArrayOptions::dataType(shape)); - NDArray result(pBuffer, descriptor, context); + ALLOCATE(buffer, workspace, byteLen, int8_t); + memcpy(buffer, nBuffer, byteLen); - return result; -} + free(pNPY); -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 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); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const char32_t* u32string, sd::DataType dtype, sd::LaunchContext* context) { - 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); - } - ///////////////////////////////////////////////////////////////////////// - NDArray NDArrayFactory::string(const char* str, sd::DataType dtype, sd::LaunchContext* context) { - 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) { - 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); - } - ///////////////////////////////////////////////////////////////////////// - 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::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); - } - ///////////////////////////////////////////////////////////////////////// - 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::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); - } - ///////////////////////////////////////////////////////////////////////// - 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::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::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); - } - - - 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); - } + return NDArray(buffer, shape, LaunchContext::defaultContext(), true); + } } 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 f76f66bbea13..e78d1ed2a5e5 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); diff --git a/libnd4j/include/graph/impl/FlatUtils.cpp b/libnd4j/include/graph/impl/FlatUtils.cpp index e6984bb9705d..25576bc21d2f 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); + return new NDArray(empty.dup()); } // 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.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/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/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/helpers/BroadcastHelper.h b/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h index af7f2d8d73c3..420b86b0951e 100644 --- a/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h +++ b/libnd4j/include/ops/declarable/generic/helpers/BroadcastHelper.h @@ -79,9 +79,9 @@ namespace sd { return z; } else { auto v = y->getShapeAsVector(); - auto tZ = NDArrayFactory::valueOf(v, y, y->ordering()); - tZ->applyPairwiseTransform(op.p, *y, extraArgs); - return tZ; + auto tZ = NDArrayFactory::valueOf(v, y, (sd::Order)y->ordering()); + 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); @@ -120,9 +120,9 @@ 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 tZ; + return new NDArray(tZ); } } else if (x->isScalar() && y->isScalar()) { // x->isScalar() && y->isScalar() x->applyScalarArr(op.s, const_cast(*y), *z); diff --git a/libnd4j/include/ops/declarable/generic/list/create_list.cpp b/libnd4j/include/ops/declarable/generic/list/create_list.cpp index 606558e7edab..bbba6cc341e3 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, 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 943313ad0242..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++) { @@ -60,12 +60,12 @@ namespace sd { indicesList[0] = skipPosition; indicesList[1] = skipPosition++ + 1; - auto subarray = (*result)(indicesList, true); + auto subarray = result(indicesList, true); subarray.assign(array); } //OVERWRITE_RESULT(result); - setupResult(result, 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 9c4d7ff70ce5..aca0c2064a52 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(new NDArray(result), block); return Status::OK(); } DECLARE_SYN(TensorArraySizeV3, size_list); 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; 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 d887d7c2ab00..52e654a31a56 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->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 + 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 - - 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..2be50b3208df 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->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); } // FIXME: double? @@ -84,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 ba4e3d52f964..c54979266c64 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) @@ -179,11 +179,13 @@ 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] + if (wi != nullptr) + delete wi; NDArray* ct_1 = nullptr; @@ -201,7 +203,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] @@ -222,46 +224,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,22 +274,18 @@ 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 // 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] 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/parity_ops/compare_and_bitpack.cpp b/libnd4j/include/ops/declarable/generic/parity_ops/compare_and_bitpack.cpp index f694502b3429..1790227082d4 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/random/uniform.cpp b/libnd4j/include/ops/declarable/generic/random/uniform.cpp index d4abccf78308..c97d79f6b66b 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()); - max = NDArrayFactory::create_(dtype, block.launchContext()); - 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 2f88b819b187..34a9412c5618 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()); - d = NDArrayFactory::create_(1.0f, block.launchContext()); + 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()); - d = NDArrayFactory::create_(1, block.launchContext()); + 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()); + auto dLocal = NDArrayFactory::create(1.0f, block.launchContext()); + d = new NDArray(dLocal); } else { - d = NDArrayFactory::create_(1, block.launchContext()); + 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()); + auto sLocal = NDArrayFactory::create(INT_ARG(0), block.launchContext()); //limit = INT_ARG(1); - d = NDArrayFactory::create_(1, block.launchContext()); + auto dLocal = NDArrayFactory::create(1, block.launchContext()); + s = new NDArray(sLocal); d = new NDArray(dLocal); } else { - s = NDArrayFactory::create_(INT_ARG(0), block.launchContext()); + auto sLocal = NDArrayFactory::create(INT_ARG(0), block.launchContext()).dup(); //limit = INT_ARG(1); - d = NDArrayFactory::create_(INT_ARG(2), block.launchContext()); + 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()); - d = NDArrayFactory::create_(1.0f, block.launchContext()); + 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()); + auto sLocal = NDArrayFactory::create(T_ARG(0), block.launchContext()).dup(); //limit = T_ARG(1); - d = NDArrayFactory::create_(1.0f, block.launchContext()); + 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()); + auto sLocal = NDArrayFactory::create(T_ARG(0), block.launchContext()).dup(); //limit = T_ARG(1); - d = NDArrayFactory::create_(T_ARG(2), block.launchContext()); + 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 cf3675122283..17a4d219ee23 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::vector(N, 0, 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 = 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/cpu/hashcode.cpp b/libnd4j/include/ops/declarable/helpers/cpu/hashcode.cpp index 5893b2c88363..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('c', {numBlocks}, context); - auto tempB = NDArrayFactory::create('c', { 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 7206b03e5e1d..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('c', {outSize}); - spans._weights = NDArrayFactory::create('c', {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(); @@ -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 7e66d4b11aae..72ea72170da2 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::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) { @@ -344,7 +344,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) @@ -365,7 +365,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)); @@ -390,11 +390,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) @@ -443,11 +443,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++) { @@ -521,7 +521,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); @@ -548,34 +548,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(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++) { // 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/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..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('c', 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 diff --git a/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp b/libnd4j/include/ops/declarable/helpers/cpu/top_k.cpp index 65edeb71b713..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,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(shapeI, std::vector{}, (sd::Order)input->ordering(), 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/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 8b7e8ee57074..03fc98fbe303 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/image_suppression.cu @@ -188,17 +188,17 @@ 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::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); - indices->tickWriteDevice(); - NDArray selectedIndices = NDArrayFactory::create('c', {output->lengthOf()}, context); + 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::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 c59ef9489cc1..e94728054cbd 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}); @@ -640,7 +640,7 @@ namespace helpers { // if (matrix.dataType() == input->dataType()) fillMatrix<<>>(matrix.specialBuffer(), matrix.specialShapeInfo(), input->specialBuffer(), input->specialShapeInfo(), pos, n); // else -// fillMatrix<<>>(matrix.specialBuffer(), matrix.specialShapeInfo(), input->specialBuffer(), input->special(), pos, n); +// fillMatrix<<>>(matrix.specialBuffer(), matrix.specialShapeInfo(), input->specialBuffer(), input->specialShapeInfo(), pos, n); lup_(context, &matrix, nullptr, nullptr); // else // lup_(context, &matrix, nullptr, nullptr); @@ -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}); @@ -685,7 +685,7 @@ namespace helpers { // if (matrix.dataType() == input->dataType()) fillMatrix<<>>(matrix.specialBuffer(), matrix.specialShapeInfo(), input->specialBuffer(), input->specialShapeInfo(), pos, n); // else -// fillMatrix<<>>(matrix.specialBuffer(), matrix.specialShapeInfo(), input->specialBuffer(), input->special(), pos, n); +// fillMatrix<<>>(matrix.specialBuffer(), matrix.specialShapeInfo(), input->specialBuffer(), input->specialShapeInfo(), pos, n); // if (matrix.dataType() == input->dataType()) lup_(context, &matrix, nullptr, nullptr); @@ -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,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)); - tempOutput->assign(input); - cholesky__(context, tempOutput.get(), tempOutput.get(), true); - output->assign(tempOutput.get()); + auto tempOutput = NDArrayFactory::create(DataType::FLOAT32, input->getShapeAsVector(), sd::kArrayOrderC, context); + tempOutput.assign(input); + cholesky__(context, &tempOutput, &tempOutput, true); + output->assign(tempOutput); } NDArray::registerSpecialUse({output}, {input}); return Status::OK(); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/qr.cu b/libnd4j/include/ops/declarable/helpers/cuda/qr.cu index e499f21d00fb..f1402450c26c 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 e13883515710..24fb4b68c9fe 100644 --- a/libnd4j/include/ops/declarable/helpers/cuda/random.cu +++ b/libnd4j/include/ops/declarable/helpers/cuda/random.cu @@ -182,7 +182,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.0000000001, 0.9999999999); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_max.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_max.cu index d623c873494e..282d8f36b4f2 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 5ccecf37c6f5..6c6b8f4ac911 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, 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()); diff --git a/libnd4j/include/ops/declarable/helpers/cuda/segment_min.cu b/libnd4j/include/ops/declarable/helpers/cuda/segment_min.cu index 9e825c701dbd..d56eed731fbd 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 44e07730001b..ac0a68973041 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 20f2323323d4..4b7e0c345006 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 a2050d695edd..d27508cfa8ce 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 43ef78c3eb36..8a598a15c446 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(); diff --git a/libnd4j/include/ops/declarable/helpers/impl/where.cpp b/libnd4j/include/ops/declarable/helpers/impl/where.cpp index b2d758673237..56c0060ad222 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(output.dataType(), {1, condition.rankOf()}, sd::kArrayOrderC, 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++, new NDArray(array)); } } diff --git a/libnd4j/include/ops/declarable/impl/BooleanOp.cpp b/libnd4j/include/ops/declarable/impl/BooleanOp.cpp index 07960497ab2a..e419eadd5f85 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())); + auto arr = NDArrayFactory::create(false, ctx.launchContext()); + var->setNDArray(new NDArray(arr)); var->markRemovable(true); } } diff --git a/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp b/libnd4j/include/performance/benchmarking/impl/FullBenchmarkSuit.cpp index 0eabe959ad11..d6f3bbbd9541 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(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}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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}); - ctx->setInputArray(1, bias, true); + auto bias = NDArrayFactory::vector(c); + 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}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {mb, dhw, dhw, dhw, chIn}), true); + 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}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {mb, chIn, dhw, dhw, dhw}), true); + 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}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {mb, dhw, dhw, dhw, chIn}), true); + 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}), true); - ctx->setOutputArray(0, NDArrayFactory::create_('c', {mb, chIn, dhw, dhw, dhw}), true); + 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}), true); - ctx->setInputArray(2, NDArrayFactory::create_('c', {chOut}), true); - + 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 @@ -296,46 +295,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)); //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(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}), 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(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}); - - 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(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); + 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 @@ -380,31 +379,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(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}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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 } 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::vector(ch)); //mean + auto v = NDArrayFactory::vector(ch); + v.assign(1.0f); + ctx->setInputArray(2, v); //variance + auto g = NDArrayFactory::vector(ch); + g.assign(1.0f); + ctx->setInputArray(3, g); //gamma + auto b = NDArrayFactory::vector(ch); + b.assign(1.0f); + ctx->setInputArray(4, b); //beta auto targs = new double[1]; targs[0] = 1e-5; @@ -446,15 +445,15 @@ 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}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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")}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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 args = new Nd4jLong[11]; @@ -507,32 +506,31 @@ 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}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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")}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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, 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 +550,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(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; @@ -564,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")}), true); //Shape as NDArray - ctx->setOutputArray(0, NDArrayFactory::create_('c', {1, p.getIntParam("length")}), true); + 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); @@ -638,13 +636,13 @@ 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(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; @@ -674,13 +672,13 @@ 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(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; @@ -710,13 +708,13 @@ 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(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 +750,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({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}), 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({ 4LL, 8LL, 1024LL, 1024LL})); + ctx->setInputArray(1, NDArrayFactory::create({ 4LL, 8LL, 1024LL, 1024LL})); + ctx->setOutputArray(0, NDArrayFactory::create({4LL, 8LL, 1024LL, 1024LL})); } return ctx; @@ -776,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++) { @@ -787,13 +785,13 @@ 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(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; @@ -827,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; 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; @@ -862,9 +860,9 @@ 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 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; 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; @@ -897,9 +895,9 @@ 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 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; 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; @@ -937,8 +935,8 @@ 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 in = NDArrayFactory::vector(length); + auto indices = NDArrayFactory::vector(length); int* a = new int[length]; 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::vector(length)); return ctx; }; @@ -968,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; 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(std::vector{rows, cols})); return ctx; }; @@ -1000,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; 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(std::vector{sz0, sz1, 512/sz1})); return ctx; }; @@ -1040,10 +1038,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); - z.push_back(arr2); + 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)); }; TransformBenchmark tb(transform::AnyOps::Assign, "assign"); @@ -1056,15 +1054,15 @@ namespace sd { bool nchw = p.getIntParam("nchw"); 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})); + 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(std::vector{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})); + 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(std::vector{16, 32, 64, 64}))); } }; @@ -1156,9 +1154,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(shape)); + ctx->setInputArray(1, NDArrayFactory::create(toBcShape)); + ctx->setOutputArray(0, NDArrayFactory::create(shape)); return ctx; }; @@ -1188,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, true); + ctx->setInputArray(0, arr); if(a == 0){ - ctx->setInputArray(1, NDArrayFactory::create_('c', {p.getIntParam("rows"), 1}), true); + ctx->setInputArray(1, NDArrayFactory::create(std::vector{p.getIntParam("rows"), 1})); } else { - ctx->setInputArray(1, NDArrayFactory::create_('c', {1, p.getIntParam("cols")}), true); + 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")}), true); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")})); } return ctx; }; @@ -1226,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")}); - x.push_back(arr); + auto arr = NDArrayFactory::create(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}); + x.push_back(new NDArray(arr)); if(axis == 0){ - y.push_back(NDArrayFactory::create_('c', {p.getIntParam("rows")})); + y.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("rows")))); } else { - y.push_back(NDArrayFactory::create_('c', {p.getIntParam("cols")})); + y.push_back(new NDArray(NDArrayFactory::vector(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(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}))); } }; @@ -1264,10 +1262,10 @@ 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); + auto arr = NDArrayFactory::create(shape); + x.push_back(new NDArray(arr)); + y.push_back(new NDArray(NDArrayFactory::vector(vectorLength))); + z.push_back(new NDArray(arr)); }; std::string name("bArr-r"); name += std::to_string(rank); name += "a"; name += std::to_string(axis); @@ -1291,21 +1289,20 @@ 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){ - 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"); @@ -1315,21 +1312,20 @@ 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){ - 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"); @@ -1351,21 +1347,20 @@ 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){ - 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"); @@ -1386,22 +1381,20 @@ 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){ - 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::vector(1))); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "Strided Sum"); @@ -1411,20 +1404,19 @@ 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){ - 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::vector(1)); auto iargs = new Nd4jLong[1]; iargs[0] = 0; ctx->setIArguments(iargs, 1); @@ -1457,19 +1449,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(std::vector{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}); + result = NDArrayFactory::vector(cols); } else { - result = NDArrayFactory::create_('c', {rows}); + result = NDArrayFactory::vector(rows); } - z.push_back(result); + z.push_back(new NDArray(result)); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -1486,22 +1478,22 @@ 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; 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}); + result = NDArrayFactory::vector(cols); } else { - result = NDArrayFactory::create_('c', {rows}); + result = NDArrayFactory::vector(rows); } - ctx->setOutputArray(0, result, true); + ctx->setOutputArray(0, result); return ctx; }; @@ -1525,11 +1517,11 @@ 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(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 +1534,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::vector(p.getIntParam("length"))); + ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0)); + ctx->setOutputArray(0, NDArrayFactory::create(0)); return ctx; }; @@ -1563,21 +1555,20 @@ 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)); + 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(std::vector{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.f))); TransformBenchmark tbExp(transform::StrictOps::Exp, "exp view"); @@ -1596,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")}); - x.push_back(arr1); - y.push_back(arr2); + 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(arr1); + z.push_back(new NDArray(arr1)); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + z.push_back(new NDArray(NDArrayFactory::vector(p.getIntParam("length")))); } }; @@ -1625,13 +1616,13 @@ 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::vector(p.getIntParam("length")); + 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::vector(p.getIntParam("length")))); } }; @@ -1644,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")}); - 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); + auto in0 = NDArrayFactory::vector(p.getIntParam("length")); + in0.assign(0.25); + auto in1 = NDArrayFactory::vector(p.getIntParam("length")); + in1.assign(0.5); + ctx->setInputArray(0, in0); + ctx->setInputArray(1, in1); + ctx->setOutputArray(0, NDArrayFactory::vector(p.getIntParam("length"))); return ctx; }; @@ -1661,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")}); - in0->assign(0.25); - auto in1 = NDArrayFactory::create_('c', {p.getIntParam("length")}); - 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); + auto in0 = NDArrayFactory::vector(p.getIntParam("length")); + in0.assign(0.25); + auto in1 = NDArrayFactory::vector(p.getIntParam("length")); + in1.assign(0.5); + 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::vector(p.getIntParam("length"))); return ctx; }; @@ -1691,13 +1682,13 @@ 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::vector(p.getIntParam("length")); + 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::vector(p.getIntParam("length")))); } }; @@ -1715,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")}); - arr->assign(1.0); - x.push_back(arr); + 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(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(std::vector{p.getIntParam("rows"), p.getIntParam("cols")}))); } }; @@ -1741,18 +1732,18 @@ 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::vector(p.getIntParam("length")); + 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::vector(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"); @@ -1774,13 +1765,13 @@ 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::vector(p.getIntParam("length")); + 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::vector(p.getIntParam("length")))); } }; @@ -1789,9 +1780,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 99a1b05bf92a..99207597c537 100644 --- a/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp +++ b/libnd4j/include/performance/benchmarking/impl/LightBenchmarkSuit.cpp @@ -46,18 +46,19 @@ 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::vector(p.getIntParam("length")); + 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")})); + auto arrV = NDArrayFactory::vector(p.getIntParam("length")); + z.push_back(new NDArray(arrV)); } }; 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"); @@ -82,13 +83,14 @@ 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::vector(p.getIntParam("length")); + 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")})); + auto zArr = NDArrayFactory::vector(p.getIntParam("length")); + z.push_back(new NDArray(zArr)); } }; @@ -97,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)"); @@ -122,14 +124,15 @@ 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::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(arr1); + z.push_back(new NDArray(arr1)); } else { - z.push_back(NDArrayFactory::create_('c', {p.getIntParam("length")})); + auto zArr = NDArrayFactory::vector(p.getIntParam("length")); + z.push_back(new NDArray(zArr)); } }; @@ -157,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); - z.push_back(arr2); + 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)); }; TransformBenchmark tb(transform::AnyOps::Assign, "assign"); @@ -176,15 +179,15 @@ namespace sd { bool nchw = p.getIntParam("nchw"); 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})); + 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(std::vector{mb, hw, hw, c}))); } 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})); + 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(std::vector{mb, c, hw, hw}))); } }; @@ -200,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}); @@ -213,13 +216,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(shapeA); + auto B = NDArrayFactory::create(shapeB); + auto C = NDArrayFactory::create(std::vector{a, c}, {}, resultOrder); - 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; @@ -246,11 +249,11 @@ 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(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"); @@ -267,9 +270,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::vector(p.getIntParam("length"))); + ctx->setInputArray(1, NDArrayFactory::create((Nd4jLong)0)); + ctx->setOutputArray(0, NDArrayFactory::create(0)); return ctx; }; @@ -298,19 +301,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(std::vector{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}); + result = NDArrayFactory::vector(cols); } else { - result = NDArrayFactory::create_('c', {rows}); + result = NDArrayFactory::vector(rows); } - z.push_back(result); + z.push_back(new NDArray(result)); }; ReductionBenchmark rbSum(reduce::SameOps::Sum, "sum"); @@ -331,22 +334,22 @@ 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; 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}); + result = NDArrayFactory::vector(cols); } else { - result = NDArrayFactory::create_('c', {rows}); + result = NDArrayFactory::vector(rows); } - ctx->setOutputArray(0, result, true); + ctx->setOutputArray(0, result); return ctx; }; @@ -382,22 +385,22 @@ 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}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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, 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 @@ -437,18 +440,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(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}); - ctx->setInputArray(0, input, true); - ctx->setOutputArray(0, output, true); + 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); } - 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 +459,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 +496,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)); //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(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}), 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(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}); - - 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(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); + 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 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 +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, true); + ctx->setInputArray(0, arr); if(a == 0){ - ctx->setInputArray(1, NDArrayFactory::create_('c', {rows, 1}), true); + ctx->setInputArray(1, NDArrayFactory::create(std::vector{rows, 1})); } else { - ctx->setInputArray(1, NDArrayFactory::create_('c', {1, p.getIntParam("cols")}), true); + 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")}), true); + ctx->setOutputArray(0, NDArrayFactory::create(std::vector{rows, p.getIntParam("cols")})); } return ctx; }; 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.); diff --git a/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp index 199cb88eb0d5..cc3b0c83fb8f 100644 --- a/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/BooleanOpsTests.cpp @@ -32,33 +32,27 @@ 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) { - 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) { - 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; @@ -67,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; @@ -76,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; @@ -85,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; @@ -94,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; @@ -102,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; @@ -111,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); @@ -122,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; @@ -130,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..d516c79eac39 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,11 +283,11 @@ 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 buffO1 = reinterpret_cast(o.buffer()); + 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); @@ -295,7 +295,7 @@ TEST_F(BroadcastableOpsTests, Test_Inplace_Output_1) { 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(e.isSameShape(o)); ASSERT_TRUE(e.equalsTo(o)); @@ -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({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 = 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('c', {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,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 = NDArrayFactory::create({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 x = NDArrayFactory::create({1, 0, 2}); NDArray y('c', {}, std::vector{0.1}, sd::DataType::FLOAT32); - NDArray e = NDArrayFactory::create('c', {1, 0, 2});; + 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}); @@ -687,8 +687,8 @@ 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 x = NDArrayFactory::create({0, 4}); + NDArray e = NDArrayFactory::create({0, 4});; sd::ops::greater op; @@ -752,7 +752,7 @@ 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}); + auto y = NDArrayFactory::create({3}, {2, 1, 2}); NDArray z('c', {3}, sd::DataType::BOOL); NDArray e('c', {3}, sd::DataType::BOOL); @@ -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}); + auto y = NDArrayFactory::create({3}, {2, 1, 2}); NDArray z('c', {3}, sd::DataType::INT32); - auto e = NDArrayFactory::create('c', {3}, {2, 1, 2}); + 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::vector(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 5167abcd1c01..9f2a56f3a930 100644 --- a/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConditionalTests.cpp @@ -47,14 +47,14 @@ 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(); - 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); @@ -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 a9a42ac8818f..4bbaefd3355a 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,48 +124,42 @@ 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); + 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( {128, 256}); - auto dup = new NDArray(array->dup('f')); + auto dup = array.dup('f'); - ASSERT_TRUE(dup->shapeInfo() != nullptr); + 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->special(), shape::shapeInfoLength(2), 0); + // manager.printDevContentOnDev(dup->specialShapeInfo(), shape::shapeInfoLength(2), 0); #endif - - delete array; - delete dup; } 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"); 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 +174,13 @@ 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); + auto strided = array.subarray(indices); strided.assign(1.0f); //strided->printIndexedBuffer("column"); - - delete array; } TEST_F(ConstantHelperTests, basic_test_1) { @@ -240,4 +232,4 @@ TEST_F(ConstantShapeHelperTests, ShapeDescriptor_1) { ShapeDescriptor descr2(shapeInfo2); ASSERT_FALSE(descr1 == descr2); -} \ No newline at end of file +} diff --git a/libnd4j/tests_cpu/layers_tests/ContextTests.cpp b/libnd4j/tests_cpu/layers_tests/ContextTests.cpp index 57d9ce88d94d..eb3ab6d72809 100644 --- a/libnd4j/tests_cpu/layers_tests/ContextTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ContextTests.cpp @@ -34,14 +34,14 @@ 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); + _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); @@ -62,14 +62,14 @@ 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); + _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); @@ -92,9 +92,9 @@ 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, _20); + ctx.pushNDArrayToVariableSpace(1, 1, new NDArray(_20)); ASSERT_TRUE(variableSpace.hasVariable(1, 1)); } @@ -105,17 +105,17 @@ TEST_F(ContextTests, Basic_Test_4) { Context ctx(1, &variableSpace); - auto _20 = NDArrayFactory::create_('c', {2, 2}); - _20->linspace(1); + auto _20 = NDArrayFactory::create( {2, 2}); + _20.linspace(1); - auto _21 = NDArrayFactory::create_('c', {2, 2}); - _21->linspace(10); + auto _21 = NDArrayFactory::create( {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); @@ -127,24 +127,22 @@ TEST_F(ContextTests, Basic_Test_5) { Context ctx(1, &variableSpace); - auto _20 = NDArrayFactory::create_('c', {2, 2}); - _20->linspace(1); + auto _20 = NDArrayFactory::create( {2, 2}); + _20.linspace(1); - auto exp = new NDArray(_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; } @@ -185,14 +183,14 @@ TEST_F(ContextTests, Basic_Test_7) { ASSERT_TRUE(v1 == var1); - auto _10 = NDArrayFactory::create_('c', {2, 2}); - _10->linspace(1); + auto _10 = NDArrayFactory::create( {2, 2}); + _10.linspace(1); - auto _11 = NDArrayFactory::create_('c', {2, 2}); - _11->linspace(10); + auto _11 = NDArrayFactory::create( {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); @@ -206,14 +204,14 @@ TEST_F(ContextTests, Basic_Test_8) { Context ctx(1, &variableSpace); - auto _10 = NDArrayFactory::create_('c', {2, 2}); - _10->linspace(1); + auto _10 = NDArrayFactory::create( {2, 2}); + _10.linspace(1); - auto _11 = NDArrayFactory::create_('c', {2, 2}); - _11->linspace(10); + auto _11 = NDArrayFactory::create( {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); @@ -229,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); @@ -285,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()); @@ -314,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()); @@ -334,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 b879854583e0..122bf6e68b99 100644 --- a/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/ConvolutionTests1.cpp @@ -60,23 +60,23 @@ 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}); - for (int e = 0; e < input->lengthOf(); e++) - input->p(e, e + 1); + 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); - for (int e = 0; e < weights->lengthOf(); e++) - weights->p(e, e + 1); - weights->permutei({2,3,1,0}); + 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); - variableSpace->putVariable(-2, weights); + 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}); @@ -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.; @@ -322,7 +322,7 @@ TEST_F(ConvolutionTests1, conv2d_9) { 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('c', {oC}, {-1,2,0.5}, sd::DataType::FLOAT32); + NDArray bias( 'c', {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, 84.200005, 76.400009, -221.5, -226.899994, -237.699997, -243.099991, -241.899994, -248.5, -261.700012, -268.299988, @@ -393,18 +393,18 @@ TEST_F(ConvolutionTests1, sconv2d_1) { int iX = 10; int B = 2; - auto input = NDArrayFactory::create_('c', {B, iC, iY, iX}); - for (int e = 0; e < input->lengthOf(); e++) - input->p(e, e+1); + 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}); - for (int e = 0; e < weights->lengthOf(); e++) - weights->p(e, e+1); - weights->permutei({2,3,1,0}); + 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}); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, input); - variableSpace->putVariable(-2, weights); + variableSpace->putVariable(-1, new NDArray(input)); + variableSpace->putVariable(-2, new NDArray(weights)); auto block = new Context(1, variableSpace, false); block->fillInputs({-1, -2}); @@ -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::vector(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}); @@ -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, @@ -744,7 +744,7 @@ TEST_F(ConvolutionTests1, deconv2d_bp_1) { 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 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('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, @@ -795,7 +795,7 @@ TEST_F(ConvolutionTests1, deconv2d_bp_2) { 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 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('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, @@ -839,7 +839,7 @@ TEST_F(ConvolutionTests1, deconv2d_bp_3) { 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 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('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, @@ -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::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}); + 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); @@ -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); @@ -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); @@ -1649,8 +1649,6 @@ TYPED_TEST(TypedConvolutionTests1, conv3d_bp_test3) { ASSERT_TRUE(expGradB.isSameShape(gradB)); ASSERT_TRUE(expGradB.equalsTo(gradB)); - - } ////////////////////////////////////////////////////////////////////// @@ -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('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 +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('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 +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('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 +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('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::vector(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('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 +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('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 +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('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 +1957,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 +1971,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}); @@ -2023,8 +2021,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.; @@ -2045,9 +2043,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.; @@ -2138,12 +2136,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::vector(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}); @@ -2201,14 +2199,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, @@ -2237,13 +2235,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; @@ -2261,10 +2259,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, @@ -2288,10 +2286,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, @@ -2316,10 +2314,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, @@ -2352,10 +2350,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, @@ -2387,11 +2385,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; @@ -2405,10 +2403,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}; @@ -2502,9 +2500,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, @@ -2533,9 +2531,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, @@ -2563,11 +2561,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::vector(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}); @@ -2628,9 +2626,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); @@ -2652,8 +2650,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, @@ -2663,7 +2661,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); @@ -2683,9 +2681,9 @@ 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.}); - 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::vector(2); input.linspace(1); bias.linspace(1); @@ -2828,10 +2826,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, diff --git a/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp b/libnd4j/tests_cpu/layers_tests/ConvolutionTests2.cpp index 39277cd87038..7b51fb1104f2 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::vector(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::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); 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,12 +899,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -943,12 +943,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -987,12 +987,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -1031,12 +1031,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -1075,12 +1075,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -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); @@ -1124,8 +1124,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); @@ -1146,8 +1146,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); @@ -1180,7 +1180,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}); @@ -1199,12 +1199,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}); @@ -1244,8 +1244,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.); @@ -1268,8 +1268,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, @@ -1295,8 +1295,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.); @@ -1319,8 +1319,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, @@ -1358,8 +1358,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.); @@ -1380,8 +1380,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, @@ -1406,8 +1406,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.); @@ -1429,8 +1429,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, @@ -1457,9 +1457,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, @@ -1490,9 +1490,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, @@ -1525,9 +1525,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, @@ -1555,9 +1555,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, @@ -1586,9 +1586,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, @@ -1615,9 +1615,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, @@ -1646,9 +1646,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, @@ -1678,9 +1678,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, @@ -1703,13 +1703,13 @@ 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, 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); @@ -1765,9 +1765,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.); @@ -1790,9 +1790,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.); @@ -1816,9 +1816,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.); @@ -1842,9 +1842,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.); @@ -1868,8 +1868,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); @@ -1887,13 +1887,13 @@ 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, 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); @@ -1923,9 +1923,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.); @@ -1948,9 +1948,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, @@ -1978,9 +1978,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, @@ -2008,9 +2008,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}); @@ -2036,9 +2036,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}); @@ -2058,13 +2058,13 @@ 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, 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); @@ -2097,9 +2097,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, @@ -2129,9 +2129,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, @@ -2158,11 +2158,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; @@ -2182,11 +2182,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; @@ -2238,11 +2238,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}); @@ -2268,11 +2268,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); @@ -2298,9 +2298,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); @@ -2356,8 +2356,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); @@ -2588,10 +2588,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); @@ -2626,10 +2626,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); @@ -2657,10 +2657,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(); @@ -2786,16 +2786,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); 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 3d6886565cee..b88753ca1511 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/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); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp index a5715fd01c55..b5fde228b59c 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp @@ -97,25 +97,25 @@ 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({ 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); + x2.assign(1.0f); + x3.assign(1.0f); + x4.assign(1.0f); 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(); @@ -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,16 +609,17 @@ 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({ 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -626,9 +627,8 @@ TEST_F(DeclarableOpsTests1, AddMatrices1) { addOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); - delete exp; delete block; delete variableSpace; @@ -637,16 +637,17 @@ 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 }); - x->assign(2); - y->assign(1); - exp->assign(3); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -654,9 +655,8 @@ TEST_F(DeclarableOpsTests1, AddVectorVector1) { addOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); - delete exp; delete block; delete variableSpace; } @@ -664,16 +664,17 @@ 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 }); - x->assign(2); - y->assign(1); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -681,7 +682,7 @@ TEST_F(DeclarableOpsTests1, AddMatrixScalar1) { addOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -690,16 +691,17 @@ 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 }); - x->assign(2); - y->assign(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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -707,7 +709,7 @@ TEST_F(DeclarableOpsTests1, AddScalarScalar1) { addOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -716,16 +718,17 @@ 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 }); - x->assign(3); - y->assign(1); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -733,8 +736,7 @@ TEST_F(DeclarableOpsTests1, SubtractMatrices1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); - + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -743,16 +745,17 @@ 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 }); - x->assign(3); - y->assign(1); - exp.assign(2); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -760,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; @@ -769,15 +771,14 @@ 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); - sd::ops::subtract subOp; auto res = subOp.evaluate({ &x, &y }); @@ -785,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) { @@ -798,9 +797,9 @@ 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, x); + variableSpace->putVariable(-1, new NDArray(x)); auto block = new Context(1, variableSpace, true); block->fillInputs({-1}); block->setRNG(rng); @@ -813,7 +812,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; @@ -826,20 +825,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 exp = NDArrayFactory::create('c', { 5, 5 }); - x->assign(3); - y->assign(1); - z->assign(2); - exp.assign(6); + 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(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({ 5, 5 }))); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2, -3 }); @@ -859,17 +858,18 @@ TEST_F(DeclarableOpsTests1, MergeSumTest1) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, ClipByValue1) { - 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); + 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); + exp.assign(3.f); + exp.p(0, 0.f); + exp.p(1, 2.f); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, pX); variableSpace->putVariable(1, new Variable()); auto block = new Context(1, variableSpace, true); block->getTArguments()->push_back(0.0f); @@ -880,7 +880,7 @@ TEST_F(DeclarableOpsTests1, ClipByValue1) { clip.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; @@ -890,22 +890,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 }); - x->assign(3); - y->assign(1); - z->assign(2); - exp.assign(2); + 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, 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({ 5, 5 }))); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2, -3 }); @@ -925,16 +925,17 @@ 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 }); - x->assign(3); - y->assign(1); - exp.assign(2); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -942,7 +943,7 @@ TEST_F(DeclarableOpsTests1, SubtractVectorVector1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete block; delete variableSpace; @@ -953,16 +954,17 @@ 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 }); - x->assign(3); - y->assign(1); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -970,7 +972,7 @@ TEST_F(DeclarableOpsTests1, SubtractMatrixScalar1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete block; delete variableSpace; @@ -980,16 +982,17 @@ 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 }); - x->assign(3); - y->assign(1); - exp.assign(2); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -997,7 +1000,7 @@ TEST_F(DeclarableOpsTests1, SubtractScalarScalar1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete block; delete variableSpace; @@ -1006,16 +1009,17 @@ 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 }); - x->assign(3.f); - y->assign(1.f); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1023,7 +1027,7 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrices1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1032,9 +1036,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); @@ -1053,9 +1057,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); @@ -1078,9 +1082,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::vector(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); @@ -1100,9 +1104,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::vector(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); @@ -1128,9 +1132,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); @@ -1146,23 +1150,22 @@ 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({ 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1170,27 +1173,27 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractVectorVector1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); 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({ 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1198,27 +1201,27 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractMatrixScalar1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); 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({ 1, 1 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 1, 1 }); + x.assign(3); + y.assign(1); + exp.assign(-2); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1226,26 +1229,26 @@ TEST_F(DeclarableOpsTests1, ReverseSubtractScalarScalar1) { subOp.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); 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({ 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1253,26 +1256,26 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrices1) { mul.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); 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 }); - x->assign(2); - y->assign(3); - exp->assign(6); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1280,26 +1283,26 @@ TEST_F(DeclarableOpsTests1, MultiplyVectorVector1) { mul.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); 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({ 5, 3 }); + auto y = NDArrayFactory::create({ 1, 1 }); + auto exp = NDArrayFactory::create({ 5, 3 }); + x.assign(2); + y.assign(3); + exp.assign(6); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1307,26 +1310,26 @@ TEST_F(DeclarableOpsTests1, MultiplyMatrixScalar) { mul.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); 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 }); - x->assign(2); - y->assign(3); - exp->assign(6); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1334,40 +1337,40 @@ TEST_F(DeclarableOpsTests1, MultiplyScalarScalar1) { mul.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); delete block; delete variableSpace; - delete exp; } ////////////////////////////////////////////////////////////////////// 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); + 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 }); - epsilon->p(0, 0.1f); - epsilon->p(1, 0.2f); - epsilon->p(2, 0.3f); - epsilon->p(3, 0.4f); + 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 }); - output->assign(1.0f); + auto output = NDArrayFactory::create({ 2, 2 }); + 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); + auto exp = NDArrayFactory::create({ 2, 2 }); + exp.p(0, -0.019661194f); + exp.p(1, 0.019661194f); + exp.p(2, -0.019661194f); + exp.p(3, 0.019661194f); + auto pOutput = new NDArray(output); 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, pOutput); + //variableSpace->putVariable(42, new NDArray(exp)); auto block = new Context(1, variableSpace, false); block->fillInputs({ -1, -2 }); @@ -1377,20 +1380,19 @@ 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; - delete exp; } ////////////////////////////////////////////////////////////////////// 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); @@ -1408,9 +1410,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); @@ -1427,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 }); @@ -1443,9 +1445,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); @@ -1469,16 +1471,17 @@ 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 }); - x->assign(6); - y->assign(2); - exp->assign(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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1486,26 +1489,26 @@ TEST_F(DeclarableOpsTests1, DivideMatrices1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(exp)); + ASSERT_TRUE(pX->equalsTo(exp)); 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 exp = NDArrayFactory::create('c', { 1, 15 }); - x->assign(6); - y->assign(2); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1513,7 +1516,7 @@ TEST_F(DeclarableOpsTests1, DivideVectorVector1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1522,16 +1525,17 @@ 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 }); - x->assign(6); - y->assign(2); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1539,7 +1543,7 @@ TEST_F(DeclarableOpsTests1, DivideMatrixScalar1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete block; delete variableSpace; @@ -1549,16 +1553,17 @@ 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 }); - x->assign(6); - y->assign(2); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1566,7 +1571,7 @@ TEST_F(DeclarableOpsTests1, DivideScalarScalar1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1575,16 +1580,17 @@ 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 }); - x->assign(2); - y->assign(6); + 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); + auto pX = new NDArray(x); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, new NDArray(y)); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1592,7 +1598,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrices1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1601,16 +1607,18 @@ 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 }); - x->assign(2); - y->assign(6); + 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); + auto pX = new NDArray(x); + auto pY = new NDArray(y); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, pY); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1618,7 +1626,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideVectorVector1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1627,16 +1635,18 @@ 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 }); - x->assign(2); - y->assign(6); + 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); + auto pX = new NDArray(x); + auto pY = new NDArray(y); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, pY); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1644,7 +1654,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideMatrixScalar1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1653,16 +1663,17 @@ 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 }); - x->assign(2); - y->assign(6); + 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); - + auto pX = new NDArray(x); + auto pY = new NDArray(y); auto variableSpace = new VariableSpace(); - variableSpace->putVariable(-1, x); - variableSpace->putVariable(-2, y); + variableSpace->putVariable(-1, pX); + variableSpace->putVariable(-2, pY); auto block = new Context(1, variableSpace, true); block->fillInputs({ -1, -2 }); @@ -1670,7 +1681,7 @@ TEST_F(DeclarableOpsTests1, ReverseDivideScalarScalar1) { div.execute(block); - ASSERT_TRUE(x->equalsTo(&exp)); + ASSERT_TRUE(pX->equalsTo(&exp)); delete variableSpace; delete block; @@ -1678,8 +1689,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; @@ -1700,15 +1711,15 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // ////////////////////////////////////////////////////////////////////// // TEST_F(DeclarableOpsTests1, TestLegacyExecution1) { -// auto x = NDArrayFactory::create_('c', {10, 10}); -// x->assign(1.0f); +// 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"); @@ -1718,10 +1729,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]; @@ -1735,7 +1746,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; @@ -1750,15 +1761,15 @@ TEST_F(DeclarableOpsTests1, TestRegistrator1) { // ////////////////////////////////////////////////////////////////////// // TEST_F(DeclarableOpsTests1, TestLegacyExecution2) { -// auto x = NDArrayFactory::create_('c', {10, 10}); -// x->assign(1.0f); +// 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"); @@ -1768,10 +1779,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]; @@ -1780,7 +1791,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; @@ -1826,11 +1837,11 @@ 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, x); + variableSpace->putVariable(-1, new NDArray(x)); variableSpace->putVariable(1, new Variable()); auto block = new Context(1, variableSpace, false); // not-in-place @@ -1842,11 +1853,10 @@ 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 exp; delete block; delete variableSpace; } @@ -1910,17 +1920,17 @@ TEST_F(DeclarableOpsTests1, TestArgumentsValidation1) { ASSERT_TRUE(status != 0); - delete exp; delete block; delete variableSpace; + delete exp; } ////////////////////////////////////////////////////////////////////// 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, input); + variableSpace->putVariable(-1, new NDArray(input)); auto block = new Context(1, variableSpace, false); // not-in-place block->fillInputs({ -1 }); @@ -1930,8 +1940,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); @@ -1952,10 +1962,10 @@ 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, input); + variableSpace->putVariable(-1, new NDArray(input)); auto block = new Context(1, variableSpace, false); // not-in-place block->fillInputs({ -1 }); @@ -1969,7 +1979,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]); @@ -1984,24 +1994,24 @@ 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, 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; @@ -2050,12 +2060,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -2175,9 +2185,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 }); @@ -2268,19 +2278,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); @@ -2304,8 +2314,6 @@ TEST_F(DeclarableOpsTests1, sru_bp) { ASSERT_TRUE(expGradW.equalsTo(gradW)); ASSERT_TRUE(expGradB.equalsTo(gradB)); ASSERT_TRUE(expGradInit.equalsTo(gradInit)); - - } ////////////////////////////////////////////////////////////////// @@ -2355,20 +2363,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::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); - 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::vector(4 * K); gradBias.reduceAlongDimension(reduce::Sum, expGradB, { 0 }); // [bS, 4K] -> [4K] NDArray expGradInit('c', { bS,2 * K }, expGradInitBuff); @@ -2398,9 +2406,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::vector(3); exp.assign(4); sd::ops::argmax op; @@ -2417,11 +2425,10 @@ 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::vector(5); exp.assign(2); sd::ops::argmax op; @@ -2440,10 +2447,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::vector(5); exp.assign(2); sd::ops::argmax op; @@ -2461,10 +2468,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::vector(3); exp.assign(4); sd::ops::argmax op; @@ -2483,8 +2490,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); @@ -2504,7 +2511,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); @@ -2526,10 +2533,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::vector(3); exp.assign(0.0f); sd::ops::argmin op; @@ -2548,10 +2555,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; @@ -2569,9 +2576,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; @@ -2588,9 +2595,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 }); @@ -2607,9 +2614,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; @@ -2627,10 +2634,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; @@ -2646,12 +2653,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; @@ -2667,8 +2674,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 }); @@ -2680,8 +2687,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); @@ -2693,7 +2700,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; @@ -2718,7 +2725,7 @@ TEST_F(DeclarableOpsTests1, LRN1) { } TEST_F(DeclarableOpsTests1, Test_Range_Integer_1) { - auto exp = NDArrayFactory::create('c', { 4 }); + auto exp = NDArrayFactory::vector(4); exp.linspace(1); sd::ops::range op; @@ -2738,12 +2745,12 @@ TEST_F(DeclarableOpsTests1, Test_Range_Integer_1) { TEST_F(DeclarableOpsTests1, Test_Range_Integer_2) { - auto exp = NDArrayFactory::create('c', { 4 }); + auto exp = NDArrayFactory::vector(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); @@ -2765,7 +2772,7 @@ TEST_F(DeclarableOpsTests1, Test_Range_Integer_2) { TEST_F(DeclarableOpsTests1, Test_Range_Integer_3) { - auto exp = NDArrayFactory::create('c', { 4 }); + auto exp = NDArrayFactory::vector(4); exp.linspace(1); sd::ops::range op; @@ -3212,9 +3219,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 }, {}, {}, {}); @@ -3231,8 +3238,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 }); @@ -3254,8 +3261,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; @@ -3276,8 +3283,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; @@ -3297,8 +3304,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; @@ -3315,8 +3322,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; @@ -3359,10 +3366,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"); } diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests10.cpp index 2ffc2c22d39a..d51f59335361 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,11 +209,11 @@ 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}); - 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); @@ -233,11 +233,11 @@ 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}); - 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,9 +250,9 @@ 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('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::vector(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::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}); 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 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}); @@ -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 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}); @@ -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, @@ -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 @@ -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 size = NDArrayFactory::create({10, 10}); + NDArray input = NDArrayFactory::create({1, 2,3,4}); + 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('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 size = NDArrayFactory::create({10, 10}); - NDArray expected = NDArrayFactory::create('c', {1, 10, 10, 4}, + NDArray input = NDArrayFactory::create({1, 2,3,4}); + 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, 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 cropSize = NDArrayFactory::create({1, 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::vector({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 cropSize = NDArrayFactory::create({1, 1}); + 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::vector({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}); @@ -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); @@ -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::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, 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::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 }); - 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}, {}, {}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests11.cpp index 97dcf7574e66..c7d06ac08b97 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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}, {}, {}); @@ -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, @@ -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}); @@ -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, @@ -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}, {}, {}); @@ -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}, { + 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, 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); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests12.cpp index 9e5281afe51b..6b4d595bb64b 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,10 +1235,10 @@ 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::vector(4); - auto exp = NDArrayFactory::create({false, false, false, true}); + auto exp = NDArrayFactory::vector({false, false, false, true}); int exclusive, reverse; input.linspace(1); @@ -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::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); 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::vector(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::vector(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::vector(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::vector(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}, { + 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, 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}, { + 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, 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}, { + 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, 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}, { + 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, 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}, { + 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, 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}, { + 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, 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}, { + 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, 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}, { + 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, 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}, { + 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 , 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}, { + 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, 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}, { + 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, 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 }); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests13.cpp index 639d90389dd7..5bc7dce8805e 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,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({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::vector(1)); + ctx->setInputArray(1, NDArrayFactory::create(0)); //Axis 0 sd::ops::argmax op; @@ -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::vector(2); + auto oi = NDArrayFactory::vector(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::vector(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::vector(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 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 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::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. //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()); @@ -373,19 +373,19 @@ 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 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::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('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()); @@ -403,15 +403,15 @@ 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 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 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); - // 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::vector(4); + auto variance = NDArrayFactory::vector(4); + auto gamma = NDArrayFactory::vector(4); + auto beta = NDArrayFactory::vector(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); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests14.cpp index ef35bfa72988..2db4aecf47eb 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(), {2LL, 2LL}); 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::vector(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::vector(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::vector(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::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}); + 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 y = NDArrayFactory::create(0); - auto e = NDArrayFactory::create('c', {0}); + auto x = NDArrayFactory::create({1, 0}); + auto y = NDArrayFactory::vector(std::vector{0}); + auto e = NDArrayFactory::vector(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,11 +812,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({3, 5}); + x.linspace(1); - auto y = NDArrayFactory::create_('c', {5, 3}); - y->linspace(1); + 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}; Nd4jLong _expS[] {2, 3, 3, 1, 3, 0, 1, 102}; // expected shape @@ -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::vector(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::vector(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::vector(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,21 +2067,21 @@ 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 }); 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; @@ -2089,17 +2092,17 @@ 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, x); + variableSpace->putVariable(-1, new NDArray(x)); variableSpace->putVariable(1, new Variable()); 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); @@ -2112,13 +2115,12 @@ TEST_F(DeclarableOpsTests14, Reshape2) { ASSERT_TRUE(result->isSameShape(y)); - delete y; delete block; delete variableSpace; } 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 +2133,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 +2146,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 +2155,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 +2169,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::vector( 60 ); sd::ops::reshape op; auto result = op.evaluate({ &x }, {}, { -1 }); @@ -2181,10 +2183,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 +2198,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 +2211,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 +2221,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 +2237,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,24 +2252,22 @@ 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_(); + 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()); ASSERT_EQ(exp, *result.at(0)); - - delete empty; } 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 +2282,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 +2304,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 +2322,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 +2335,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 +2351,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}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests15.cpp index e01900e87311..69e87e4adbe4 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::vector(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::vector(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(0); 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::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}); @@ -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 }, {}, {}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests16.cpp index cbec08c0ca5b..4f4945738f3c 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::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; @@ -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::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('c', { 200 }); + auto z = NDArrayFactory::vector( 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::vector(c); + auto rowReversed = NDArrayFactory::vector(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,8 @@ 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 +270,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 +294,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 +308,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 +324,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 +340,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 +367,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 +393,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::vector( { 0.545678377f, 0.725874603f, 0.413571358f }); - auto expected = NDArrayFactory::create('c', { 3 }, { + auto expected = NDArrayFactory::vector( { 0.262831867f, 0.430244058f, 0.725874603f }); - auto actual = NDArrayFactory::create('c', { 3 }); + auto actual = NDArrayFactory::vector(3); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -415,12 +416,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 +437,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::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &subArrRgbs); @@ -451,7 +452,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 +466,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 +482,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 +497,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 +511,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 +525,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 +540,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 +566,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 +592,10 @@ TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_4) { TEST_F(DeclarableOpsTests16, test_hsv_to_rgb_5) { - auto hsvs = NDArrayFactory::create('c', { 3 }, { - 0.705504596f, 0.793608069f, 0.65870738f - }); - auto expected = NDArrayFactory::create('c', { 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('c', { 3 }); + auto actual = NDArrayFactory::vector(3); Context ctx(1); ctx.setInputArray(0, &hsvs); @@ -615,18 +612,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::vector(3); //get subarray NDArray subArrHsvs = hsvs.subarray({ NDIndex::all(), NDIndex::point(0) }); subArrHsvs.reshapei({ 3 }); @@ -663,7 +660,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 +676,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 +692,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 +708,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 +724,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 +740,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 +756,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 +786,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 +817,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::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &rgbs); @@ -841,14 +838,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 +861,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::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &subArrRgbs); @@ -879,7 +876,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 +890,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 +904,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 +920,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 +934,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 +948,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 +964,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 +990,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 +1016,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::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &yiqs); @@ -1043,12 +1040,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 +1060,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::vector( 3 ); Context ctx(1); ctx.setInputArray(0, &subArrYiqs); @@ -1077,8 +1074,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 +1088,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 +1104,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 +1125,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 +1135,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 +1149,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 +1169,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 +1187,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 +1205,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 +1223,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 +1255,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 +1273,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 +1292,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 +1327,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 +1349,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 +1371,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 +1387,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 +1401,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 +1437,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 +1459,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}); 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 beccc1aae7f9..7c2b040c3b6f 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::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('c', {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('c', {1000}); + auto x = NDArrayFactory::vector(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::vector(256000); initial = 1.0f; auto exp = initial.dup(); auto neg = initial.like(); @@ -245,7 +245,7 @@ TEST_F(DeclarableOpsTests19, test_threshold_encode_decode) { TEST_F(DeclarableOpsTests19, test_threshold_encode_decode_2) { // [2,1,135079944,1,1,8192,1,99] constexpr int sizeX= 10*1000*1000; - auto initial = NDArrayFactory::create('c', {1, sizeX}); + auto initial = NDArrayFactory::create( {1, sizeX}); initial = 1.0f; auto exp = initial.dup(); auto neg = initial.like(); @@ -294,10 +294,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); @@ -312,10 +312,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); @@ -330,10 +330,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); @@ -349,10 +349,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); @@ -367,10 +367,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); @@ -401,9 +401,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}); @@ -412,8 +412,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; diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests2.cpp index f4847889b8fb..03ffe9fce404 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::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('c', {10000}); + auto expTable = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests3.cpp index 2a099230efdb..c62cd6a0028b 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::vector(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::vector(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::vector(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::vector(2 * numUnits); + auto bc = NDArrayFactory::vector(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::vector(2 * numUnits); + auto bc = NDArrayFactory::vector(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::vector(2 * numUnits); + auto bc = NDArrayFactory::vector(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,15 +900,15 @@ 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}); 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)); @@ -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; @@ -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)); @@ -939,15 +939,15 @@ 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}); 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)); @@ -957,17 +957,17 @@ 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}); 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)); @@ -977,17 +977,17 @@ 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}); 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)); @@ -1000,10 +1000,10 @@ 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}); + auto result = op.evaluate({&input}); ASSERT_EQ(ND4J_STATUS_OK, result.status()); @@ -1011,44 +1011,38 @@ 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}); - auto expected= NDArrayFactory::create('c', {4,4}, {1,0,0,0, 0,2,0,0, 0,0,3,0,0,0,0,4}); + 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) { - 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}, {}, {}); 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)); @@ -1058,17 +1052,17 @@ 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}, {}, {}); 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)); @@ -1078,17 +1072,17 @@ 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}, {}, {}); 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)); @@ -1098,17 +1092,17 @@ 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}, {}, {}); 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)); @@ -1118,19 +1112,19 @@ 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}, {}, {}); 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)); @@ -1140,19 +1134,19 @@ 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}, {}, {}); 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)); @@ -1163,19 +1157,19 @@ 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}, {}, {}); 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)); @@ -1185,19 +1179,19 @@ 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}, {}, {}); 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)); @@ -1207,17 +1201,17 @@ 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}, {}, {}); ASSERT_EQ(ND4J_STATUS_OK, result.status()); - auto *output = result.at(0); + auto output = result.at(0); // output->printBuffer(); ASSERT_TRUE(expected.isSameShape(output)); @@ -1228,17 +1222,17 @@ 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}, {}, {}); 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)); @@ -1248,17 +1242,17 @@ 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}, {}, {}); 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)); @@ -1268,15 +1262,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,22 +1287,22 @@ 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}, {}, {}); 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)); @@ -1318,22 +1312,22 @@ 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}, {}, {}); 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)); @@ -1343,22 +1337,22 @@ 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}, {}, {}); 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)); @@ -1368,22 +1362,22 @@ 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}, {}, {}); 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)); @@ -1393,22 +1387,22 @@ 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}, {}, {}); 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)); @@ -1418,22 +1412,22 @@ 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}, {}, {}); 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)); @@ -1443,22 +1437,22 @@ 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}, {}, {}); 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)); @@ -1469,22 +1463,22 @@ 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}, {}, {}); 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)); @@ -1494,22 +1488,22 @@ 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}, {}, {}); 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)); @@ -1560,20 +1554,20 @@ 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}, {}, {}); 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)); @@ -1583,20 +1577,20 @@ 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}, {}, {}); 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)); @@ -1607,13 +1601,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}, {}, {}); @@ -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)); @@ -1632,20 +1626,20 @@ 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}, {}, {}); 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)); @@ -1654,13 +1648,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; @@ -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)); @@ -1678,20 +1672,20 @@ 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}, {}, {}); 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)); @@ -1701,13 +1695,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; @@ -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)); @@ -1725,20 +1719,20 @@ 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}, {}, {}); 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)); @@ -1749,21 +1743,21 @@ 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}, {}, {}, {}); 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)); @@ -1774,21 +1768,21 @@ 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}, {}, {}, {}); 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)); @@ -1798,12 +1792,12 @@ TEST_F(DeclarableOpsTests3, zeta_test10) { TEST_F(DeclarableOpsTests3, Test_SplitV_Validation_1) { - auto x = NDArrayFactory::create('c', {8, 7}); - auto indices = NDArrayFactory::create('c',{2}, {5, 3}); + auto x = NDArrayFactory::create( {8, 7}); + auto indices = NDArrayFactory::create({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 +1807,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 +1832,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 +1857,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 +1919,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 +1955,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 +1991,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 +2027,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 +2063,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 +2099,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 +2153,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 +2175,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 +2195,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 +2204,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 +2255,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 +2328,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 +2390,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 +2511,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 +2527,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 +2545,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 +2560,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 +2577,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 +2592,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}, {}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests4.cpp index 56e5e213a0bb..6f31a483a4f1 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,12 +394,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -437,12 +437,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -480,12 +480,12 @@ 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(); - variableSpace->putVariable(-1, x); + variableSpace->putVariable(-1, new NDArray(x)); // variableSpace->putVariable(1, &z); auto block = new Context(1, variableSpace, false); @@ -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::vector(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::vector(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::vector(3 * numUnits); + auto Wp = NDArrayFactory::create( {numUnits, numProj}); + auto b = NDArrayFactory::vector(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}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests5.cpp index c68392da1148..e1dab6f0dc8f 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,9 +770,9 @@ 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 indices = NDArrayFactory::create(shape, {2}); auto expected = NDArrayFactory::create(3.); sd::ops::gather_nd op; @@ -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}, {}, {}); @@ -1562,7 +1562,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.); @@ -1578,7 +1578,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.); @@ -1594,7 +1594,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.); @@ -1610,9 +1610,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}); @@ -1626,7 +1626,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); NDArray exp1 = input.dup(); NDArray exp2('c',{2,2,2}, {5,6,7,8, 1,2,3,4}, sd::DataType::DOUBLE); @@ -1642,7 +1642,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); NDArray exp1 = input.dup(); @@ -1657,7 +1657,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); NDArray exp1 = input.dup(); NDArray exp2('c',{3,2,1}, {1,2, 5,6, 3,4}, sd::DataType::DOUBLE); @@ -1677,7 +1677,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test3) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test4) { - auto input = NDArrayFactory::create('c', {3, 2, 1}); + auto input = NDArrayFactory::create( {3, 2, 1}); input.linspace(1); NDArray exp1 = input.dup(); NDArray exp2('c',{3,2,1}, {1,2, 5,6, 3,4}, sd::DataType::DOUBLE); @@ -1697,7 +1697,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test4) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test5) { - auto input = NDArrayFactory::create('c', {4}); + auto input = NDArrayFactory::vector(4); input.linspace(1); sd::ops::random_shuffle op; @@ -1721,7 +1721,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; @@ -1744,7 +1744,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test6) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test7) { - auto input = NDArrayFactory::create('c', {16010}); + auto input = NDArrayFactory::vector(16010); input.linspace(1); sd::ops::random_shuffle op; @@ -1762,7 +1762,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test7) { ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests5, random_shuffle_test8) { - auto input = NDArrayFactory::create('c', {1,4,1}); + auto input = NDArrayFactory::create( {1,4,1}); input.linspace(1); NDArray inCopy = input.dup(); @@ -1775,7 +1775,7 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test8) { TEST_F(DeclarableOpsTests5, random_shuffle_test9) { - auto x = NDArrayFactory::create('c', {4}, {1, 2, 3, 4}); + auto x = NDArrayFactory::create( {4}, {1, 2, 3, 4}); auto z = x.ulike(); sd::ops::random_shuffle op; @@ -1791,12 +1791,12 @@ TEST_F(DeclarableOpsTests5, random_shuffle_test9) { 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, @@ -1824,13 +1824,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, @@ -1861,8 +1861,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, @@ -1872,14 +1872,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') @@ -1917,14 +1917,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}); @@ -1945,25 +1945,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}); @@ -1986,13 +1986,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; @@ -2014,13 +2014,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; @@ -2050,13 +2050,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}, {}, {}); @@ -2066,13 +2066,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( std::vector{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}, {}, {}); @@ -2085,13 +2085,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}, {}, {}); @@ -2110,13 +2110,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}, {}, {}); @@ -2138,16 +2138,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::vector(4); scale = 0.5; - auto offset = NDArrayFactory::create('c', {4}); + auto offset = NDArrayFactory::vector(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; @@ -2167,17 +2167,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::vector(4); scale = 0.5; - auto offset = NDArrayFactory::create('c', {4}); + auto offset = NDArrayFactory::vector(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}); @@ -2196,17 +2196,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::vector(4); scale = 0.5; - auto offset = NDArrayFactory::create('c', {4}); + auto offset = NDArrayFactory::vector(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}); @@ -2225,22 +2225,22 @@ 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); - 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.; 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 expBatchMean = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); - auto expBatchVar = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); + 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(shape, {0., 0., 0., 0.}); + auto expBatchVar = NDArrayFactory::create(shape, {0., 0., 0., 0.}); sd::ops::fused_batch_norm op; @@ -2260,22 +2260,22 @@ 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); - 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.; 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 expBatchMean = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); - auto expBatchVar = NDArrayFactory::create('c', shape, {0., 0., 0., 0.}); + 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(shape, {0., 0., 0., 0.}); + auto expBatchVar = NDArrayFactory::create(shape, {0., 0., 0., 0.}); sd::ops::fused_batch_norm op; @@ -2295,9 +2295,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}, {}, {}); @@ -2314,9 +2314,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}); @@ -2333,10 +2333,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}); @@ -2352,10 +2352,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}); @@ -2372,7 +2372,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}); @@ -2390,7 +2390,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}, {}, {}); @@ -2405,7 +2405,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}, {}, {}); @@ -2420,11 +2420,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 }); @@ -2440,11 +2440,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 }, {}, {}); @@ -2460,11 +2460,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 }); @@ -2478,11 +2478,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 }); @@ -2497,14 +2497,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; @@ -2520,12 +2520,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 }); @@ -2540,12 +2540,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 }); @@ -2560,7 +2560,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}); @@ -2583,7 +2583,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}); @@ -2606,8 +2606,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}); @@ -2623,8 +2623,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}); @@ -2640,8 +2640,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}); @@ -2658,8 +2658,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}); @@ -2675,8 +2675,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}); @@ -2692,8 +2692,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}); @@ -2709,8 +2709,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}); @@ -2726,8 +2726,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}); @@ -2743,8 +2743,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}); @@ -2760,8 +2760,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}); @@ -2777,8 +2777,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) { @@ -2797,9 +2797,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}); @@ -2815,9 +2815,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}); @@ -2833,9 +2833,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); @@ -2845,7 +2845,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; @@ -2889,12 +2889,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}); @@ -2910,12 +2910,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}); @@ -2931,14 +2931,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., @@ -2947,7 +2947,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, @@ -2955,7 +2955,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, @@ -2983,14 +2983,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., @@ -2999,14 +2999,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, @@ -3034,14 +3034,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., @@ -3050,14 +3050,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, diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests6.cpp index ed9dbee6877d..94b627d6f154 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()); @@ -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); @@ -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::vector(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; @@ -1109,11 +1109,11 @@ 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::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; @@ -1127,11 +1127,11 @@ 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::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; @@ -1144,11 +1144,11 @@ 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::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; @@ -1161,11 +1161,11 @@ 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('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::vector(1, 1); // int vector {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::vector(2); // long long vector {0LL, 0LL} - 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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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::vector(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}, {}, {}); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests7.cpp index d8478e471333..3eaa137022be 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::vector(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::vector(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::vector(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; @@ -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::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; @@ -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; @@ -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::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; 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::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; auto result = op.evaluate({&x, &idx}, {}, {}); @@ -2372,12 +2370,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 +2387,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 +2402,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 +2416,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 +2437,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 +2458,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 +2475,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 +2503,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 +2534,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 +2569,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 +2600,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 +2613,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 +2640,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 +2654,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 +2674,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 +2688,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 +2708,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 +2722,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 +2749,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 +2763,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 +2788,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 +2796,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 +2813,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 +2843,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 +2874,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 +2938,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 +2947,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 +2981,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 +3024,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 +3053,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 +3086,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 +3117,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 +3153,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 +3211,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 +3234,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 +3257,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 +3278,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 +3300,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 +3325,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 +3350,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 +3374,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 +3397,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 +3420,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 +3443,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 +3463,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 +3486,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 +3511,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 +3534,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 +3557,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 +3582,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 +3606,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 +3630,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 +3654,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 +3678,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 +3701,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 +3725,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 +3749,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 +3773,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 +3797,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 +3821,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 +3845,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 +3865,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 +3883,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 +3899,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 +3915,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 +3931,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 +3948,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 +3964,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 +3980,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 +4000,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 +4027,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 +4047,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 +4070,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 +4089,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 +4108,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 +4126,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 +4148,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 +4166,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 +4182,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 +4202,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 +4221,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 +4239,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 +4261,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 +4277,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 +4293,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 +4319,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 +4343,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 +4366,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 +4388,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 +4406,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 +4424,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 +4442,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 +4460,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 +4478,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 +4496,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 +4513,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 +4532,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 +4550,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 +4568,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 +4586,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 +4604,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 +4622,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 +4640,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 +4658,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 +4684,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 +4701,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 +4718,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 +4735,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 +4752,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 +4771,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 +4791,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 +4811,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 +4831,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 +4851,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 +4871,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 +4891,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 +4910,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 +4930,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 +4950,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 +4970,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 +4990,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 +5010,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 +5028,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 +5043,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 +5062,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 +5082,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 +5102,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 +5122,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 +5142,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 +5162,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 +5182,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 +5202,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 +5222,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 +5242,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 +5262,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 +5282,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 +5302,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 +5322,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 +5341,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 +5361,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 +5381,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 +5401,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 +5421,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 +5441,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 +5460,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 +5479,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 +5499,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 +5519,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 +5539,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 +5559,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 +5579,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 +5599,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 +5618,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 +5637,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 +5656,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 +5675,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 +5695,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 +5715,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 +5735,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 +5754,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 +5773,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 +5792,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 +5811,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 +5831,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 +5851,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 +5871,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 +5890,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 +5911,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 +5932,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 +5953,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 +5978,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 +6005,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 +6026,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 +6047,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 +6070,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 +6093,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 +6118,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 +6142,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 +6168,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 +6191,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 +6214,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 +6244,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 +6274,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 +6298,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 +6323,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 +6349,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 +6378,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 +6408,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 +6432,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 +6451,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 +6469,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 +6487,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 +6506,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 +6525,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 +6545,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 +6565,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 +6585,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 +6610,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 +6636,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 +6660,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 +6684,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 +6708,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 +6732,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 +6754,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 +6775,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 +6797,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 +6818,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 +6845,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 +6876,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 +6908,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::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); eps.linspace(1); y.assign(2.f); @@ -6934,9 +6932,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 +6953,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 +6975,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); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests8.cpp index 0ca5e210ab92..8cd45190cf7e 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(1, 0); // axes = {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::vector(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; @@ -3362,12 +3362,12 @@ 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('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} // ); /// @@ -3387,12 +3387,12 @@ 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('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} // ); /// @@ -3418,12 +3418,12 @@ 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('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} ); /// @@ -3443,10 +3443,10 @@ auto exp = NDArrayFactory::create('c', {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('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} ); diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests9.cpp index f2bd393e41f1..618746f4a596 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); @@ -260,10 +260,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); @@ -284,10 +284,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::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); x1.linspace(1); @@ -306,10 +306,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; @@ -327,9 +327,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; @@ -347,9 +347,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; @@ -369,7 +369,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; @@ -387,7 +387,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; @@ -404,8 +404,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; @@ -422,10 +422,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); @@ -447,10 +447,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); @@ -472,10 +472,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); @@ -497,11 +497,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); @@ -547,9 +548,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}); @@ -566,9 +567,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}); @@ -602,7 +603,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); } } @@ -613,12 +614,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}); - array->assign(e); - context.setInputArray(e, array, true); + auto array = NDArrayFactory::create( {1, 300}); + array.assign(e); + 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); @@ -626,7 +627,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::vector(300); exp.assign(e); auto row = z(e, {0}); ASSERT_EQ(exp, row); @@ -641,12 +642,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}); - array->assign(e); - context.setInputArray(e, array, true); + auto array = NDArrayFactory::create( {1, 5, 20}); + array.assign(e); + 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); @@ -659,10 +660,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); @@ -736,10 +737,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}, {}); @@ -751,10 +752,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; @@ -797,10 +798,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}; @@ -816,9 +817,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); @@ -836,9 +837,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); @@ -855,9 +856,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); @@ -875,9 +876,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::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); @@ -895,9 +896,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::vector(1); + auto gradIExp = NDArrayFactory::create( {1}, {0.01}); gradO.linspace(0.01, 0.01); @@ -915,9 +916,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); @@ -935,10 +936,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); @@ -956,9 +957,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}, {}, {}); @@ -1186,22 +1187,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); @@ -1209,7 +1210,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; @@ -1221,7 +1222,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); @@ -1243,14 +1244,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; @@ -1329,8 +1330,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); @@ -1348,8 +1349,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); @@ -1367,8 +1368,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); @@ -1386,8 +1387,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); @@ -1406,8 +1407,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); @@ -1425,15 +1426,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; @@ -1454,10 +1455,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; @@ -1478,9 +1479,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; @@ -1497,9 +1498,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}); @@ -1515,9 +1516,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}); @@ -1533,9 +1534,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}); @@ -1551,9 +1552,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}); @@ -1569,9 +1570,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}); @@ -1588,9 +1589,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}); @@ -1606,9 +1607,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}); @@ -1624,9 +1625,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}); @@ -1642,9 +1643,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}); @@ -1660,10 +1661,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, @@ -1685,10 +1686,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, @@ -1709,10 +1710,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, @@ -1733,10 +1734,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, @@ -1759,8 +1760,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; @@ -1777,9 +1778,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; @@ -1797,8 +1798,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; @@ -1815,9 +1816,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}, {}, {}); @@ -1833,9 +1834,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}); @@ -1851,11 +1852,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}); @@ -1871,11 +1872,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}); @@ -1893,8 +1894,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}, {}); @@ -1910,9 +1911,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::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); @@ -1930,9 +1931,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); @@ -1950,9 +1951,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); @@ -1970,9 +1971,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; @@ -2007,9 +2008,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}, {}, {}); @@ -2028,9 +2029,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}, {}, {}); @@ -2046,9 +2047,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}, {}, {}); @@ -2064,9 +2065,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}, {}, {}); @@ -2082,9 +2083,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}, {}, {}); @@ -2100,9 +2101,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}, {}, {}); @@ -2118,9 +2119,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}, {}, {}); @@ -2136,9 +2137,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); @@ -2156,10 +2157,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); @@ -2187,12 +2188,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); @@ -2217,11 +2218,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); @@ -2241,10 +2242,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; @@ -2327,8 +2328,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; @@ -2343,8 +2344,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; @@ -2359,8 +2360,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; 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/EmptyTests.cpp b/libnd4j/tests_cpu/layers_tests/EmptyTests.cpp index c142fb9aa8f4..a2718415984f 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; @@ -36,18 +35,6 @@ 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) { auto empty = NDArrayFactory::empty(); ASSERT_TRUE(empty.isEmpty()); @@ -59,14 +46,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_( {(Nd4jLong)0}}; + auto vector = NDArrayFactory::create( {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); @@ -74,23 +60,20 @@ TEST_F(EmptyTests, Test_Concat_1) { // z->printShapeInfo("z shape"); // z->printIndexedBuffer("z buffr"); - ASSERT_EQ(*vector, *z); - - delete empty; - delete vector; + ASSERT_EQ(vector, *z); } 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}); - auto exp = NDArrayFactory::create('c', {2}, {1.f, 2.f}); + NDArray empty('c', {0}, sd::DataType::FLOAT32); //NDArrayFactory::empty_(); + 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}); + auto result = op.evaluate({&empty, &scalar1, &scalar2}, {}, {0}); ASSERT_EQ(Status::OK(), result.status()); auto z = result.at(0); @@ -100,16 +83,13 @@ TEST_F(EmptyTests, Test_Concat_2) { ASSERT_EQ(exp, *z); - delete empty; - delete scalar1; - delete scalar2; } 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()); @@ -127,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()); @@ -150,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::vector(5); + auto indices = NDArrayFactory::create(std::vector{0}); + auto updates = NDArrayFactory::create(std::vector{0}); x.linspace(1.0f); @@ -169,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(std::vector{0}); + auto updates = NDArrayFactory::create(std::vector{0}); x.linspace(1.0f); @@ -183,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()); @@ -194,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()); @@ -205,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(std::vector{0}); std::vector shape = {0}; ASSERT_EQ(sd::DataType::FLOAT32, empty.dataType()); @@ -227,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}, {}, {}); @@ -241,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 437edb52548b..3c25fbb658b1 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..926e5e55c809 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( 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 6d21b00f20e7..6e20b972a920 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}); - x->assign(-2.0f); + 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}); - x->assign(-2.0); + auto x = NDArrayFactory::create( {5, 5}); + x.assign(-2.0); - auto y = NDArrayFactory::create_('c', {5, 5}); - y->assign(-1.0); + auto y = NDArrayFactory::create( {5, 5}); + y.assign(-1.0); - auto z = NDArrayFactory::create_('c', {5, 5}); - - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, y); - graph->getVariableSpace()->putVariable(-3, z); + 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, 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; } @@ -110,15 +110,17 @@ 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( {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); + auto pV0 = new NDArray(v0); + auto pV1 = new NDArray(v1); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + 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; } @@ -142,15 +144,17 @@ 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( {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); + auto pV0 = new NDArray(v0); + auto pV1 = new NDArray(v1); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + 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; } @@ -180,19 +184,21 @@ 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( {5, 5}); + x.assign(-2.0); - auto y = NDArrayFactory::create_('c', {5, 5}); - y->assign(-1.0); + 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); + 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, 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; } @@ -225,24 +231,25 @@ 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 z0 = NDArrayFactory::create_('c', {5, 5}); - auto z1 = NDArrayFactory::create_('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + x.assign(-2.0); + auto y = NDArrayFactory::create( {5, 5}); + y.assign(-1.0); - auto w = 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(-5, w); + 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, 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}); @@ -269,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; } @@ -281,26 +288,28 @@ 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( {5, 5}); + x0.assign(0.0); - auto x1 = NDArrayFactory::create_('c', {5, 5}); - x1->assign(-1.0); + auto x1 = NDArrayFactory::create( {5, 5}); + x1.assign(-1.0); - auto x2 = NDArrayFactory::create_('c', {5, 5}); - x2->assign(-2.0); + auto x2 = NDArrayFactory::create( {5, 5}); + x2.assign(-2.0); - auto x3 = NDArrayFactory::create_('c', {5, 5}); - x3->assign(-3.0); + auto x3 = NDArrayFactory::create( {5, 5}); + x3.assign(-3.0); - auto z = NDArrayFactory::create_('c', {5, 5}); - z->assign(119.0); + 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); + 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, 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}); @@ -325,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; } @@ -333,13 +342,13 @@ TEST_F(GraphTests, QuadInput1) { TEST_F(GraphTests, InternalBranching1) { auto graph = new Graph(); - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(0.0); - - auto z = NDArrayFactory::create_('c', {5, 5}); + auto x = NDArrayFactory::create( {5, 5}); + x.assign(0.0); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, z); + auto z = NDArrayFactory::create( {5, 5}); + auto pZ = new NDArray(z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + graph->getVariableSpace()->putVariable(-2, pZ); // 1.0 auto nodeA = new Node(OpType_TRANSFORM_SAME, transform::Ones, 1, {-1}, {11, 21}); @@ -373,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; } @@ -382,17 +391,17 @@ 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( {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}); - - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, z); + auto z = NDArrayFactory::vector(5); + auto pZ = new NDArray(z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + 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) { @@ -407,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; } @@ -416,19 +425,20 @@ 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( {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); - //graph->getVariableSpace()->putVariable(-3, axis); + 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, 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}); @@ -441,19 +451,18 @@ 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; - delete axis; } #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( {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}, {}); @@ -485,10 +494,10 @@ 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( {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}, {}); @@ -525,19 +534,20 @@ 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( {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( {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}); + auto pZ = new NDArray(z); - 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, 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}); @@ -547,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; } @@ -556,13 +566,14 @@ 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( {5, 5}); + x.assign(-2.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); + auto pZ = new NDArray(z); - graph->getVariableSpace()->putVariable(-1, x); - graph->getVariableSpace()->putVariable(-2, z); + graph->getVariableSpace()->putVariable(-1, new NDArray(x)); + 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}); @@ -577,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; } @@ -585,13 +596,14 @@ 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( {5, 5}); + x.assign(-2.0); - auto z = NDArrayFactory::create_('c', {5, 5}); + auto z = NDArrayFactory::create( {5, 5}); + auto pZ = new NDArray(z); - auto vX = new Variable(x); - auto vZ = new Variable(z); + auto vX = new Variable(new NDArray(x)); + auto vZ = new Variable(pZ); std::string a("alpha"); std::string o("omega"); @@ -633,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; } @@ -643,13 +655,13 @@ TEST_F(GraphTests, OutputValidation1) { graph->getExecutorConfiguration()->_outputMode = OutputMode_EXPLICIT; - 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"); @@ -680,13 +692,13 @@ TEST_F(GraphTests, OutputValidation2) { graph->getExecutorConfiguration()->_outputMode = OutputMode_EXPLICIT; - auto x = NDArrayFactory::create_('c', {5, 5}); - x->assign(-2.0); + 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"); @@ -722,13 +734,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"); @@ -762,13 +774,13 @@ 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( {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"); @@ -808,13 +820,13 @@ 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( {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"); @@ -848,13 +860,13 @@ 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( {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"); @@ -894,14 +906,14 @@ 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( {5, 5}); + x.assign(-2.0f); - auto y = NDArrayFactory::create_('c', {5, 5}); - y->assign(-3.0); + 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 @@ -964,10 +976,10 @@ 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( {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}, {}); @@ -981,16 +993,16 @@ 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( {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}, {}); @@ -1010,10 +1022,10 @@ 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( {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}); @@ -1029,16 +1041,16 @@ 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( {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}); @@ -1054,16 +1066,16 @@ 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( {5, 5}); + x.assign(-2.0f); - graph.getVariableSpace()->putVariable(-1, x); + graph.getVariableSpace()->putVariable(-1, new NDArray(x)); sd::ops::testcustom op; @@ -1084,7 +1096,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,14 +1106,14 @@ 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( {5, 5}); + x.assign(-5.0f); - auto modifier = NDArrayFactory::create_('c', {5, 5}); - modifier->assign(3.0); + 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)); @@ -1160,16 +1172,16 @@ 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( {5, 5}); + x.assign(-5.0f); - auto modifier = NDArrayFactory::create_('c', {5, 5}); - modifier->assign(3.0); + 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); @@ -1225,7 +1237,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); @@ -1263,7 +1275,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); @@ -1298,8 +1310,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(); @@ -1488,7 +1500,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(); @@ -1519,10 +1531,10 @@ 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( {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}, {}); @@ -1566,9 +1578,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}, {}, {}, {}); @@ -1582,9 +1594,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; @@ -1600,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 @@ -1612,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")); diff --git a/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp b/libnd4j/tests_cpu/layers_tests/HelpersTests1.cpp index fae8c49183d5..98c1d16b0594 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::vector(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::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); @@ -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::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 dbe7ccd0a79d..da66ced58c60 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::vector(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/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/JavaInteropTests.cpp b/libnd4j/tests_cpu/layers_tests/JavaInteropTests.cpp index 23080161af1a..b0e4cb2d3f87 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::vector(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::vector(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::vector(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::vector(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); @@ -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('c', {6}); - auto z1 = NDArrayFactory::string( {3}, {"", "", ""}); + auto z0 = NDArrayFactory::vector(6); + auto z1 = NDArrayFactory::string( {3}, std::vector{"", "", ""}); - 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"}); InteropDataBuffer iz0(z0.dataBuffer()); InteropDataBuffer iz1(z1.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]; 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 e16df80e680c..cbc5d046c620 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( {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/LegacyOpsCudaTests.cu b/libnd4j/tests_cpu/layers_tests/LegacyOpsCudaTests.cu index 922d94afdbdc..2044aca9a59b 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); @@ -60,8 +60,8 @@ TEST_F(LegacyOpsCudaTests, test_sortTad_1) { } TEST_F(LegacyOpsCudaTests, test_sort_1) { - auto x = NDArrayFactory::create('c', {4}, {4.f, 2.f, 1.f, 3.f}); - auto e = NDArrayFactory::create('c', {4}, {1.f, 2.f, 3.f, 4.f}); + auto x = NDArrayFactory::create( {4}, {4.f, 2.f, 1.f, 3.f}); + auto e = NDArrayFactory::create( {4}, {1.f, 2.f, 3.f, 4.f}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -73,8 +73,8 @@ TEST_F(LegacyOpsCudaTests, test_sort_1) { } TEST_F(LegacyOpsCudaTests, test_sort_2) { - auto x = NDArrayFactory::create('c', {4}, {4.f, 2.f, 1.f, 3.f}); - auto e = NDArrayFactory::create('c', {4}, {4.f, 3.f, 2.f, 1.f}); + auto x = NDArrayFactory::create( {4}, {4.f, 2.f, 1.f, 3.f}); + auto e = NDArrayFactory::create( {4}, {4.f, 3.f, 2.f, 1.f}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -86,8 +86,8 @@ TEST_F(LegacyOpsCudaTests, test_sort_2) { } TEST_F(LegacyOpsCudaTests, test_sort_3) { - auto x = NDArrayFactory::create('c', {4}, {0.5, 0.4, 0.1, 0.2}); - auto e = NDArrayFactory::create('c', {4}, {0.1, 0.2, 0.4, 0.5}); + auto x = NDArrayFactory::create( {4}, {0.5, 0.4, 0.1, 0.2}); + auto e = NDArrayFactory::create( {4}, {0.1, 0.2, 0.4, 0.5}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -99,8 +99,8 @@ TEST_F(LegacyOpsCudaTests, test_sort_3) { } TEST_F(LegacyOpsCudaTests, test_sort_4) { - auto x = NDArrayFactory::create('c', {4}, {7, 4, 9, 2}); - auto e = NDArrayFactory::create('c', {4}, {2, 4, 7, 9}); + auto x = NDArrayFactory::create( {4}, {7, 4, 9, 2}); + auto e = NDArrayFactory::create( {4}, {2, 4, 7, 9}); Nd4jPointer extras[2] = {nullptr, LaunchContext::defaultContext()->getCudaStream()}; @@ -109,4 +109,4 @@ TEST_F(LegacyOpsCudaTests, test_sort_4) { NDArray::registerSpecialUse({&x}); ASSERT_EQ(e, x); -} \ No newline at end of file +} diff --git a/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/LegacyOpsTests.cpp index fe9c5a7a076a..7644a15dd7ae 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::vector(5); + auto z = NDArrayFactory::vector(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::vector(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,11 +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()); InteropDataBuffer zdb(z.dataBuffer()); @@ -762,7 +761,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 04e4a70e8cf3..6f5eb8750725 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,12 +53,12 @@ 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}); - row->assign((double) e); - list.write(e, row); + auto row = NDArrayFactory::vector(100); + row.assign((double) e); + list.write(e, new NDArray(row)); tads.at(e)->assign(row); } @@ -79,14 +79,13 @@ 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}); - row->assign((double) e); + auto row = NDArrayFactory::create( {100}); + row.assign((double) e); //list.write(e, row); tads.at(e)->assign(row); - delete row; } sd::ops::unstack_list op; @@ -112,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); @@ -145,15 +144,13 @@ 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}); - row->assign((double) e); - list.write(e, new NDArray(row->dup())); - - delete row; + auto row = NDArrayFactory::create( {1, 100}); + row.assign((double) e); + list.write(e, new NDArray(row)); } sd::ops::read_list op; @@ -172,14 +169,12 @@ 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}); - row->assign((double) e); - list.write(e, new NDArray(row->dup())); - - delete row; + auto row = NDArrayFactory::vector(100); + row.assign((double) e); + list.write(e, new NDArray(row)); } auto tads = exp.allTensorsAlongDimension({1}); @@ -198,7 +193,6 @@ TEST_F(ListOperationsTests, BasicTest_Pick_1) { ASSERT_TRUE(exp.isSameShape(z)); ASSERT_TRUE(exp.equalsTo(z)); - } @@ -206,11 +200,9 @@ 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}); - row->assign((double) e); - list.write(e, new NDArray(row->dup())); - - delete row; + auto row = NDArrayFactory::create( {100}); + row.assign((double) e); + list.write(e, new NDArray(row)); } sd::ops::size_list op; @@ -228,7 +220,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; @@ -246,13 +238,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::vector(3); lengths.p(0, 2); lengths.p(1, 3); lengths.p(2, 5); @@ -267,8 +259,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::vector(5); + row.assign((double) e); tads.at(e)->assign(row); if (e < 2) @@ -277,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; @@ -303,16 +293,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}); - row->assign((double) e); + auto row = NDArrayFactory::create( {1, 5}); + row.assign((double) e); tads.at(e)->assign(row); - - delete 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); @@ -365,21 +353,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}); - row->assign((double) e); - list.write(e, new NDArray(row->dup())); - - delete row; + auto row = NDArrayFactory::vector(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; @@ -403,26 +389,26 @@ 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( {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); 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}); @@ -532,28 +518,28 @@ 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( {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}); - indices->linspace(0); + auto indices = NDArrayFactory::create( {1, 3}); + indices.linspace(0); 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 79f2ffa1e66d..b39fe8eae375 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 1c12f2d7258f..30a25022b211 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::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)); } } @@ -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++) { @@ -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/NDArrayConstructorsTests.cu b/libnd4j/tests_cpu/layers_tests/NDArrayConstructorsTests.cu index 24ac087d1673..cf2d9dee80fa 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); @@ -97,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); @@ -110,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); @@ -137,48 +133,42 @@ 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); - - 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( {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) { 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 01510dc916f9..dc982d300f50 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,72 +98,64 @@ 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()); - 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( {5}); + auto y = NDArrayFactory::create( {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( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {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( {5}, {1, 2, 3, 4, 5}); + auto y = NDArrayFactory::create( {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; } ////////////////////////////////////////////////////////////////////////// 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; @@ -218,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; @@ -266,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; @@ -295,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; @@ -328,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; @@ -358,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; @@ -388,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; @@ -420,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; @@ -451,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; @@ -483,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; @@ -515,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); @@ -535,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()); @@ -555,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()); @@ -576,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()); @@ -601,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()); @@ -624,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()); @@ -653,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()); @@ -689,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); @@ -814,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; @@ -844,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; @@ -875,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; @@ -909,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; @@ -1012,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; @@ -1044,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; @@ -1079,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); @@ -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( {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++) { - 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); } } - ASSERT_TRUE(arrayA->equalsTo(arrayB, 1e-5)); - - ASSERT_FALSE(arrayC->equalsTo(arrayB, 1e-5)); + ASSERT_TRUE(arrayA.equalsTo(arrayB, 1e-5)); - ASSERT_FALSE(arrayD->equalsTo(arrayB, 1e-5)); + ASSERT_FALSE(arrayC.equalsTo(arrayB, 1e-5)); - ASSERT_FALSE(arrayE->equalsTo(arrayB, 1e-5)); + ASSERT_FALSE(arrayD.equalsTo(arrayB, 1e-5)); - delete arrayA; - delete arrayB; - delete arrayC; - delete arrayD; - delete arrayE; + ASSERT_FALSE(arrayE.equalsTo(arrayB, 1e-5)); } //////////////////////////////////////////////////////////////////////////////// @@ -1684,33 +1670,31 @@ 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); - 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) { - 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); - 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)); } @@ -1719,8 +1703,8 @@ 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 input = NDArrayFactory::create( { 2, 3, 2, 2}); + auto bias = NDArrayFactory::create( {1, 3}); bias.linspace(1); input.applyBroadcast(broadcast::Add, {1}, bias, input); @@ -1728,50 +1712,50 @@ 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}); - NDArray res2 = NDArrayFactory::create(expected.ordering(), expected.getShapeAsVector()); + 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.getShapeAsVector(), {}, (sd::Order)expected.ordering()); x = 1.; y = 2.; expected = 3.; @@ -1786,9 +1770,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.; @@ -1815,9 +1799,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.; @@ -1843,10 +1827,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"); @@ -1857,22 +1841,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.); @@ -1885,9 +1869,9 @@ 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 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); @@ -2040,7 +2024,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) @@ -2061,8 +2045,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(); @@ -2091,24 +2075,24 @@ 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}); - x->reshapei('c', {3, 4, 5}); + 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}); - 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) { - 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}); @@ -2121,9 +2105,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}); @@ -2136,11 +2120,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}); @@ -2151,14 +2135,13 @@ 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('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}); @@ -2178,10 +2161,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()); - delete x; + ASSERT_TRUE(x.isEmpty()); } TEST_F(NDArrayCudaBasicsTests, Test_Empty_3) { @@ -2190,9 +2172,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 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 8150976e1880..9b6757f5e31f 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( {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,82 +151,73 @@ 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++) { - 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) { - 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}); + auto array = NDArrayFactory::create( {3, 3}); - ASSERT_EQ(3, array->tensorsAlongDimension({1})); - - 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; } @@ -251,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}; @@ -301,16 +290,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( {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 +311,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( {3, 3}, {}, sd::kArrayOrderFortran); - array->p(4, 1.0f); - ASSERT_EQ(1.0f, array->e(4)); + array.p(4, 1.0f); + ASSERT_EQ(1.0f, array.e(4)); //array->printBuffer(); - - delete array; } ////////////////////////////////////////////////////////////////////// @@ -358,11 +344,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( {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 +356,6 @@ TEST_F(NDArrayTest, TestAddiRowVector) { delete[] e; delete array; - delete row; delete exp; } @@ -410,53 +395,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( {2, 5, 10}); + auto arrayF = NDArrayFactory::create( {2, 5, 10}, {}, sd::kArrayOrderFortran); - 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( {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( {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; } @@ -601,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()); @@ -612,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()); @@ -623,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()); @@ -634,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()); @@ -644,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); @@ -666,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); @@ -687,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()); @@ -754,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}); @@ -769,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}); @@ -783,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); @@ -821,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}; @@ -846,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}; @@ -877,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}; @@ -905,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}; @@ -947,22 +928,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( {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); + 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 +956,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( {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()); + 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 +977,6 @@ TEST_F(NDArrayTest, TestMmulHelper3) { delete x; delete y; - delete z; delete exp; } @@ -1011,13 +990,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( {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()); + 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; @@ -1027,7 +1006,6 @@ TEST_F(NDArrayTest, TestMmulHelper4) { delete x; delete y; - delete z; delete exp; } @@ -1041,13 +1019,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( {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()); + 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 +1035,6 @@ TEST_F(NDArrayTest, TestMmulHelper5) { delete x; delete y; - delete z; delete exp; } @@ -1071,13 +1048,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( {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()); + 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; @@ -1088,7 +1065,6 @@ TEST_F(NDArrayTest, TestMmulHelper6) { delete x; delete y; - delete z; delete exp; } @@ -1102,15 +1078,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( {1, 3}, {}, sd::kArrayOrderFortran); 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 +1096,6 @@ TEST_F(NDArrayTest, TestMmulHelper7) { delete x; delete y; - delete z; delete exp; } @@ -1129,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); @@ -1203,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); @@ -1223,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)); @@ -1261,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); @@ -1273,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}; @@ -1282,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"); @@ -1295,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); @@ -1308,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"); @@ -1316,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"); @@ -1325,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"); @@ -1333,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}); @@ -1342,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); @@ -1356,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); @@ -1372,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}); @@ -1385,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}); @@ -1402,18 +1376,18 @@ TEST_F(NDArrayTest, TestIndexing4) { } TEST_F(NDArrayTest, TestReshapeNegative1) { - std::unique_ptr array(NDArrayFactory::create_('c', {2, 3, 4, 64})); + auto array = NDArrayFactory::create( {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( {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)); @@ -1521,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); @@ -1531,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()); @@ -1546,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)); @@ -1556,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(); @@ -1588,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.)); @@ -1608,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)); @@ -1639,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}); @@ -1702,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::vector(10);//(expBuff, expShapeInfo); x.linspace(1); // 1, 2, 3, ..., 100 exp.assign(825.f); auto result = x.varianceAlongDimension(variance::SummaryStatsVariance, false, {0}); @@ -1715,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}); @@ -1807,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); @@ -1831,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); @@ -1843,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)); @@ -1853,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)); @@ -1871,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); @@ -1892,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.); @@ -1908,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); @@ -1928,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); @@ -1952,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"); @@ -1978,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); @@ -1998,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); @@ -2016,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); @@ -2035,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); @@ -2054,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); @@ -2072,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); @@ -2090,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); @@ -2109,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); @@ -2128,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); @@ -2146,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); @@ -2164,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); @@ -2183,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); @@ -2202,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); @@ -2222,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); @@ -2242,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); @@ -2261,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); @@ -2280,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); @@ -2299,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); @@ -2318,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); @@ -2337,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); @@ -2356,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); @@ -2375,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); @@ -2391,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; @@ -2405,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; @@ -2420,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; @@ -2438,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); @@ -2452,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'); @@ -2464,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'); @@ -2477,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'); @@ -2490,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'); @@ -2503,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'); @@ -2516,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'); @@ -2529,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'); @@ -2542,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'); @@ -2555,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'); @@ -2569,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'); @@ -2582,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'); @@ -2595,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'); @@ -2608,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'); @@ -2621,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'); @@ -2634,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'); @@ -2647,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'); @@ -2660,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'); @@ -2673,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()); diff --git a/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp b/libnd4j/tests_cpu/layers_tests/NativeOpsTests.cpp index 2f87b509952c..f4fc548683d5 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::vector(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..aa63e5d2bbe9 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::vector(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::vector(10000); auto negTable = NDArrayFactory::empty(); - auto neu1e = NDArrayFactory::create('c', {10}); + auto neu1e = NDArrayFactory::vector(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::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('c', {10000}); + auto expTable = NDArrayFactory::vector(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::vector(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::vector(10000); + auto negTable = NDArrayFactory::vector(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::vector(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::vector(10000); + auto negTable = NDArrayFactory::vector(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::vector(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); 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 bec75f056dfc..c058e48a6a79 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", {new NDArray(alpha), new NDArray(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(new NDArray(alpha)) + ->addInput(new NDArray(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; diff --git a/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp b/libnd4j/tests_cpu/layers_tests/PlaygroundTests.cpp index e07a0496d57d..55146f179a31 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::vector(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); } @@ -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( {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)); + 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( {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); + 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]; - } } */ @@ -634,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; @@ -673,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; @@ -706,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; @@ -736,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(); @@ -744,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); @@ -829,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); @@ -896,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; @@ -936,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; @@ -977,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 a2c33374a83d..347c73f237a6 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]; @@ -51,20 +51,12 @@ 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() { - //destroyRandom(_rngA); - //destroyRandom(_rngB); - //delete[] _bufferA; - //delete[] _bufferB; - - delete nexp0; - delete nexp1; - delete nexp2; } }; @@ -95,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, @@ -110,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); @@ -131,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); @@ -153,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); @@ -168,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); @@ -183,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); @@ -198,15 +190,12 @@ 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); - x0.printLinearBuffer(); - x1.printLinearBuffer(); - ASSERT_TRUE(x0.equalsTo(&x1)); ASSERT_FALSE(x0.equalsTo(nexp0)); @@ -215,13 +204,12 @@ TEST_F(RNGTests, Test_Uniform_1) { for (int e = 0; e < x0.lengthOf(); e++) { float v = x0.e(e); - nd4j_printf("%f\n", v); ASSERT_TRUE(v >= 1.0f && v <= 2.0f); } } TEST_F(RNGTests, Test_Uniform_10) { - auto x = NDArrayFactory::create('c', {10000, 10000}); + auto x = NDArrayFactory::create( {10000, 10000}); auto z = NDArrayFactory::create(0.0f); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngA, &x, 0.0f, 1.0f); @@ -234,7 +222,7 @@ TEST_F(RNGTests, Test_Uniform_10) { } TEST_F(RNGTests, Test_Uniform_10_double) { - auto x = NDArrayFactory::create('c', {10000, 10000}); + auto x = NDArrayFactory::create( {10000, 10000}); auto z = NDArrayFactory::create(0.0f); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngA, &x, 0.0f, 1.0f); @@ -292,7 +280,7 @@ TEST_F(RNGTests, Test_Uniform_13) { } TEST_F(RNGTests, Test_Uniform_3) { - auto x0 = NDArrayFactory::create('c', {1000000}); + auto x0 = NDArrayFactory::vector(1000000); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngA, &x0, 1.0f, 2.0f); @@ -303,8 +291,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); @@ -317,8 +305,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); @@ -333,8 +321,8 @@ TEST_F(RNGTests, Test_Gaussian_1) { } TEST_F(RNGTests, Test_Gaussian_21) { - 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::fillGaussian(LaunchContext::defaultContext(), _rngA, &x0, 0.0f, 1.0f); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngB, &x1, 0.0f, 1.0f); @@ -365,8 +353,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); @@ -394,7 +382,7 @@ TEST_F(RNGTests, Test_Gaussian_22) { } TEST_F(RNGTests, Test_Gaussian_3) { - auto x0 = NDArrayFactory::create('c', {800000}); + auto x0 = NDArrayFactory::vector(800000); RandomLauncher::fillGaussian(LaunchContext::defaultContext(), _rngA, &x0, 0.0, 1.0); @@ -407,8 +395,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); @@ -421,8 +409,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); @@ -445,8 +433,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); @@ -471,8 +459,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); @@ -517,8 +505,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); @@ -561,8 +549,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); @@ -606,8 +594,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); @@ -626,8 +614,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); @@ -644,8 +632,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); @@ -664,8 +652,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); @@ -673,8 +661,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); @@ -693,8 +681,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); @@ -713,8 +701,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); @@ -733,8 +721,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); @@ -754,8 +742,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); @@ -774,8 +762,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; @@ -787,16 +775,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; @@ -807,17 +795,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; @@ -833,16 +821,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; @@ -858,16 +846,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; @@ -884,9 +872,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"); @@ -894,8 +882,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); @@ -935,9 +923,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); @@ -951,17 +939,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); @@ -979,9 +967,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); @@ -999,10 +987,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); @@ -1018,10 +1006,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); @@ -1039,10 +1027,10 @@ TEST_F(RNGTests, Test_GammaDistribution_3) { } TEST_F(RNGTests, Test_GammaDistribution_4) { - auto x = NDArrayFactory::create('c', {2}, {1000, 1000}); + auto x = NDArrayFactory::create( {2}, {1000, 1000}); auto al = NDArrayFactory::create(2.f); auto be = NDArrayFactory::create(2.f); - auto exp0 = NDArrayFactory::create('c', {1000, 1000}); + auto exp0 = NDArrayFactory::create( {1000, 1000}); // al.linspace(1.0); // be.assign(2.0); @@ -1066,10 +1054,10 @@ TEST_F(RNGTests, Test_GammaDistribution_4) { } TEST_F(RNGTests, Test_GammaDistribution_5) { - auto x = NDArrayFactory::create('c', {2}, {100, 100}); + auto x = NDArrayFactory::create( {2}, {100, 100}); auto al = NDArrayFactory::create(0.2f); auto be = NDArrayFactory::create(2.f); - auto exp0 = NDArrayFactory::create('c', {100, 100}); + auto exp0 = NDArrayFactory::create( {100, 100}); // al.linspace(1.0); // be.assign(2.0); @@ -1094,10 +1082,10 @@ TEST_F(RNGTests, Test_GammaDistribution_5) { } 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::vector(10); sd::ops::randomuniform op; @@ -1107,14 +1095,13 @@ 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) { - auto x = NDArrayFactory::create('c', {2}, {10000, 10000}); + auto x = NDArrayFactory::create( {2}, {10000, 10000}); auto al = NDArrayFactory::create(0.f); auto be = NDArrayFactory::create(1.f); - auto exp0 = NDArrayFactory::create('c', {10000, 10000}); + auto exp0 = NDArrayFactory::create( {10000, 10000}); sd::ops::randomuniform op; @@ -1132,16 +1119,16 @@ TEST_F(RNGTests, Test_UniformDistribution_05) { 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 arrayI = NDArrayFactory::vector(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); } @@ -1155,29 +1142,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 @@ -1187,24 +1171,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); @@ -1215,17 +1199,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::vector(1000000); RandomLauncher::fillUniform(LaunchContext::defaultContext(), _rngB, &x1, 1.0, 2.0); @@ -1245,21 +1225,18 @@ 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); + 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) { - 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; @@ -1365,6 +1342,7 @@ TEST_F(RNGTests, test_multinomial_5) { RandomGenerator rng(1234, 1234); ASSERT_EQ(Status::OK(), op.execute(rng, { &probs, &samples }, { &output }, {}, { 1 }, {}, {}, false)); + auto deviation = output.varianceNumber(variance::SummaryStatsStandardDeviation, false); auto mean = output.meanNumber(); // printf("Var: %f Mean: %f \n", deviation.e(0), mean.e(0)); 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 7ca6732fe62b..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}))); -} \ No newline at end of file + 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 6c83e869e91d..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 50c1f4b19adb..937910f36d0c 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); 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 a31547561a3e..127b7247e772 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/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/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 2cba6682dd11..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}); - alpha->assign(1.0); + auto alpha = NDArrayFactory::create( {5, 5}); + alpha.assign(1.0f); - auto beta = NDArrayFactory::create_('c',{5, 5}); - beta->assign(2.0); + auto beta = NDArrayFactory::create( {5, 5}); + beta.assign(2.0f); - auto cappa = NDArrayFactory::create_('c',{5, 5}); - cappa->assign(3.0); + 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}); - alpha->assign(1.0); + auto alpha = NDArrayFactory::create( {5, 5}); + alpha.assign(1.0f); - auto beta = NDArrayFactory::create_('c',{5, 5}); - beta->assign(2.0); + auto beta = NDArrayFactory::create( {5, 5}); + beta.assign(2.0f); - auto cappa = NDArrayFactory::create_('c',{5, 5}); - cappa->assign(3.0); + 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 41352246ebf1..c22e7a0739ff 100644 --- a/libnd4j/tests_cpu/layers_tests/StringTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/StringTests.cpp @@ -63,7 +63,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()); @@ -263,7 +263,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(); } ///////////////////////////////////////////////////////////////////////// @@ -294,7 +294,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)); } @@ -521,7 +521,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()); @@ -530,7 +530,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()); @@ -539,19 +539,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()); @@ -560,7 +560,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()); @@ -569,7 +569,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()); @@ -578,25 +578,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()); @@ -605,7 +605,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()); @@ -619,7 +619,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()); @@ -628,19 +628,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 8d6a8d180e63..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}); - input->assign(-119.0f); + auto input = NDArrayFactory::create( {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( {1, 1}); + condtionX.p(0, 0.0f); + 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}); - input->assign(-119.0f); + auto input = NDArrayFactory::create( {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( {1, 1}); + condtionX.p(0, 1.0f); + 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}); - input->assign(-119.0f); + auto input = NDArrayFactory::create( {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( {1, 1}); + condtionX.p(0, 2.0f); + 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 947927bfbfbb..cbbc95c9641c 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())); diff --git a/libnd4j/tests_cpu/layers_tests/ThreadsTests.cpp b/libnd4j/tests_cpu/layers_tests/ThreadsTests.cpp index 71957bc59763..9bf3d2e1f441 100644 --- a/libnd4j/tests_cpu/layers_tests/ThreadsTests.cpp +++ b/libnd4j/tests_cpu/layers_tests/ThreadsTests.cpp @@ -209,7 +209,7 @@ TEST_F(ThreadsTests, reduction_test_1) { } static void _code(int thread_id) { - auto x = NDArrayFactory::create('c', {65536 * 16}); + auto x = NDArrayFactory::vector(65536 * 16); x.assign(1.1f); } diff --git a/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp b/libnd4j/tests_cpu/layers_tests/VariableProxyTests.cpp index 16e7cf7ac310..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 ec10f3db097b..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 49b9b02d6dc3..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}); - array1->assign(1.0); + 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 b291e5fbb20e..c48d87d0a3ec 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,12 +161,10 @@ TEST_F(WorkspaceTests, NewInWorkspaceTest1) { ASSERT_TRUE(MemoryRegistrator::getInstance().hasWorkspaceAttached()); - auto ast = NDArrayFactory::create_('c', {5, 5}); - + auto ast = NDArrayFactory::create( {5, 5}); + auto pAst = new NDArray(ast); ASSERT_TRUE(ws.getCurrentOffset() > 0); - - delete ast; - + delete pAst; 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( {5, 5}, {}, sd::kArrayOrderC, &ctx); ASSERT_TRUE(ws.getCurrentOffset() > 0); - delete ast; - MemoryRegistrator::getInstance().forgetWorkspace(); } @@ -217,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); @@ -265,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()); @@ -286,4 +282,4 @@ TEST_F(WorkspaceTests, Test_Big_Allocation_1) { */ -#endif //LIBND4J_WORKSPACETESTS_H \ No newline at end of file +#endif //LIBND4J_WORKSPACETESTS_H 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());