onnx 1.19.0__cp313-cp313-macosx_12_0_universal2.whl → 1.19.1rc1__cp313-cp313-macosx_12_0_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of onnx might be problematic. Click here for more details.
- onnx/__init__.py +98 -0
- onnx/backend/test/case/node/__init__.py +20 -3
- onnx/backend/test/case/node/attention.py +62 -0
- onnx/backend/test/case/node/rotaryembedding.py +6 -6
- onnx/backend/test/data/node/test_attention_3d/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_attn_mask/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_attn_mask_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_attn_mask/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_attn_mask_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_scaled/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_scaled_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_softcap/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_softcap_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_with_past_and_present/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_diff_heads_with_past_and_present_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_attn_mask/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_attn_mask/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_attn_mask_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_attn_mask_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_causal/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_causal_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_scaled/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_scaled/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_scaled_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_scaled_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_softcap/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_softcap/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_softcap_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_softcap_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_with_past_and_present/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_with_past_and_present/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_with_past_and_present_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_gqa_with_past_and_present_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_3d_scaled/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_scaled_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_softcap/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_softcap_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_transpose_verification/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_transpose_verification_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_bias/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_bias_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_softcap/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_softcap_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_softmax/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_softmax_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_3d/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_3d_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_3d_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_3d_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_4d/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_4d_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_4d_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_4d_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_bool/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_bool_4d/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_bool_4d_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_bool_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_attn_mask_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_mask4d_padded_kv_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_attn_mask/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_attn_mask_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_scaled/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_scaled_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_softcap/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_softcap_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_mask3d/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_mask3d_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_mask4d/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_mask4d_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_fp16/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_fp16_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_attn_mask/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_attn_mask/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_attn_mask_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_attn_mask_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_causal/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_causal_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_scaled/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_scaled/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_scaled_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_scaled_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_softcap/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_softcap/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_softcap_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_softcap_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_fp16/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_fp16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_fp16_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_fp16_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_scaled/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_scaled_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_softcap/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_softcap_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_causal/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_causal/test_data_set_0/output_3.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_causal_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_causal_expanded/test_data_set_0/output_3.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_causal/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_causal/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_causal/test_data_set_0/output_3.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_causal_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_causal_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_causal_expanded/test_data_set_0/output_3.pb +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_qk_matmul/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_bias/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_bias_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_softcap/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_softcap_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_softmax/model.onnx +0 -0
- onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_softmax_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim/model.onnx +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim/test_data_set_0/input_1.pb +1 -1
- onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim/test_data_set_0/input_2.pb +1 -1
- onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim_expanded/test_data_set_0/input_1.pb +1 -1
- onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim_expanded/test_data_set_0/input_2.pb +1 -1
- onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim/model.onnx +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim_expanded/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim_expanded/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim/model.onnx +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim_expanded/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim_expanded/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/defs/nn/defs.cc +70 -228
- onnx/defs/nn/old.cc +31 -201
- onnx/defs/nn/utils.cc +222 -0
- onnx/defs/nn/utils.h +25 -0
- onnx/onnx_cpp2py_export.cpython-313-darwin.so +0 -0
- onnx/reference/ops/op_attention.py +33 -14
- onnx/reference/ops/op_rotary_embedding.py +21 -19
- onnx/test/basic_test.py +84 -0
- onnx/test/reference_evaluator_test.py +23 -0
- onnx/test/test_backend_reference.py +2 -1
- onnx/version.py +2 -2
- {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/METADATA +2 -2
- {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/RECORD +202 -200
- {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/WHEEL +1 -1
- {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/entry_points.txt +0 -0
- {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/licenses/LICENSE +0 -0
- {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/top_level.txt +0 -0
|
@@ -42,26 +42,28 @@ def rotary_embedding(
|
|
|
42
42
|
|
|
43
43
|
# Retrieve sin and cos caches using position ids
|
|
44
44
|
if position_ids is not None:
|
|
45
|
-
|
|
45
|
+
cos_cache = cos_cache[
|
|
46
46
|
position_ids
|
|
47
|
-
] # Shape: [batch_size, sequence_length,
|
|
48
|
-
|
|
47
|
+
] # Shape: [batch_size, sequence_length, rotary_embedding_dim/2]
|
|
48
|
+
sin_cache = sin_cache[
|
|
49
49
|
position_ids
|
|
50
|
-
] # Shape: [batch_size, sequence_length,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
50
|
+
] # Shape: [batch_size, sequence_length, rotary_embedding_dim/2]
|
|
51
|
+
|
|
52
|
+
# Shape: [batch_size, sequence_length, rotary_embedding_dim/2]
|
|
53
|
+
if cos_cache.shape[-1] != rotary_embedding_dim_half:
|
|
54
|
+
raise ValueError(
|
|
55
|
+
f"Last dimension of cos cache ({cos_cache.shape[-1]}) does not match rotary_embedding_dim/2 ({rotary_embedding_dim_half})."
|
|
56
|
+
)
|
|
57
|
+
if sin_cache.shape[-1] != rotary_embedding_dim_half:
|
|
58
|
+
raise ValueError(
|
|
59
|
+
f"Last dimension of sin cache ({sin_cache.shape[-1]}) does not match rotary_embedding_dim/2 ({rotary_embedding_dim_half})."
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
cos_cache = np.expand_dims(
|
|
63
|
+
cos_cache, axis=2
|
|
62
64
|
) # Shape: [batch_size, sequence_length, 1, rotary_embedding_dim/2]
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
sin_cache = np.expand_dims(
|
|
66
|
+
sin_cache, axis=2
|
|
65
67
|
) # Shape: [batch_size, sequence_length, 1, rotary_embedding_dim/2]
|
|
66
68
|
|
|
67
69
|
# Either divide the input in halves or interleave (based on interleaved attribute)
|
|
@@ -72,8 +74,8 @@ def rotary_embedding(
|
|
|
72
74
|
x1, x2 = np.split(x_rotate, 2, axis=-1)
|
|
73
75
|
|
|
74
76
|
# Calculate real and imaginary values
|
|
75
|
-
real = (
|
|
76
|
-
imag = (
|
|
77
|
+
real = (cos_cache * x1) - (sin_cache * x2)
|
|
78
|
+
imag = (sin_cache * x1) + (cos_cache * x2)
|
|
77
79
|
|
|
78
80
|
# Inserted rotated embeddings back to the original input
|
|
79
81
|
if interleaved:
|
onnx/test/basic_test.py
CHANGED
|
@@ -227,6 +227,90 @@ class TestBasicFunctions(unittest.TestCase):
|
|
|
227
227
|
# Check if the version is correct.
|
|
228
228
|
self.assertEqual(model.ir_version, onnx.IR_VERSION)
|
|
229
229
|
|
|
230
|
+
def test_model_and_graph_repr(self) -> None:
|
|
231
|
+
# Check if the __repr__ methods work without error
|
|
232
|
+
model = _simple_model()
|
|
233
|
+
model_repr = repr(model)
|
|
234
|
+
self.assertEqual(
|
|
235
|
+
model_repr,
|
|
236
|
+
"ModelProto(ir_version=12, producer_name='onnx-test', graph=GraphProto('test'))",
|
|
237
|
+
)
|
|
238
|
+
|
|
239
|
+
text_model = """
|
|
240
|
+
<
|
|
241
|
+
ir_version: 10,
|
|
242
|
+
opset_import: [ "" : 19]
|
|
243
|
+
>
|
|
244
|
+
agraph (float[N] X) => (float[N] C)
|
|
245
|
+
<
|
|
246
|
+
float[1] weight = {1}
|
|
247
|
+
>
|
|
248
|
+
{
|
|
249
|
+
C = Cast<to=1>(X)
|
|
250
|
+
}
|
|
251
|
+
"""
|
|
252
|
+
model = onnx.parser.parse_model(text_model)
|
|
253
|
+
model_repr = repr(model)
|
|
254
|
+
self.assertEqual(
|
|
255
|
+
model_repr,
|
|
256
|
+
"ModelProto(ir_version=10, opset_import={'': 19}, graph=GraphProto('agraph', input=<1 inputs>, output=<1 outputs>, initializer=<1 initializers>, node=<1 nodes>))",
|
|
257
|
+
)
|
|
258
|
+
|
|
259
|
+
graph_repr = repr(model.graph)
|
|
260
|
+
self.assertEqual(
|
|
261
|
+
graph_repr,
|
|
262
|
+
"GraphProto('agraph', input=<1 inputs>, output=<1 outputs>, initializer=<1 initializers>, node=<1 nodes>)",
|
|
263
|
+
)
|
|
264
|
+
|
|
265
|
+
def test_function_repr(self) -> None:
|
|
266
|
+
text = """
|
|
267
|
+
<
|
|
268
|
+
ir_version: 9,
|
|
269
|
+
opset_import: [ "" : 15, "custom_domain" : 1],
|
|
270
|
+
producer_name: "FunctionProtoTest",
|
|
271
|
+
producer_version: "1.0",
|
|
272
|
+
model_version: 1,
|
|
273
|
+
doc_string: "A test model for model local functions."
|
|
274
|
+
>
|
|
275
|
+
agraph (float[N] x) => (float[N] out)
|
|
276
|
+
{
|
|
277
|
+
out = custom_domain.Selu<alpha=2.0, gamma=3.0>(x)
|
|
278
|
+
}
|
|
279
|
+
<
|
|
280
|
+
domain: "custom_domain",
|
|
281
|
+
opset_import: [ "" : 15],
|
|
282
|
+
doc_string: "Test function proto"
|
|
283
|
+
>
|
|
284
|
+
Selu
|
|
285
|
+
<alpha: float=1.67326319217681884765625, gamma: float=1.05070102214813232421875>
|
|
286
|
+
(X) => (C)
|
|
287
|
+
{
|
|
288
|
+
constant_alpha = Constant<value_float: float=@alpha>()
|
|
289
|
+
constant_gamma = Constant<value_float: float=@gamma>()
|
|
290
|
+
alpha_x = CastLike(constant_alpha, X)
|
|
291
|
+
gamma_x = CastLike(constant_gamma, X)
|
|
292
|
+
exp_x = Exp(X)
|
|
293
|
+
alpha_x_exp_x = Mul(alpha_x, exp_x)
|
|
294
|
+
alpha_x_exp_x_ = Sub(alpha_x_exp_x, alpha_x)
|
|
295
|
+
neg = Mul(gamma_x, alpha_x_exp_x_)
|
|
296
|
+
pos = Mul(gamma_x, X)
|
|
297
|
+
_zero = Constant<value_float=0.0>()
|
|
298
|
+
zero = CastLike(_zero, X)
|
|
299
|
+
less_eq = LessOrEqual(X, zero)
|
|
300
|
+
C = Where(less_eq, neg, pos)
|
|
301
|
+
}
|
|
302
|
+
"""
|
|
303
|
+
model = onnx.parser.parse_model(text)
|
|
304
|
+
self.assertEqual(
|
|
305
|
+
repr(model),
|
|
306
|
+
"ModelProto(ir_version=9, opset_import={'': 15, 'custom_domain': 1}, producer_name='FunctionProtoTest', producer_version='1.0', graph=GraphProto('agraph', input=<1 inputs>, output=<1 outputs>, node=<1 nodes>), functions=<1 functions>)",
|
|
307
|
+
)
|
|
308
|
+
function_repr = repr(model.functions[0])
|
|
309
|
+
self.assertEqual(
|
|
310
|
+
function_repr,
|
|
311
|
+
"FunctionProto('Selu', domain='custom_domain', opset_import={'': 15}, input=<1 inputs>, output=<1 outputs>, node=<13 nodes>)",
|
|
312
|
+
)
|
|
313
|
+
|
|
230
314
|
|
|
231
315
|
if __name__ == "__main__":
|
|
232
316
|
unittest.main()
|
|
@@ -62,6 +62,7 @@ from onnx.reference.ops import load_op
|
|
|
62
62
|
from onnx.reference.ops._op_common_indices import _get_indices, _is_out
|
|
63
63
|
from onnx.reference.ops._op_list import Cast_19, Celu
|
|
64
64
|
from onnx.reference.ops.aionnx_preview_training._op_list import Adam
|
|
65
|
+
from onnx.reference.ops.op_attention import _apply_causal
|
|
65
66
|
from onnx.reference.ops.op_celu import _vcelu1
|
|
66
67
|
from onnx.reference.ops.op_col2im import (
|
|
67
68
|
_col2im_naive_implementation_2d,
|
|
@@ -6118,6 +6119,28 @@ class TestReferenceEvaluator(unittest.TestCase):
|
|
|
6118
6119
|
got = ref.run(None, {"X": x})
|
|
6119
6120
|
self.assertEqual(x.dtype, got[0].dtype)
|
|
6120
6121
|
|
|
6122
|
+
def test_apply_causal(self):
|
|
6123
|
+
m = np.ones((3, 3), dtype=np.float16)
|
|
6124
|
+
_apply_causal(m, 0)
|
|
6125
|
+
self.assertEqual(m.dtype, np.float16)
|
|
6126
|
+
assert_allclose(
|
|
6127
|
+
np.array(
|
|
6128
|
+
[[1, -np.inf, -np.inf], [1, 1, -np.inf], [1, 1, 1]], dtype=m.dtype
|
|
6129
|
+
),
|
|
6130
|
+
m,
|
|
6131
|
+
)
|
|
6132
|
+
|
|
6133
|
+
m = np.zeros((3, 4), dtype=np.float16)
|
|
6134
|
+
_apply_causal(m, 1)
|
|
6135
|
+
self.assertEqual(m.dtype, np.float16)
|
|
6136
|
+
assert_allclose(
|
|
6137
|
+
np.array(
|
|
6138
|
+
[[0, 0, -np.inf, -np.inf], [0, 0, 0, -np.inf], [0, 0, 0, 0]],
|
|
6139
|
+
dtype=m.dtype,
|
|
6140
|
+
),
|
|
6141
|
+
m,
|
|
6142
|
+
)
|
|
6143
|
+
|
|
6121
6144
|
|
|
6122
6145
|
if __name__ == "__main__":
|
|
6123
6146
|
unittest.main(verbosity=2)
|
|
@@ -21,6 +21,7 @@ from onnx.backend.base import Device, DeviceType
|
|
|
21
21
|
from onnx.reference import ReferenceEvaluator
|
|
22
22
|
|
|
23
23
|
# The following just executes a backend based on ReferenceEvaluator through the backend test
|
|
24
|
+
VERBOSE = int(os.environ.get("VERBOSE", "0"))
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
class ReferenceEvaluatorBackendRep(onnx.backend.base.BackendRep):
|
|
@@ -65,7 +66,7 @@ class ReferenceEvaluatorBackend(onnx.backend.base.Backend):
|
|
|
65
66
|
|
|
66
67
|
@classmethod
|
|
67
68
|
def create_inference_session(cls, model):
|
|
68
|
-
return ReferenceEvaluator(model)
|
|
69
|
+
return ReferenceEvaluator(model, verbose=VERBOSE)
|
|
69
70
|
|
|
70
71
|
@classmethod
|
|
71
72
|
def prepare(
|
onnx/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onnx
|
|
3
|
-
Version: 1.19.
|
|
3
|
+
Version: 1.19.1rc1
|
|
4
4
|
Summary: Open Neural Network Exchange
|
|
5
5
|
Author-email: ONNX Contributors <onnx-technical-discuss@lists.lfaidata.foundation>
|
|
6
6
|
License: Apache License v2.0
|
|
@@ -13,7 +13,7 @@ License-File: LICENSE
|
|
|
13
13
|
Requires-Dist: numpy>=1.22
|
|
14
14
|
Requires-Dist: protobuf>=4.25.1
|
|
15
15
|
Requires-Dist: typing_extensions>=4.7.1
|
|
16
|
-
Requires-Dist: ml_dtypes
|
|
16
|
+
Requires-Dist: ml_dtypes>=0.5.0
|
|
17
17
|
Provides-Extra: reference
|
|
18
18
|
Requires-Dist: Pillow; extra == "reference"
|
|
19
19
|
Dynamic: license-file
|