| @@ -497,8 +497,6 @@ def column_stack(tup): | |||
| return tup | |||
| if not _check_is_list(tup) and not _check_is_tuple(tup): | |||
| _raise_type_error("Tensor or, list or tuple of tensors are required, but got ", tup) | |||
| if not tup: | |||
| _raise_value_error("Need at least one tensor to concatenate.") | |||
| trans_tup = () | |||
| for tensor in tup: | |||
| @@ -507,7 +505,9 @@ def column_stack(tup): | |||
| if tensor.ndim == 1: | |||
| tensor = F.expand_dims(tensor, 1) | |||
| trans_tup += (tensor,) | |||
| return P.Concat(axis=1)(trans_tup) | |||
| if not trans_tup: | |||
| _raise_value_error("Need at least one tensor to concatenate.") | |||
| return P.Concat(1)(trans_tup) | |||
| def vstack(tup): | |||
| @@ -545,15 +545,15 @@ def vstack(tup): | |||
| return tup | |||
| if not _check_is_list(tup) and not _check_is_tuple(tup): | |||
| _raise_type_error("Tensor or, list or tuple of tensors are required, but got", tup) | |||
| if not tup: | |||
| _raise_value_error("Need at least one tensor to concatenate.") | |||
| trans_tup = () | |||
| for tensor in tup: | |||
| if tensor.ndim <= 1: | |||
| tensor = _expand(tensor, 2, 0) | |||
| trans_tup += (tensor,) | |||
| return P.Concat(axis=0)(trans_tup) | |||
| if not trans_tup: | |||
| _raise_value_error("Need at least one tensor to concatenate.") | |||
| return P.Concat(0)(trans_tup) | |||
| def hstack(tup): | |||
| @@ -590,19 +590,18 @@ def hstack(tup): | |||
| if _check_is_tensor(F.typeof(tup)): | |||
| return tup | |||
| if not _check_is_list(tup) and not _check_is_tuple(tup): | |||
| _raise_type_error(f"Tensor or, list or tuple of tensors are required, but got", tup) | |||
| if not tup: | |||
| _raise_value_error("Need at least one tensor to concatenate.") | |||
| _raise_type_error("Tensor or, list or tuple of tensors are required, but got", tup) | |||
| tuple_of_tensor = () | |||
| for tensor in tup: | |||
| if tensor.ndim < 1: | |||
| tensor = F.expand_dims(tensor, 0) | |||
| tuple_of_tensor += (tensor,) | |||
| if not tuple_of_tensor: | |||
| _raise_value_error("Need at least one tensor to concatenate.") | |||
| if tuple_of_tensor[0].ndim <= 1: | |||
| return P.Concat(axis=0)(tuple_of_tensor) | |||
| return P.Concat(axis=1)(tuple_of_tensor) | |||
| return P.Concat(0)(tuple_of_tensor) | |||
| return P.Concat(1)(tuple_of_tensor) | |||
| def dstack(tup): | |||
| @@ -641,8 +640,6 @@ def dstack(tup): | |||
| return tup | |||
| if not _check_is_list(tup) and not _check_is_tuple(tup): | |||
| _raise_type_error("Tensor or, list or tuple of tensors are required, but got", tup) | |||
| if not tup: | |||
| _raise_value_error("Need at least one tensor to concatenate.") | |||
| trans_tup = () | |||
| for tensor in tup: | |||
| @@ -651,7 +648,9 @@ def dstack(tup): | |||
| if tensor.ndim == 2: | |||
| tensor = F.expand_dims(tensor, 2) | |||
| trans_tup += (tensor,) | |||
| return P.Concat(axis=2)(trans_tup) | |||
| if not trans_tup: | |||
| _raise_value_error("Need at least one tensor to concatenate.") | |||
| return P.Concat(2)(trans_tup) | |||
| def where(condition, x=None, y=None): | |||