18 std::unique_ptr<Encoder<float>> encoderPtr = MakeEncoder<float>(outputInfo0, data.
m_Outputs[0]->Map());
21 for (
unsigned int index = 0 ; index < outputInfo0.GetNumElements(); ++index)
25 unsigned int indexRemainder = index;
26 unsigned int dimensionStride = outputInfo0.GetNumElements();
28 for (
unsigned int i = 0; i < outputInfo0.GetNumDimensions(); i++)
30 dimensionStride /= outputInfo0.GetShape()[i];
31 indices[i] = indexRemainder / dimensionStride;
32 indexRemainder -= indices[i] * dimensionStride;
35 for (
unsigned int viewIdx = 0; viewIdx < data.
m_ViewOrigins.size(); ++viewIdx)
41 BOOST_ASSERT(inputInfo.
GetNumDimensions() == outputInfo0.GetNumDimensions());
44 bool insideView =
true;
59 std::unique_ptr<Decoder<float>> decoderPtr =
60 MakeDecoder<float>(inputInfo, data.
m_Inputs[viewIdx]->Map());
62 unsigned int inIndex = 0;
63 unsigned int dimensionStride = 1;
65 for (
unsigned int i = inputInfo.GetNumDimensions(); i-- > 0;)
67 inIndex += dimensionStride * (indices[i] - view.
m_Origin[i]);
68 dimensionStride *= inputInfo.GetShape()[i];
71 encoder.Set(decoder.Get());
unsigned int GetNumDimensions() const
std::vector< ViewOrigin > m_ViewOrigins
constexpr unsigned int MaxNumOfTensorDimensions
std::vector< ITensorHandle * > m_Outputs
std::vector< ITensorHandle * > m_Inputs
const TensorShape & GetShape() const
void Concatenate(const ConcatQueueDescriptor &data)
const TensorInfo & GetTensorInfo(const ITensorHandle *tensorHandle)
float32 helpers
std::vector< unsigned int > m_Origin