From 0fffefd3c90c5806e5bfc68d656a8e8e8766e752 Mon Sep 17 00:00:00 2001 From: Yoh <550856122@qq.com> Date: Tue, 20 Dec 2022 10:37:49 +0800 Subject: [PATCH] fix crop bug and eliminate Tensor.clone (#4416) * fix crop bug and eliminate Tensor.clone * fix crop slice bug on msvc * fix slice bug on msvc --- tools/pnnx/src/ir.cpp | 8 ++++---- tools/pnnx/src/pass_ncnn/eliminate_noop.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/pnnx/src/ir.cpp b/tools/pnnx/src/ir.cpp index 062092fe9..65c5ed018 100644 --- a/tools/pnnx/src/ir.cpp +++ b/tools/pnnx/src/ir.cpp @@ -183,8 +183,8 @@ Parameter::Parameter(const torch::jit::Node* value_node) { type = 2; int64_t i64 = value_node->i(torch::jit::attr::value); - if (i64 == LONG_MAX) i64 = INT_MAX; - if (i64 == LONG_MIN) i64 = INT_MIN; + if (i64 == std::numeric_limits::max()) i64 = INT_MAX; + if (i64 == std::numeric_limits::max()) i64 = INT_MIN; i = (int)i64; break; } @@ -210,8 +210,8 @@ Parameter::Parameter(const torch::jit::Node* value_node) { type = 2; int64_t i64 = t.item(); - if (i64 == LONG_MAX) i64 = INT_MAX; - if (i64 == LONG_MIN) i64 = INT_MIN; + if (i64 == std::numeric_limits::max()) i64 = INT_MAX; + if (i64 == std::numeric_limits::max()) i64 = INT_MIN; i = (int)i64; } else if (t.scalar_type() == c10::ScalarType::Int) diff --git a/tools/pnnx/src/pass_ncnn/eliminate_noop.cpp b/tools/pnnx/src/pass_ncnn/eliminate_noop.cpp index 8be2cd50b..9c7c7d87f 100644 --- a/tools/pnnx/src/pass_ncnn/eliminate_noop.cpp +++ b/tools/pnnx/src/pass_ncnn/eliminate_noop.cpp @@ -30,7 +30,7 @@ void eliminate_noop(Graph& graph) { Operator* op = graph.ops[i]; - if (op->type != "Noop") + if (op->type != "Noop" && op->type != "Tensor.clone") continue; need_eliminate = true;