@@ -333,17 +333,14 @@ static std::shared_ptr<ov::Model> buildROPE_VIT(const int seq_length,
333
333
makeOP<ov::opset1::Multiply>({slice_right_part, Constant_396096}, {{" auto_broadcast" , " numpy" }});
334
334
cat_Concat = makeOP<ov::opset1::Concat>({neg_Multiply, slice_left_part}, {{" axis" , -1 }});
335
335
} else if (split_op_type == " StridedSlice" ) {
336
- auto slice_right_part = makeOP<ov::opset1::StridedSlice>({input, {0 , 0 , rotary_ndims / 2 },
337
- {0 , 0 , INT_MAX},
338
- {1 , 1 , 1 }},
339
- {{" begin_mask" , {1 , 1 , 0 }},
340
- {" end_mask" , {1 , 1 , 0 }},
341
- {" new_axis_mask" , {}},
342
- {" shrink_axis_mask" , {}},
343
- {" ellipsis_mask" , {}}});
344
- auto slice_left_part = makeOP<ov::opset1::StridedSlice>({input, {0 , 0 , 0 },
345
- {0 , 0 , rotary_ndims / 2 },
346
- {1 , 1 , 1 }},
336
+ auto slice_right_part =
337
+ makeOP<ov::opset1::StridedSlice>({input, {0 , 0 , rotary_ndims / 2 }, {0 , 0 , INT_MAX}, {1 , 1 , 1 }},
338
+ {{" begin_mask" , {1 , 1 , 0 }},
339
+ {" end_mask" , {1 , 1 , 0 }},
340
+ {" new_axis_mask" , {}},
341
+ {" shrink_axis_mask" , {}},
342
+ {" ellipsis_mask" , {}}});
343
+ auto slice_left_part = makeOP<ov::opset1::StridedSlice>({input, {0 , 0 , 0 }, {0 , 0 , rotary_ndims / 2 }, {1 , 1 , 1 }},
347
344
{{" begin_mask" , {1 , 1 , 0 }},
348
345
{" end_mask" , {1 , 1 , 0 }},
349
346
{" new_axis_mask" , {}},
@@ -353,7 +350,7 @@ static std::shared_ptr<ov::Model> buildROPE_VIT(const int seq_length,
353
350
makeOP<ov::opset1::Multiply>({slice_right_part, Constant_396096}, {{" auto_broadcast" , " numpy" }});
354
351
cat_Concat = makeOP<ov::opset1::Concat>({neg_Multiply, slice_left_part}, {{" axis" , -1 }});
355
352
} else {
356
- return nullptr ;
353
+ return nullptr ;
357
354
}
358
355
auto mul_sin_Multiply = makeOP<ov::opset1::Multiply>({cat_Concat, param_sin}, {{" auto_broadcast" , " numpy" }});
359
356
auto mul_cos_Multiply = makeOP<ov::opset1::Multiply>({input, param_cos}, {{" auto_broadcast" , " numpy" }});
@@ -782,6 +779,7 @@ TEST_P(ConvertToROPETestVIT, ConvertToROPE_qwen) {
782
779
const int rotary_ndims = 80 ;
783
780
const std::string split_op_type = GetParam ();
784
781
model = buildROPE_VIT (seq_len, num_heads, rotary_ndims, split_op_type);
782
+ ASSERT_TRUE (model != nullptr );
785
783
manager.register_pass <ov::pass::RoPEFusionVIT3D>();
786
784
{
787
785
auto input =
0 commit comments