Verify that the given tensor has a consistent axis order. Args: labeled_tensor: The input tensor. All axes on this tensor must appear in axis_order. axis_order: Optional desired axis order, as a list of names. If not provided, defaults to the current axis_order_scope (if set).
(labeled_tensor, axis_order=None)
| 854 | @tc.returns(type(None)) |
| 855 | @tc.accepts(LabeledTensorLike, tc.Optional(tc.Collection(string_types))) |
| 856 | def check_axis_order(labeled_tensor, axis_order=None): |
| 857 | """Verify that the given tensor has a consistent axis order. |
| 858 | |
| 859 | Args: |
| 860 | labeled_tensor: The input tensor. All axes on this tensor must appear in |
| 861 | axis_order. |
| 862 | axis_order: Optional desired axis order, as a list of names. If not |
| 863 | provided, defaults to the current axis_order_scope (if set). |
| 864 | |
| 865 | Raises: |
| 866 | AxisOrderError: If the axis_order is unavailable, inconsistent or does not |
| 867 | include all existing axes. |
| 868 | """ |
| 869 | labeled_tensor = convert_to_labeled_tensor(labeled_tensor) |
| 870 | |
| 871 | if axis_order is None: |
| 872 | axis_order = _get_valid_axis_order() |
| 873 | |
| 874 | relevant_axis_order = [a for a in axis_order if a in labeled_tensor.axes] |
| 875 | |
| 876 | if len(relevant_axis_order) < len(labeled_tensor.axes): |
| 877 | raise AxisOrderError( |
| 878 | 'not all axis names appear in the required axis order %r: %r' % |
| 879 | (axis_order, labeled_tensor)) |
| 880 | |
| 881 | if relevant_axis_order != list(labeled_tensor.axes): |
| 882 | raise AxisOrderError( |
| 883 | 'axes on a labeled tensor do not appear in the same order as the ' |
| 884 | 'required axis order %r: %r' % (axis_order, labeled_tensor)) |
| 885 | |
| 886 | |
| 887 | @tc.returns(LabeledTensor) |
no test coverage detected