pytorch/caffe2/python/helpers/array_helpers.py
Luke Yeager 944115c915 Bugfix for concat frontend
Summary:
When breaking out pooyadavoodi's change to `brew.concat` from https://github.com/caffe2/caffe2/pull/1151 to https://github.com/caffe2/caffe2/pull/1184, I made it throw an error instead of silently changing removing `order`. But `order` is always present because of [this](https://github.com/caffe2/caffe2/blob/v0.8.1/caffe2/python/model_helper.py#L118), so the frontend can never be used to set `axis`. That's bad. This PR changes the behavior back to Pooya's original implementation.
Closes https://github.com/caffe2/caffe2/pull/1202

Reviewed By: akyrola

Differential Revision: D5806488

Pulled By: pietern

fbshipit-source-id: ceaea77469688a66b269b8ed2944f0d3fe873940
2017-09-11 13:02:59 -07:00

26 lines
793 B
Python

## @package arra_helpers
# Module caffe2.python.helpers.array_helpers
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
def concat(model, blobs_in, blob_out, **kwargs):
"""Depth Concat."""
if kwargs.get('order') and kwargs.get('axis'):
# The backend throws an error if both are given
kwargs.pop('order')
return model.net.Concat(
blobs_in,
[blob_out, "_" + blob_out + "_concat_dims"],
**kwargs
)[0]
def depth_concat(model, blobs_in, blob_out, **kwargs):
"""The old depth concat function - we should move to use concat."""
print("DepthConcat is deprecated. use Concat instead.")
return concat(blobs_in, blob_out, **kwargs)