Skip to content

Commit f42562b

Browse files
committed
fix(//core/conversion/converters/impl): 1d case not working
Signed-off-by: Abhiram Iyer <[email protected]> Signed-off-by: Abhiram Iyer <[email protected]>
1 parent e4cb117 commit f42562b

File tree

1 file changed

+33
-5
lines changed

1 file changed

+33
-5
lines changed

Diff for: core/conversion/converters/impl/interpolate.cpp

+33-5
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,19 @@ auto interpolate_registrations = RegisterNodeConversionPatterns()
1515
.pattern({
1616
"aten::upsample_nearest1d(Tensor self, int[1] output_size, float? scales=None) -> (Tensor)",
1717
[](ConversionCtx* ctx, const torch::jit::Node*n, args& args) -> bool {
18-
std::cout << "GOT IN HERE!!!!!!" << std::endl;
19-
2018
auto in = args[0].ITensor();
2119
auto in_shape = util::toVec(in->getDimensions());
20+
21+
// remove padding that TensorRt adds automatically
22+
if (in_shape.size() >= 4) {
23+
// remove first dimension
24+
in_shape.erase(in_shape.begin());
25+
26+
auto shuffle = ctx->net->addShuffle(*in);
27+
shuffle->setReshapeDimensions(util::toDims(in_shape));
28+
shuffle->setName( (util::node_info(n) + " [Reshape to " + util::toStr(util::toDims(in_shape)) + "]").c_str() );
29+
in = shuffle->getOutput(0);
30+
}
2231

2332
// Case 1: user uses output size and not scales
2433
if (!args[1].IValue()->isNone() && args[2].IValue()->isNone()) {
@@ -28,9 +37,6 @@ auto interpolate_registrations = RegisterNodeConversionPatterns()
2837

2938
auto out_shape = in_shape;
3039
std::copy(out_size.begin(), out_size.end(), out_shape.begin() + (in_shape.size() - out_size.size()));
31-
32-
// remove padding that TensorRT adds automatically
33-
// out_shape.erase(out_shape.begin(), out_shape.begin()+1);
3440

3541
auto resize_layer = ctx->net->addResize(*in);
3642
TRTORCH_CHECK(resize_layer, "Unable to create interpolation (resizing) layer from node" << *n);
@@ -39,8 +45,30 @@ auto interpolate_registrations = RegisterNodeConversionPatterns()
3945
resize_layer->setResizeMode(nvinfer1::ResizeMode::kNEAREST);
4046
resize_layer->setName(util::node_info(n).c_str());
4147

48+
// auto out_tensor = resize_layer->getOutput(0);
49+
// out_shape.erase(out_shape.begin());
50+
// auto shuffle = ctx->net->addShuffle(*out_tensor);
51+
// shuffle->setReshapeDimensions(util::toDims(out_shape));
52+
// shuffle->setName( (util::node_info(n) + " [Reshape to " + util::toStr(util::toDims(out_shape)) + "]").c_str() );
53+
// auto layer_output = ctx->AssociateValueAndTensor(n->outputs()[0], shuffle->getOutput(0));
54+
// LOG_DEBUG("Output tensor shape: " << layer_output->getDimensions());
55+
56+
// std::cout << "PRINTING STUFF AT THE END!" << std::endl;
57+
// auto final = util::toVec(shuffle->getOutput(0)->getDimensions());
58+
// for (auto iter = final.begin(); iter != final.end(); iter++) {
59+
// std::cout << *iter << std::endl;
60+
// }
61+
62+
//std::raise(SIGABRT);
63+
4264
auto layer_output = ctx->AssociateValueAndTensor(n->outputs()[0], resize_layer->getOutput(0));
4365
LOG_DEBUG("Output tensor shape: " << layer_output->getDimensions());
66+
67+
// std::cout << "PRINTING STUFF AT THE END!" << std::endl;
68+
// auto final = util::toVec(resize_layer->getOutput(0)->getDimensions());
69+
// for (auto iter = final.begin(); iter != final.end(); iter++) {
70+
// std::cout << *iter << std::endl;
71+
// }
4472
} else {
4573
LOG_DEBUG("scale factor parameter not supported yet.");
4674
}

0 commit comments

Comments
 (0)