onnx 1.19.0__cp311-cp311-win_amd64.whl → 1.19.1rc1__cp311-cp311-win_amd64.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.

Files changed (202) hide show
  1. onnx/__init__.py +98 -0
  2. onnx/backend/test/case/node/__init__.py +20 -3
  3. onnx/backend/test/case/node/attention.py +62 -0
  4. onnx/backend/test/case/node/rotaryembedding.py +6 -6
  5. onnx/backend/test/data/node/test_attention_3d/model.onnx +0 -0
  6. onnx/backend/test/data/node/test_attention_3d_attn_mask/model.onnx +0 -0
  7. onnx/backend/test/data/node/test_attention_3d_attn_mask_expanded/model.onnx +0 -0
  8. onnx/backend/test/data/node/test_attention_3d_causal/model.onnx +0 -0
  9. onnx/backend/test/data/node/test_attention_3d_causal_expanded/model.onnx +0 -0
  10. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes/model.onnx +0 -0
  11. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_attn_mask/model.onnx +0 -0
  12. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_attn_mask_expanded/model.onnx +0 -0
  13. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_causal/model.onnx +0 -0
  14. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_causal_expanded/model.onnx +0 -0
  15. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_expanded/model.onnx +0 -0
  16. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_scaled/model.onnx +0 -0
  17. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_scaled_expanded/model.onnx +0 -0
  18. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_softcap/model.onnx +0 -0
  19. onnx/backend/test/data/node/test_attention_3d_diff_heads_sizes_softcap_expanded/model.onnx +0 -0
  20. onnx/backend/test/data/node/test_attention_3d_diff_heads_with_past_and_present/model.onnx +0 -0
  21. onnx/backend/test/data/node/test_attention_3d_diff_heads_with_past_and_present_expanded/model.onnx +0 -0
  22. onnx/backend/test/data/node/test_attention_3d_expanded/model.onnx +0 -0
  23. onnx/backend/test/data/node/test_attention_3d_gqa/model.onnx +0 -0
  24. onnx/backend/test/data/node/test_attention_3d_gqa/test_data_set_0/output_0.pb +0 -0
  25. onnx/backend/test/data/node/test_attention_3d_gqa_attn_mask/model.onnx +0 -0
  26. onnx/backend/test/data/node/test_attention_3d_gqa_attn_mask/test_data_set_0/output_0.pb +0 -0
  27. onnx/backend/test/data/node/test_attention_3d_gqa_attn_mask_expanded/model.onnx +0 -0
  28. onnx/backend/test/data/node/test_attention_3d_gqa_attn_mask_expanded/test_data_set_0/output_0.pb +0 -0
  29. onnx/backend/test/data/node/test_attention_3d_gqa_causal/model.onnx +0 -0
  30. onnx/backend/test/data/node/test_attention_3d_gqa_causal/test_data_set_0/output_0.pb +0 -0
  31. onnx/backend/test/data/node/test_attention_3d_gqa_causal_expanded/model.onnx +0 -0
  32. onnx/backend/test/data/node/test_attention_3d_gqa_causal_expanded/test_data_set_0/output_0.pb +0 -0
  33. onnx/backend/test/data/node/test_attention_3d_gqa_expanded/model.onnx +0 -0
  34. onnx/backend/test/data/node/test_attention_3d_gqa_expanded/test_data_set_0/output_0.pb +0 -0
  35. onnx/backend/test/data/node/test_attention_3d_gqa_scaled/model.onnx +0 -0
  36. onnx/backend/test/data/node/test_attention_3d_gqa_scaled/test_data_set_0/output_0.pb +0 -0
  37. onnx/backend/test/data/node/test_attention_3d_gqa_scaled_expanded/model.onnx +0 -0
  38. onnx/backend/test/data/node/test_attention_3d_gqa_scaled_expanded/test_data_set_0/output_0.pb +0 -0
  39. onnx/backend/test/data/node/test_attention_3d_gqa_softcap/model.onnx +0 -0
  40. onnx/backend/test/data/node/test_attention_3d_gqa_softcap/test_data_set_0/output_0.pb +0 -0
  41. onnx/backend/test/data/node/test_attention_3d_gqa_softcap_expanded/model.onnx +0 -0
  42. onnx/backend/test/data/node/test_attention_3d_gqa_softcap_expanded/test_data_set_0/output_0.pb +0 -0
  43. onnx/backend/test/data/node/test_attention_3d_gqa_with_past_and_present/model.onnx +0 -0
  44. onnx/backend/test/data/node/test_attention_3d_gqa_with_past_and_present/test_data_set_0/output_0.pb +0 -0
  45. onnx/backend/test/data/node/test_attention_3d_gqa_with_past_and_present_expanded/model.onnx +0 -0
  46. onnx/backend/test/data/node/test_attention_3d_gqa_with_past_and_present_expanded/test_data_set_0/output_0.pb +0 -0
  47. onnx/backend/test/data/node/test_attention_3d_scaled/model.onnx +0 -0
  48. onnx/backend/test/data/node/test_attention_3d_scaled_expanded/model.onnx +0 -0
  49. onnx/backend/test/data/node/test_attention_3d_softcap/model.onnx +0 -0
  50. onnx/backend/test/data/node/test_attention_3d_softcap_expanded/model.onnx +0 -0
  51. onnx/backend/test/data/node/test_attention_3d_transpose_verification/model.onnx +0 -0
  52. onnx/backend/test/data/node/test_attention_3d_transpose_verification_expanded/model.onnx +0 -0
  53. onnx/backend/test/data/node/test_attention_3d_with_past_and_present/model.onnx +0 -0
  54. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_expanded/model.onnx +0 -0
  55. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul/model.onnx +0 -0
  56. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_bias/model.onnx +0 -0
  57. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_bias_expanded/model.onnx +0 -0
  58. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_expanded/model.onnx +0 -0
  59. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_softcap/model.onnx +0 -0
  60. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_softcap_expanded/model.onnx +0 -0
  61. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_softmax/model.onnx +0 -0
  62. onnx/backend/test/data/node/test_attention_3d_with_past_and_present_qk_matmul_softmax_expanded/model.onnx +0 -0
  63. onnx/backend/test/data/node/test_attention_4d/model.onnx +0 -0
  64. onnx/backend/test/data/node/test_attention_4d_attn_mask/model.onnx +0 -0
  65. onnx/backend/test/data/node/test_attention_4d_attn_mask_3d/model.onnx +0 -0
  66. onnx/backend/test/data/node/test_attention_4d_attn_mask_3d_causal/model.onnx +0 -0
  67. onnx/backend/test/data/node/test_attention_4d_attn_mask_3d_causal_expanded/model.onnx +0 -0
  68. onnx/backend/test/data/node/test_attention_4d_attn_mask_3d_expanded/model.onnx +0 -0
  69. onnx/backend/test/data/node/test_attention_4d_attn_mask_4d/model.onnx +0 -0
  70. onnx/backend/test/data/node/test_attention_4d_attn_mask_4d_causal/model.onnx +0 -0
  71. onnx/backend/test/data/node/test_attention_4d_attn_mask_4d_causal_expanded/model.onnx +0 -0
  72. onnx/backend/test/data/node/test_attention_4d_attn_mask_4d_expanded/model.onnx +0 -0
  73. onnx/backend/test/data/node/test_attention_4d_attn_mask_bool/model.onnx +0 -0
  74. onnx/backend/test/data/node/test_attention_4d_attn_mask_bool_4d/model.onnx +0 -0
  75. onnx/backend/test/data/node/test_attention_4d_attn_mask_bool_4d_expanded/model.onnx +0 -0
  76. onnx/backend/test/data/node/test_attention_4d_attn_mask_bool_expanded/model.onnx +0 -0
  77. onnx/backend/test/data/node/test_attention_4d_attn_mask_expanded/model.onnx +0 -0
  78. onnx/backend/test/data/node/test_attention_4d_causal/model.onnx +0 -0
  79. onnx/backend/test/data/node/test_attention_4d_causal_expanded/model.onnx +0 -0
  80. onnx/backend/test/data/node/test_attention_4d_diff_heads_mask4d_padded_kv_expanded/model.onnx +0 -0
  81. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes/model.onnx +0 -0
  82. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_attn_mask/model.onnx +0 -0
  83. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_attn_mask_expanded/model.onnx +0 -0
  84. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_causal/model.onnx +0 -0
  85. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_causal_expanded/model.onnx +0 -0
  86. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_expanded/model.onnx +0 -0
  87. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_scaled/model.onnx +0 -0
  88. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_scaled_expanded/model.onnx +0 -0
  89. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_softcap/model.onnx +0 -0
  90. onnx/backend/test/data/node/test_attention_4d_diff_heads_sizes_softcap_expanded/model.onnx +0 -0
  91. onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present/model.onnx +0 -0
  92. onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_expanded/model.onnx +0 -0
  93. onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_mask3d/model.onnx +0 -0
  94. onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_mask3d_expanded/model.onnx +0 -0
  95. onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_mask4d/model.onnx +0 -0
  96. onnx/backend/test/data/node/test_attention_4d_diff_heads_with_past_and_present_mask4d_expanded/model.onnx +0 -0
  97. onnx/backend/test/data/node/test_attention_4d_expanded/model.onnx +0 -0
  98. onnx/backend/test/data/node/test_attention_4d_fp16/model.onnx +0 -0
  99. onnx/backend/test/data/node/test_attention_4d_fp16_expanded/model.onnx +0 -0
  100. onnx/backend/test/data/node/test_attention_4d_gqa/model.onnx +0 -0
  101. onnx/backend/test/data/node/test_attention_4d_gqa/test_data_set_0/output_0.pb +0 -0
  102. onnx/backend/test/data/node/test_attention_4d_gqa_attn_mask/model.onnx +0 -0
  103. onnx/backend/test/data/node/test_attention_4d_gqa_attn_mask/test_data_set_0/output_0.pb +0 -0
  104. onnx/backend/test/data/node/test_attention_4d_gqa_attn_mask_expanded/model.onnx +0 -0
  105. onnx/backend/test/data/node/test_attention_4d_gqa_attn_mask_expanded/test_data_set_0/output_0.pb +0 -0
  106. onnx/backend/test/data/node/test_attention_4d_gqa_causal/model.onnx +0 -0
  107. onnx/backend/test/data/node/test_attention_4d_gqa_causal/test_data_set_0/output_0.pb +0 -0
  108. onnx/backend/test/data/node/test_attention_4d_gqa_causal_expanded/model.onnx +0 -0
  109. onnx/backend/test/data/node/test_attention_4d_gqa_causal_expanded/test_data_set_0/output_0.pb +0 -0
  110. onnx/backend/test/data/node/test_attention_4d_gqa_expanded/model.onnx +0 -0
  111. onnx/backend/test/data/node/test_attention_4d_gqa_expanded/test_data_set_0/output_0.pb +0 -0
  112. onnx/backend/test/data/node/test_attention_4d_gqa_scaled/model.onnx +0 -0
  113. onnx/backend/test/data/node/test_attention_4d_gqa_scaled/test_data_set_0/output_0.pb +0 -0
  114. onnx/backend/test/data/node/test_attention_4d_gqa_scaled_expanded/model.onnx +0 -0
  115. onnx/backend/test/data/node/test_attention_4d_gqa_scaled_expanded/test_data_set_0/output_0.pb +0 -0
  116. onnx/backend/test/data/node/test_attention_4d_gqa_softcap/model.onnx +0 -0
  117. onnx/backend/test/data/node/test_attention_4d_gqa_softcap/test_data_set_0/output_0.pb +0 -0
  118. onnx/backend/test/data/node/test_attention_4d_gqa_softcap_expanded/model.onnx +0 -0
  119. onnx/backend/test/data/node/test_attention_4d_gqa_softcap_expanded/test_data_set_0/output_0.pb +0 -0
  120. onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present/model.onnx +0 -0
  121. onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present/test_data_set_0/output_0.pb +0 -0
  122. onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_expanded/model.onnx +0 -0
  123. onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_expanded/test_data_set_0/output_0.pb +0 -0
  124. onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_fp16/model.onnx +0 -0
  125. onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_fp16/test_data_set_0/output_0.pb +0 -0
  126. onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_fp16_expanded/model.onnx +0 -0
  127. onnx/backend/test/data/node/test_attention_4d_gqa_with_past_and_present_fp16_expanded/test_data_set_0/output_0.pb +0 -0
  128. onnx/backend/test/data/node/test_attention_4d_scaled/model.onnx +0 -0
  129. onnx/backend/test/data/node/test_attention_4d_scaled_expanded/model.onnx +0 -0
  130. onnx/backend/test/data/node/test_attention_4d_softcap/model.onnx +0 -0
  131. onnx/backend/test/data/node/test_attention_4d_softcap_expanded/model.onnx +0 -0
  132. onnx/backend/test/data/node/test_attention_4d_with_past_and_present/model.onnx +0 -0
  133. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_expanded/model.onnx +0 -0
  134. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul/model.onnx +0 -0
  135. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias/model.onnx +0 -0
  136. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask/model.onnx +0 -0
  137. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_causal/model.onnx +0 -0
  138. 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
  139. 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
  140. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_causal_expanded/model.onnx +0 -0
  141. 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
  142. 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
  143. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_3d_mask_expanded/model.onnx +0 -0
  144. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask/model.onnx +0 -0
  145. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_causal/model.onnx +0 -0
  146. 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
  147. 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
  148. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_causal_expanded/model.onnx +0 -0
  149. 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
  150. 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
  151. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_4d_mask_expanded/model.onnx +0 -0
  152. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_bias_expanded/model.onnx +0 -0
  153. onnx/backend/test/data/node/test_attention_4d_with_past_and_present_qk_matmul_expanded/model.onnx +0 -0
  154. onnx/backend/test/data/node/test_attention_4d_with_qk_matmul/model.onnx +0 -0
  155. onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_bias/model.onnx +0 -0
  156. onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_bias_expanded/model.onnx +0 -0
  157. onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_expanded/model.onnx +0 -0
  158. onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_softcap/model.onnx +0 -0
  159. onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_softcap_expanded/model.onnx +0 -0
  160. onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_softmax/model.onnx +0 -0
  161. onnx/backend/test/data/node/test_attention_4d_with_qk_matmul_softmax_expanded/model.onnx +0 -0
  162. onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim/model.onnx +0 -0
  163. onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim/test_data_set_0/input_1.pb +1 -1
  164. onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim/test_data_set_0/input_2.pb +1 -1
  165. onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim/test_data_set_0/output_0.pb +0 -0
  166. onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim_expanded/model.onnx +0 -0
  167. onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim_expanded/test_data_set_0/input_1.pb +1 -1
  168. onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim_expanded/test_data_set_0/input_2.pb +1 -1
  169. onnx/backend/test/data/node/test_rotary_embedding_no_position_ids_rotary_dim_expanded/test_data_set_0/output_0.pb +0 -0
  170. onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim/model.onnx +0 -0
  171. onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim/test_data_set_0/input_1.pb +0 -0
  172. onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim/test_data_set_0/input_2.pb +0 -0
  173. onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim/test_data_set_0/output_0.pb +0 -0
  174. onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim_expanded/model.onnx +0 -0
  175. onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim_expanded/test_data_set_0/input_1.pb +0 -0
  176. onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim_expanded/test_data_set_0/input_2.pb +0 -0
  177. onnx/backend/test/data/node/test_rotary_embedding_with_interleaved_rotary_dim_expanded/test_data_set_0/output_0.pb +0 -0
  178. onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim/model.onnx +0 -0
  179. onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim/test_data_set_0/input_1.pb +0 -0
  180. onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim/test_data_set_0/input_2.pb +0 -0
  181. onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim/test_data_set_0/output_0.pb +0 -0
  182. onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim_expanded/model.onnx +0 -0
  183. onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim_expanded/test_data_set_0/input_1.pb +0 -0
  184. onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim_expanded/test_data_set_0/input_2.pb +0 -0
  185. onnx/backend/test/data/node/test_rotary_embedding_with_rotary_dim_expanded/test_data_set_0/output_0.pb +0 -0
  186. onnx/defs/nn/defs.cc +70 -228
  187. onnx/defs/nn/old.cc +31 -201
  188. onnx/defs/nn/utils.cc +222 -0
  189. onnx/defs/nn/utils.h +25 -0
  190. onnx/onnx_cpp2py_export.cp311-win_amd64.pyd +0 -0
  191. onnx/reference/ops/op_attention.py +33 -14
  192. onnx/reference/ops/op_rotary_embedding.py +21 -19
  193. onnx/test/basic_test.py +84 -0
  194. onnx/test/reference_evaluator_test.py +23 -0
  195. onnx/test/test_backend_reference.py +2 -1
  196. onnx/version.py +2 -2
  197. {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/METADATA +2 -2
  198. {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/RECORD +202 -200
  199. {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/WHEEL +1 -1
  200. {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/entry_points.txt +0 -0
  201. {onnx-1.19.0.dist-info → onnx-1.19.1rc1.dist-info}/licenses/LICENSE +0 -0
  202. {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
- cos = cos_cache[
45
+ cos_cache = cos_cache[
46
46
  position_ids
47
- ] # Shape: [batch_size, sequence_length, head_size/2]
48
- sin = sin_cache[
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, head_size/2]
51
- else:
52
- cos = cos_cache
53
- sin = sin_cache
54
- cos = cos[
55
- :, :, :rotary_embedding_dim_half
56
- ] # Shape: [batch_size, sequence_length, rotary_embedding_dim/2]
57
- sin = sin[
58
- :, :, :rotary_embedding_dim_half
59
- ] # Shape: [batch_size, sequence_length, rotary_embedding_dim/2]
60
- cos = np.expand_dims(
61
- cos, axis=2
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
- sin = np.expand_dims(
64
- sin, axis=2
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 = (cos * x1) - (sin * x2)
76
- imag = (sin * x1) + (cos * x2)
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,5 +1,5 @@
1
1
  # This file is generated by setup.py. DO NOT EDIT!
2
2
 
3
3
 
4
- version = "1.19.0"
5
- git_version = "57b9c6a4f6eebb09ae1b34cfb632078518f72832"
4
+ version = "1.19.1rc1"
5
+ git_version = "e11938a232432630e1ff8904bb80091af6823021"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onnx
3
- Version: 1.19.0
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