| 104 | # TODO(liym27): A better way to slice tensor array. |
| 105 | # Maybe support start == end for slice op. |
| 106 | def _slice_tensor_array(array, start, end): |
| 107 | from paddle.static.nn import cond |
| 108 | from paddle.tensor import create_array |
| 109 | |
| 110 | def true_fn(): |
| 111 | null_array = create_array("float32") |
| 112 | return null_array |
| 113 | |
| 114 | def false_fn(array, start, end): |
| 115 | new_array = array[start:end] |
| 116 | return new_array |
| 117 | |
| 118 | new_array = cond(start == end, true_fn, lambda: false_fn(array, start, end)) |
| 119 | return new_array |
| 120 | |
| 121 | |
| 122 | def monkey_patch_variable(): |