[GNA] Safety fixes (#2158)
This commit is contained in:
parent
e4f0d8053a
commit
eea5acaacc
@ -542,9 +542,11 @@ void GNAGraphCompiler::PowerPrimitive(InferenceEngine::CNNLayerPtr layer) {
|
||||
connectInput(layer, ptr_inputs, num_data_bytes_in, 0, 0);
|
||||
|
||||
if (gnaFlags->sw_fp32) {
|
||||
IE_ASSERT(quantized == nullptr);
|
||||
gnamem->readonly().push_value(ptr_weights, power.scale, num_rows_out, 64);
|
||||
gnamem->readonly().push_value(ptr_biases, power.offset, num_rows_out, 64);
|
||||
} else {
|
||||
IE_ASSERT(quantized != nullptr);
|
||||
auto quantizedScale = FLOAT_TO_INT16(std::min(quantized->_weights_quant.scale * power.scale,
|
||||
static_cast<float>(INT16_MAX)));
|
||||
auto quantizedOffset = FLOAT_TO_INT32(std::min(quantized->_dst_quant.scale * power.offset,
|
||||
|
@ -33,7 +33,7 @@ class GNAPlugin : public InferenceEngine::IInferencePlugin {
|
||||
protected:
|
||||
std::string _pluginName = "GNA";
|
||||
|
||||
Config config;
|
||||
Config config {};
|
||||
std::shared_ptr<GNAPluginNS::backend::AMIntelDNN> dnn;
|
||||
std::shared_ptr<GNAPluginNS::GNAFlags> gnaFlags;
|
||||
std::shared_ptr<GNAPluginNS::gna_memory_type> gnamem;
|
||||
|
@ -7,9 +7,9 @@
|
||||
#include <cstdint>
|
||||
|
||||
typedef struct {
|
||||
double slope;
|
||||
double slope {};
|
||||
uint64_t slope_scale = 0;
|
||||
uint32_t slope_scale_index;
|
||||
uint32_t slope_scale_index {};
|
||||
} pwl_gna_slope_scale_t;
|
||||
|
||||
pwl_gna_slope_scale_t gna_slope(const double slope, const double in_scale, const double out_scale);
|
||||
|
@ -294,6 +294,9 @@ void SubstituteSoftSignPass::run() {
|
||||
};
|
||||
auto getNthChild = [](CNNLayerPtr l, int N) {
|
||||
auto first = getInputTo(l->outData.front()).begin();
|
||||
auto last = getInputTo(l->outData.front()).end();
|
||||
IE_ASSERT(first != last);
|
||||
IE_ASSERT(N <= std::distance(first, last));
|
||||
std::advance(first, N);
|
||||
return first->second;
|
||||
};
|
||||
@ -1119,6 +1122,7 @@ void EltwiseSplitOverChannelsPass::run() {
|
||||
for (size_t k = 0; k != totalSplits; k++) {
|
||||
auto eltwiseRaw = std::make_shared<EltwiseLayer>(
|
||||
LayerParams{l->name + "/eltwise/" + std::to_string(k), "Eltwise", Precision::FP32});
|
||||
IE_ASSERT(eltwiseRaw != nullptr);
|
||||
eltwiseRaw->_operation = masterEltwise->_operation;
|
||||
eltwiseRaw->coeff = masterEltwise->coeff;
|
||||
auto eltwise = quantized ? InferenceEngine::injectData<QuantizedLayerParams>(eltwiseRaw) : eltwiseRaw;
|
||||
|
Loading…
Reference in New Issue
Block a user