output_backend_ctx->tensor_builder->preVisit(node);
- auto output_object = output_backend_ctx->tensor_builder->wrapTensor(output_index);
- auto input_object = input_backend_ctx->tensor_builder->wrapTensor(input_index);
+ auto output_object = output_backend_ctx->tensor_builder->tensorAt(output_index);
+ auto input_object = input_backend_ctx->tensor_builder->tensorAt(input_index);
auto fn = nnfw::cpp14::make_unique<::neurun::backend::cpu::kernel::PermuteLayer>();
// TODO Support NCHW frontend
auto out_shape = shape;
- if (shape.rank() == 4 && output_object->ptr()->layout() == model::Layout::NCHW)
+ if (shape.rank() == 4 && output_object->layout() == model::Layout::NCHW)
{
out_shape.dim(1) = shape.dim(3);
out_shape.dim(2) = shape.dim(1);
const auto permute_type = node.getPermuteType();
// Check Permutation Type
const auto inferPermuteType = [&]() {
- if (input_object->ptr()->layout() == model::Layout::NHWC &&
- output_object->ptr()->layout() == model::Layout::NCHW)
+ if (input_object->layout() == model::Layout::NHWC &&
+ output_object->layout() == model::Layout::NCHW)
{
return model::operation::Permute::Type::NHWC_TO_NCHW;
}
- else if (input_object->ptr()->layout() == model::Layout::NCHW &&
- output_object->ptr()->layout() == model::Layout::NHWC)
+ else if (input_object->layout() == model::Layout::NCHW &&
+ output_object->layout() == model::Layout::NHWC)
{
return model::operation::Permute::Type::NCHW_TO_NHWC;
}
using Type = model::operation::Permute::Type;
-void PermuteLayer::configure(std::shared_ptr<::neurun::backend::operand::IObject> input,
- std::shared_ptr<::neurun::backend::operand::IObject> output,
+void PermuteLayer::configure(std::shared_ptr<backend::operand::ITensor> input,
+ std::shared_ptr<backend::operand::ITensor> output,
const model::Shape &output_shape, Type type, model::DataType dataType)
{
_input = input;
PermuteLayer() = default;
public:
- void configure(std::shared_ptr<::neurun::backend::operand::IObject> input,
- std::shared_ptr<::neurun::backend::operand::IObject> output,
+ void configure(std::shared_ptr<backend::operand::ITensor> input,
+ std::shared_ptr<backend::operand::ITensor> output,
const model::Shape &output_shape, model::operation::Permute::Type type,
model::DataType dataType);
void run();
}
private:
- std::shared_ptr<::neurun::backend::operand::IObject> _input{nullptr};
- std::shared_ptr<::neurun::backend::operand::IObject> _output{nullptr};
+ std::shared_ptr<backend::operand::ITensor> _input{nullptr};
+ std::shared_ptr<backend::operand::ITensor> _output{nullptr};
model::Shape _output_shape{};
model::operation::Permute::Type _type{model::operation::Permute::Type::COPY};
model::DataType _dataType{model::DataType::FLOAT32};