@@ -1108,36 +1108,26 @@ def meshgrid(*x, indexing="xy"):
1108
1108
shapes = [ov_opset .shape_of (t , Type .i64 ).output (0 ) for t in tensors ] # each is [Ni]
1109
1109
one = ov_opset .constant ([1 ], Type .i64 ).output (0 )
1110
1110
1111
- if indexing == "xy" and n >= 2 :
1112
- out_shape = ov_opset .concat ([shapes [1 ], shapes [0 ]] + shapes [2 :], axis = 0 ).output (0 )
1113
- else :
1111
+ if indexing == "xy" :
1112
+ shape_list = [shapes [1 ], shapes [0 ]] + shapes [2 :]
1113
+ out_shape = ov_opset .concat (shape_list , axis = 0 ).output (0 )
1114
+ else :
1114
1115
out_shape = ov_opset .concat (shapes , axis = 0 ).output (0 )
1115
1116
1116
1117
outputs = []
1117
1118
for i , t in enumerate (tensors ):
1118
- parts = []
1119
- for axis in range (n ):
1120
- if indexing == "xy" and n >= 2 :
1121
- if i == 0 :
1122
- if axis == 0 :
1123
- parts .append (one )
1124
- elif axis == 1 :
1125
- parts .append (shapes [0 ])
1126
- else :
1127
- parts .append (one if axis != i else shapes [i ])
1128
- elif i == 1 :
1129
- if axis == 0 :
1130
- parts .append (shapes [1 ])
1131
- elif axis == 1 :
1132
- parts .append (one )
1133
- else :
1134
- parts .append (one if axis != i else shapes [i ])
1135
- else :
1136
- parts .append (shapes [i ] if axis == i else one )
1119
+ reshape_parts = [one ] * n
1120
+ if indexing == "xy" :
1121
+ if i == 0 :
1122
+ reshape_parts [1 ] = shapes [0 ]
1123
+ elif i == 1 :
1124
+ reshape_parts [0 ] = shapes [1 ]
1137
1125
else :
1138
- parts .append (shapes [i ] if axis == i else one )
1126
+ reshape_parts [i ] = shapes [i ]
1127
+ else :
1128
+ reshape_parts [i ] = shapes [i ]
1139
1129
1140
- reshape_shape = ov_opset .concat (parts , axis = 0 ).output (0 )
1130
+ reshape_shape = ov_opset .concat (reshape_parts , axis = 0 ).output (0 )
1141
1131
reshaped = ov_opset .reshape (t , reshape_shape , False ).output (0 )
1142
1132
broadcasted = ov_opset .broadcast (reshaped , out_shape ).output (0 )
1143
1133
outputs .append (OpenVINOKerasTensor (broadcasted ))
0 commit comments