diff --git a/inference-engine/src/inference_engine/ie_network_reader.cpp b/inference-engine/src/inference_engine/ie_network_reader.cpp index 904f7d2a6e3..4f7c4e78b9b 100644 --- a/inference-engine/src/inference_engine/ie_network_reader.cpp +++ b/inference-engine/src/inference_engine/ie_network_reader.cpp @@ -7,7 +7,6 @@ #include
#include -#include #include #include @@ -239,7 +238,6 @@ CNNNetwork details::ReadNetwork(const std::string& model, const Blob::CPtr& weig // Register readers if it is needed registerReaders(); std::istringstream modelStream(model); - details::BlobStream binStream(weights); assertIfIRv7LikeModel(modelStream); diff --git a/inference-engine/src/readers/CMakeLists.txt b/inference-engine/src/readers/CMakeLists.txt index d0e8b070c4b..a440405cd53 100644 --- a/inference-engine/src/readers/CMakeLists.txt +++ b/inference-engine/src/readers/CMakeLists.txt @@ -11,11 +11,8 @@ target_include_directories(${TARGET_NAME} INTERFACE $) file(GLOB_RECURSE reader_api_hpp "${CMAKE_CURRENT_SOURCE_DIR}/reader_api/*.hpp") -file(GLOB_RECURSE reader_api_src "${CMAKE_CURRENT_SOURCE_DIR}/reader_api/*.cpp") -set_target_properties(${TARGET_NAME} PROPERTIES INTERFACE_SOURCES ${reader_api_src}) - -add_cpplint_target(${TARGET_NAME}_cpplint FOR_SOURCES ${reader_api_hpp} ${reader_api_src}) +add_cpplint_target(${TARGET_NAME}_cpplint FOR_SOURCES ${reader_api_hpp}) add_subdirectory(ir_reader) add_subdirectory(ir_reader_v7) diff --git a/inference-engine/src/readers/ir_reader/ie_ir_parser.cpp b/inference-engine/src/readers/ir_reader/ie_ir_parser.cpp index ca10e17220d..213f50f78b2 100644 --- a/inference-engine/src/readers/ir_reader/ie_ir_parser.cpp +++ b/inference-engine/src/readers/ir_reader/ie_ir_parser.cpp @@ -29,7 +29,6 @@ #include #include "blob_factory.hpp" #include "caseless.hpp" -#include "ie_blob_stream.hpp" #include "precision_utils.h" using namespace XMLParseUtils; @@ -1041,4 +1040,4 @@ size_t V10Parser::GenericLayerParams::getRealOutputPortId(size_t id) const { } THROW_IE_EXCEPTION << "Can not find output port with id " << id << " in layer " << name; } -} // namespace InferenceEngine \ No newline at end of file +} // namespace InferenceEngine diff --git a/inference-engine/src/readers/ir_reader/ie_ir_version.hpp b/inference-engine/src/readers/ir_reader/ie_ir_version.hpp index 610be4942e6..d7292e1b862 100644 --- a/inference-engine/src/readers/ir_reader/ie_ir_version.hpp +++ b/inference-engine/src/readers/ir_reader/ie_ir_version.hpp @@ -45,4 +45,4 @@ size_t GetIRVersion(std::istream& model) { } } // namespace details -} // namespace InferenceEngine \ No newline at end of file +} // namespace InferenceEngine diff --git a/inference-engine/src/readers/ir_reader_v7/ie_cnn_net_reader_impl.cpp b/inference-engine/src/readers/ir_reader_v7/ie_cnn_net_reader_impl.cpp index 6ca81888bf3..3670fbda243 100644 --- a/inference-engine/src/readers/ir_reader_v7/ie_cnn_net_reader_impl.cpp +++ b/inference-engine/src/readers/ir_reader_v7/ie_cnn_net_reader_impl.cpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include diff --git a/inference-engine/src/readers/ir_reader_v7/ie_ir_parser.cpp b/inference-engine/src/readers/ir_reader_v7/ie_ir_parser.cpp index 5bd95e6e32d..fc72c14b813 100644 --- a/inference-engine/src/readers/ir_reader_v7/ie_ir_parser.cpp +++ b/inference-engine/src/readers/ir_reader_v7/ie_ir_parser.cpp @@ -4,7 +4,6 @@ #include "ie_reader.hpp" #include "ie_ir_parser.hpp" -#include "ie_blob_stream.hpp" #include "ie_cnn_net_reader_impl.h" using namespace InferenceEngine; diff --git a/inference-engine/src/readers/reader_api/ie_blob_stream.cpp b/inference-engine/src/readers/reader_api/ie_blob_stream.cpp deleted file mode 100644 index fb565cb56c3..00000000000 --- a/inference-engine/src/readers/reader_api/ie_blob_stream.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (C) 2018-2020 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#include "ie_blob_stream.hpp" - -#include -#include - -InferenceEngine::details::BlobStream::BlobBuffer::BlobBuffer(const InferenceEngine::Blob::CPtr& blob) { - char* data = nullptr; - std::streampos size; - if (!blob) { - size = 0; - } else { - data = blob->cbuffer().as(); - size = blob->byteSize(); - } - setg(data, data, data + size); -} -InferenceEngine::details::BlobStream::BlobBuffer::~BlobBuffer() {} - -std::streampos InferenceEngine::details::BlobStream::BlobBuffer::seekpos(std::streampos sp, std::ios_base::openmode which) { - if (!(which & ios_base::in)) - return streampos(-1); - if (sp < 0 || sp > egptr() - eback()) - return streampos(-1); - setg(eback(), eback() + sp, egptr()); - return sp; -} -std::streampos InferenceEngine::details::BlobStream::BlobBuffer::seekoff(std::streamoff off, std::ios_base::seekdir way, std::ios_base::openmode which) { - if (!(which & std::ios_base::in)) - return streampos(-1); - switch (way) { - default: - case std::ios_base::beg: - setg(eback(), eback() + off, egptr()); - break; - case std::ios_base::cur: - gbump(static_cast(off)); - break; - case std::ios_base::end: - setg(eback(), egptr() + off, egptr()); - break; - } - return gptr() - eback(); -} - -InferenceEngine::Blob::CPtr InferenceEngine::details::BlobStream::getBlob() { - return blob; -} - - -#if defined __GNUC__ -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wreorder" -#endif - -InferenceEngine::details::BlobStream::BlobStream(const InferenceEngine::Blob::CPtr& blob) : - buffer(blob), std::ios(0), std::istream(&buffer), blob(blob) {} - -#if defined __GNUC__ -# pragma GCC diagnostic pop -#endif - -InferenceEngine::details::BlobStream::~BlobStream() {} diff --git a/inference-engine/src/readers/reader_api/ie_blob_stream.hpp b/inference-engine/src/readers/reader_api/ie_blob_stream.hpp deleted file mode 100644 index 53dbabe2176..00000000000 --- a/inference-engine/src/readers/reader_api/ie_blob_stream.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (C) 2018-2020 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#pragma once - -#include -#include - -namespace InferenceEngine { -namespace details { - -class BlobStream: public std::istream { -private: - class BlobBuffer: public std::streambuf { - public: - BlobBuffer(const Blob::CPtr& blob); - ~BlobBuffer() override; - std::streampos seekpos(std::streampos sp, std::ios_base::openmode which) override; - std::streampos seekoff(std::streamoff off, std::ios_base::seekdir way, std::ios_base::openmode which) override; - }; - -#if defined __GNUC__ -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wreorder" -#endif - - BlobBuffer buffer; - Blob::CPtr blob; - -#if defined __GNUC__ -# pragma GCC diagnostic pop -#endif - -public: - BlobStream(const Blob::CPtr& blob); - ~BlobStream() override; - - Blob::CPtr getBlob(); -}; - - -} // namespace details -} // namespace InferenceEngine diff --git a/ngraph/core/include/ngraph/op/constant.hpp b/ngraph/core/include/ngraph/op/constant.hpp index 749f94f2de1..8be8ef1c7a3 100644 --- a/ngraph/core/include/ngraph/op/constant.hpp +++ b/ngraph/core/include/ngraph/op/constant.hpp @@ -351,6 +351,8 @@ namespace ngraph std::vector get_vector() const { const T* p = get_data_ptr(); + if (p == nullptr) + throw std::runtime_error("Cannot create vector! Buffer is not allocated."); return std::vector(p, p + shape_size(m_shape)); } diff --git a/ngraph/core/src/op/squeeze.cpp b/ngraph/core/src/op/squeeze.cpp index 42f0bcf1c60..4681bea3430 100644 --- a/ngraph/core/src/op/squeeze.cpp +++ b/ngraph/core/src/op/squeeze.cpp @@ -53,10 +53,11 @@ void op::Squeeze::pre_validate_and_infer_types() bool data_has_dynamic_shape = data.get_partial_shape().is_dynamic(); auto axes_constant = get_constant_from_source(axes_node); - bool axes_is_empty_constant = - (axes_constant) ? axes_constant->cast_vector().empty() : false; + bool axes_is_empty_constant = (axes_constant && axes_constant->get_data_ptr() != nullptr) + ? axes_constant->cast_vector().empty() + : false; - if (data_has_dynamic_rank || !axes_constant || + if (data_has_dynamic_rank || !axes_constant || !axes_constant->get_data_ptr() || (data_has_dynamic_shape && axes_is_empty_constant)) { set_output_type(0, get_input_element_type(0), PartialShape::dynamic());