(one_list)
| 2925 | } |
| 2926 | |
| 2927 | def _get_SectionsTensorList(one_list): |
| 2928 | tensor_list = [] |
| 2929 | unk_dim_idx = -1 |
| 2930 | for idx, dim_size in enumerate(one_list): |
| 2931 | if isinstance(dim_size, Variable): |
| 2932 | dim_size.stop_gradient = True |
| 2933 | tensor_list.append(dim_size) |
| 2934 | else: |
| 2935 | assert isinstance(dim_size, int) |
| 2936 | if dim_size == -1: |
| 2937 | assert unk_dim_idx == -1, ( |
| 2938 | "Only one value of 'num_or_section' in split can " |
| 2939 | f"be -1. But received num_or_section[{idx}] is also -1." |
| 2940 | ) |
| 2941 | unk_dim_idx = idx |
| 2942 | temp_out = helper.create_variable_for_type_inference( |
| 2943 | 'int32' |
| 2944 | ) |
| 2945 | fill_constant( |
| 2946 | [1], 'int32', dim_size, force_cpu=True, out=temp_out |
| 2947 | ) |
| 2948 | tensor_list.append(temp_out) |
| 2949 | return tensor_list |
| 2950 | |
| 2951 | if isinstance(dim, Variable): |
| 2952 | dim.stop_gradient = True |
no test coverage detected