aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/toco/import_tensorflow.cc
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2018-06-08 13:14:59 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-06-08 13:18:20 -0700
commit3b81d6e6055c529c00a165fd8e3431a6ba704e8e (patch)
treec49f2661b14d3af7587634d21300004440712672 /tensorflow/contrib/lite/toco/import_tensorflow.cc
parent9affc2080bf9840f4c7da2990ba528114e25d3b1 (diff)
Optimizing transpose_conv.
PiperOrigin-RevId: 199839745
Diffstat (limited to 'tensorflow/contrib/lite/toco/import_tensorflow.cc')
-rw-r--r--tensorflow/contrib/lite/toco/import_tensorflow.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/tensorflow/contrib/lite/toco/import_tensorflow.cc b/tensorflow/contrib/lite/toco/import_tensorflow.cc
index 8dd43dda3e..a2241c85a7 100644
--- a/tensorflow/contrib/lite/toco/import_tensorflow.cc
+++ b/tensorflow/contrib/lite/toco/import_tensorflow.cc
@@ -1445,11 +1445,13 @@ void ConvertTransposeConvOperator(const NodeDef& node,
if (existing_transpose) {
CHECK(existing_transpose->type == OperatorType::kTranspose);
} else {
- // Transpose weights from HWIO order to OHWI order, which is more efficient
- // for computation
+ // Transpose weights from HWOI order to OHWI order, which is more efficient
+ // for computation. (Note that TensorFlow considers the order as HWIO
+ // because they consider this a backward conv, inverting the sense of
+ // input/output.)
TransposeOperator* transpose = new TransposeOperator;
string perm_array = CreateConstArray<ArrayDataType::kInt32>(
- model, node.name() + "_transpose_perm", {3, 0, 1, 2});
+ model, node.name() + "_transpose_perm", {2, 0, 1, 3});
transpose->inputs = {weights_name, perm_array};
transpose->outputs = {transposed_weights_name};
model->operators.emplace_back(transpose);