File tree Expand file tree Collapse file tree 1 file changed +16
-8
lines changed Expand file tree Collapse file tree 1 file changed +16
-8
lines changed Original file line number Diff line number Diff line change @@ -39,14 +39,22 @@ class SplitOp : public framework::OperatorWithKernel {
39
39
40
40
if (num > 0 ) {
41
41
int64_t in_axis_dim = in_dims[axis];
42
- PADDLE_ENFORCE_EQ (in_axis_dim % num, 0 ,
43
- " tensor split does not result"
44
- " in an equal division" );
45
- size_t out_axis_dim = in_axis_dim / num;
46
- for (size_t i = 0 ; i < outs_number; ++i) {
47
- auto dim = in_dims;
48
- dim[axis] = out_axis_dim;
49
- outs_dims.push_back (dim);
42
+ if (ctx->IsRuntime () || in_axis_dim > 0 ) {
43
+ PADDLE_ENFORCE_EQ (in_axis_dim % num, 0 ,
44
+ " tensor split does not result"
45
+ " in an equal division" );
46
+ size_t out_axis_dim = in_axis_dim / num;
47
+ for (size_t i = 0 ; i < outs_number; ++i) {
48
+ auto dim = in_dims;
49
+ dim[axis] = out_axis_dim;
50
+ outs_dims.push_back (dim);
51
+ }
52
+ } else {
53
+ for (size_t i = 0 ; i < outs_number; ++i) {
54
+ auto dim = in_dims;
55
+ dim[axis] = -1 ;
56
+ outs_dims.push_back (dim);
57
+ }
50
58
}
51
59
} else if (sections.size () > 0 ) {
52
60
PADDLE_ENFORCE_EQ (sections.size (), outs_number,
You can’t perform that action at this time.
0 commit comments