<
   ir_version: 10,
   opset_import: ["" : 23],
   producer_name: "pytorch"
>
main_graph (uint8[batch,224,224,3] image) => (float[batch,1024] image_embedding) 
   <
      float[batch,1024,14,14] add_1016
      float[batch,1024,14,14] add_1092
      float[batch,2048,7,7] add_1188
      float[batch,2048,7,7] add_1264
      float[batch,2048,7,7] add_1340
      float[50,batch,2048] add_1370
      float[batch,256,56,56] add_140
      float[batch,256,56,56] add_216
      float[batch,256,56,56] add_292
      float[batch,512,28,28] add_388
      float[batch,512,28,28] add_464
      float[batch,512,28,28] add_540
      float[batch,512,28,28] add_616
      float[batch,1024,14,14] add_712
      float[batch,1024,14,14] add_788
      float[batch,1024,14,14] add_864
      float[batch,1024,14,14] add_940
      float[batch,64,56,56] avg_pool2d
      float[batch,128,28,28] avg_pool2d_2
      float[batch,256,28,28] avg_pool2d_3
      float[batch,256,14,14] avg_pool2d_4
      float[batch,512,14,14] avg_pool2d_5
      float[batch,512,7,7] avg_pool2d_6
      float[batch,1024,7,7] avg_pool2d_7
      float[50,batch,2048] cat
      float[batch,1] clamp_min
      float[batch,32,112,112] getitem
      float[batch,256,14,14] getitem_102
      float[batch,1024,14,14] getitem_105
      float[batch,256,14,14] getitem_108
      float[batch,256,14,14] getitem_111
      float[batch,1024,14,14] getitem_114
      float[batch,256,14,14] getitem_117
      float[batch,64,56,56] getitem_12
      float[batch,256,14,14] getitem_120
      float[batch,1024,14,14] getitem_123
      float[batch,256,14,14] getitem_126
      float[batch,256,14,14] getitem_129
      float[batch,1024,14,14] getitem_132
      float[batch,512,14,14] getitem_135
      float[batch,512,14,14] getitem_138
      float[batch,2048,7,7] getitem_141
      float[batch,2048,7,7] getitem_144
      float[batch,512,7,7] getitem_147
      float[batch,256,56,56] getitem_15
      float[batch,512,7,7] getitem_150
      float[batch,2048,7,7] getitem_153
      float[batch,512,7,7] getitem_156
      float[batch,512,7,7] getitem_159
      float[batch,2048,7,7] getitem_162
      float[batch,256,56,56] getitem_18
      float[batch,64,56,56] getitem_21
      float[batch,64,56,56] getitem_24
      float[batch,256,56,56] getitem_27
      float[batch,32,112,112] getitem_3
      float[batch,64,56,56] getitem_30
      float[batch,64,56,56] getitem_33
      float[batch,256,56,56] getitem_36
      float[batch,128,56,56] getitem_39
      float[batch,128,56,56] getitem_42
      float[batch,512,28,28] getitem_45
      float[batch,512,28,28] getitem_48
      float[batch,128,28,28] getitem_51
      float[batch,128,28,28] getitem_54
      float[batch,512,28,28] getitem_57
      float[batch,64,112,112] getitem_6
      float[batch,128,28,28] getitem_60
      float[batch,128,28,28] getitem_63
      float[batch,512,28,28] getitem_66
      float[batch,128,28,28] getitem_69
      float[batch,128,28,28] getitem_72
      float[batch,512,28,28] getitem_75
      float[batch,256,28,28] getitem_78
      float[batch,256,28,28] getitem_81
      float[batch,1024,14,14] getitem_84
      float[batch,1024,14,14] getitem_87
      float[batch,64,56,56] getitem_9
      float[batch,256,14,14] getitem_90
      float[batch,256,14,14] getitem_93
      float[batch,1024,14,14] getitem_96
      float[batch,256,14,14] getitem_99
      float[batch,3,224,224] image_chw
      float[batch,224,224,3] image_f32
      float[batch,224,224,3] image_shifted
      float[batch,1] linalg_vector_norm
      float[1,batch,2048] linear
      float[50,batch,2048] linear_1
      float[50,batch,2048] linear_2
      float[batch,1024] linear_3
      float[1,batch,2048] mean
      float[1,batch,2048] node_scaled_dot_product_attention_q_row
      float[49,batch,2048] permute_1
      float[1,batch,32,64] permute_2
      float[batch,32,112,112] relu
      float[batch,32,112,112] relu_1
      float[batch,64,56,56] relu_10
      float[batch,256,56,56] relu_11
      float[batch,128,56,56] relu_12
      float[batch,128,56,56] relu_13
      float[batch,512,28,28] relu_14
      float[batch,128,28,28] relu_15
      float[batch,128,28,28] relu_16
      float[batch,512,28,28] relu_17
      float[batch,128,28,28] relu_18
      float[batch,128,28,28] relu_19
      float[batch,64,112,112] relu_2
      float[batch,512,28,28] relu_20
      float[batch,128,28,28] relu_21
      float[batch,128,28,28] relu_22
      float[batch,512,28,28] relu_23
      float[batch,256,28,28] relu_24
      float[batch,256,28,28] relu_25
      float[batch,1024,14,14] relu_26
      float[batch,256,14,14] relu_27
      float[batch,256,14,14] relu_28
      float[batch,1024,14,14] relu_29
      float[batch,64,56,56] relu_3
      float[batch,256,14,14] relu_30
      float[batch,256,14,14] relu_31
      float[batch,1024,14,14] relu_32
      float[batch,256,14,14] relu_33
      float[batch,256,14,14] relu_34
      float[batch,1024,14,14] relu_35
      float[batch,256,14,14] relu_36
      float[batch,256,14,14] relu_37
      float[batch,1024,14,14] relu_38
      float[batch,256,14,14] relu_39
      float[batch,64,56,56] relu_4
      float[batch,256,14,14] relu_40
      float[batch,1024,14,14] relu_41
      float[batch,512,14,14] relu_42
      float[batch,512,14,14] relu_43
      float[batch,2048,7,7] relu_44
      float[batch,512,7,7] relu_45
      float[batch,512,7,7] relu_46
      float[batch,2048,7,7] relu_47
      float[batch,512,7,7] relu_48
      float[batch,512,7,7] relu_49
      float[batch,256,56,56] relu_5
      float[batch,2048,7,7] relu_50
      float[batch,64,56,56] relu_6
      float[batch,64,56,56] relu_7
      float[batch,256,56,56] relu_8
      float[batch,64,56,56] relu_9
      float[batch,32,1,64] scaled_dot_product_attention
      float[batch,1024] select
      float[2048] split_split_0
      float[2048] split_split_1
      float[2048] split_split_2
      float[unk__1,1,64] transpose
      float[unk__1,50,64] transpose_1
      float[unk__1,50,64] transpose_2
      float[50,1,2048] unsqueeze
      float[1,batch,2048] val_7
      float[50,batch,2048] val_8
      float[50,batch,2048] val_9
      float[1,batch,1024] view_10
      float[batch,2048,49] view_2
      float[1,unk__1,64] view_3
      float[50,unk__1,64] view_4
      float[50,unk__1,64] view_5
      float[batch,32,1,64] view_6
      float[batch,32,50,64] view_7
      float[batch,32,50,64] view_8
      float[batch,2048] view_9
   >
{
   [pre_cast] image_f32 = Cast <to: int = 1> (image)
   [pre_shift] image_shifted = Sub (image_f32, image_shift)
   [pre_nhwc_to_nchw] image_chw = Transpose <perm: ints = [0, 3, 1, 2]> (image_shifted)
   getitem = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [2, 2]> (image_chw, "visual.conv1.weight", "visual.conv1.weight_bias")
   [node_relu] relu = Relu (getitem)
   getitem_3 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu, "visual.conv2.weight", "visual.conv2.weight_bias")
   relu_1 = Relu (getitem_3)
   getitem_6 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_1, "visual.conv3.weight", "visual.conv3.weight_bias")
   relu_2 = Relu (getitem_6)
   [node_avg_pool2d] avg_pool2d = AveragePool <auto_pad: string = "NOTSET", ceil_mode: int = 0, count_include_pad: int = 1, kernel_shape: ints = [2, 2], pads: ints = [0, 0, 0, 0], strides: ints = [2, 2]> (relu_2)
   getitem_9 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (avg_pool2d, "visual.layer1.0.conv1.weight", "visual.layer1.0.conv1.weight_bias")
   relu_3 = Relu (getitem_9)
   getitem_12 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_3, "visual.layer1.0.conv2.weight", "visual.layer1.0.conv2.weight_bias")
   relu_4 = Relu (getitem_12)
   getitem_15 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_4, "visual.layer1.0.conv3.weight", "visual.layer1.0.conv3.weight_bias")
   getitem_18 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (avg_pool2d, "visual.layer1.0.downsample.0.weight", "visual.layer1.0.downsample.0.weight_bias")
   add_140 = Add (getitem_15, getitem_18)
   relu_5 = Relu (add_140)
   getitem_21 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_5, "visual.layer1.1.conv1.weight", "visual.layer1.1.conv1.weight_bias")
   relu_6 = Relu (getitem_21)
   getitem_24 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_6, "visual.layer1.1.conv2.weight", "visual.layer1.1.conv2.weight_bias")
   relu_7 = Relu (getitem_24)
   getitem_27 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_7, "visual.layer1.1.conv3.weight", "visual.layer1.1.conv3.weight_bias")
   add_216 = Add (getitem_27, relu_5)
   relu_8 = Relu (add_216)
   getitem_30 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_8, "visual.layer1.2.conv1.weight", "visual.layer1.2.conv1.weight_bias")
   relu_9 = Relu (getitem_30)
   getitem_33 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_9, "visual.layer1.2.conv2.weight", "visual.layer1.2.conv2.weight_bias")
   relu_10 = Relu (getitem_33)
   getitem_36 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_10, "visual.layer1.2.conv3.weight", "visual.layer1.2.conv3.weight_bias")
   add_292 = Add (getitem_36, relu_8)
   relu_11 = Relu (add_292)
   getitem_39 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_11, "visual.layer2.0.conv1.weight", "visual.layer2.0.conv1.weight_bias")
   relu_12 = Relu (getitem_39)
   getitem_42 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_12, "visual.layer2.0.conv2.weight", "visual.layer2.0.conv2.weight_bias")
   relu_13 = Relu (getitem_42)
   avg_pool2d_2 = AveragePool <auto_pad: string = "NOTSET", ceil_mode: int = 0, count_include_pad: int = 1, kernel_shape: ints = [2, 2], pads: ints = [0, 0, 0, 0], strides: ints = [2, 2]> (relu_13)
   getitem_45 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (avg_pool2d_2, "visual.layer2.0.conv3.weight", "visual.layer2.0.conv3.weight_bias")
   avg_pool2d_3 = AveragePool <auto_pad: string = "NOTSET", ceil_mode: int = 0, count_include_pad: int = 1, kernel_shape: ints = [2, 2], pads: ints = [0, 0, 0, 0], strides: ints = [2, 2]> (relu_11)
   getitem_48 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (avg_pool2d_3, "visual.layer2.0.downsample.0.weight", "visual.layer2.0.downsample.0.weight_bias")
   add_388 = Add (getitem_45, getitem_48)
   relu_14 = Relu (add_388)
   getitem_51 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_14, "visual.layer2.1.conv1.weight", "visual.layer2.1.conv1.weight_bias")
   relu_15 = Relu (getitem_51)
   getitem_54 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_15, "visual.layer2.1.conv2.weight", "visual.layer2.1.conv2.weight_bias")
   relu_16 = Relu (getitem_54)
   getitem_57 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_16, "visual.layer2.1.conv3.weight", "visual.layer2.1.conv3.weight_bias")
   add_464 = Add (getitem_57, relu_14)
   relu_17 = Relu (add_464)
   getitem_60 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_17, "visual.layer2.2.conv1.weight", "visual.layer2.2.conv1.weight_bias")
   relu_18 = Relu (getitem_60)
   getitem_63 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_18, "visual.layer2.2.conv2.weight", "visual.layer2.2.conv2.weight_bias")
   relu_19 = Relu (getitem_63)
   getitem_66 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_19, "visual.layer2.2.conv3.weight", "visual.layer2.2.conv3.weight_bias")
   add_540 = Add (getitem_66, relu_17)
   relu_20 = Relu (add_540)
   getitem_69 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_20, "visual.layer2.3.conv1.weight", "visual.layer2.3.conv1.weight_bias")
   relu_21 = Relu (getitem_69)
   getitem_72 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_21, "visual.layer2.3.conv2.weight", "visual.layer2.3.conv2.weight_bias")
   relu_22 = Relu (getitem_72)
   getitem_75 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_22, "visual.layer2.3.conv3.weight", "visual.layer2.3.conv3.weight_bias")
   add_616 = Add (getitem_75, relu_20)
   relu_23 = Relu (add_616)
   getitem_78 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_23, "visual.layer3.0.conv1.weight", "visual.layer3.0.conv1.weight_bias")
   relu_24 = Relu (getitem_78)
   getitem_81 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_24, "visual.layer3.0.conv2.weight", "visual.layer3.0.conv2.weight_bias")
   relu_25 = Relu (getitem_81)
   avg_pool2d_4 = AveragePool <auto_pad: string = "NOTSET", ceil_mode: int = 0, count_include_pad: int = 1, kernel_shape: ints = [2, 2], pads: ints = [0, 0, 0, 0], strides: ints = [2, 2]> (relu_25)
   getitem_84 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (avg_pool2d_4, "visual.layer3.0.conv3.weight", "visual.layer3.0.conv3.weight_bias")
   avg_pool2d_5 = AveragePool <auto_pad: string = "NOTSET", ceil_mode: int = 0, count_include_pad: int = 1, kernel_shape: ints = [2, 2], pads: ints = [0, 0, 0, 0], strides: ints = [2, 2]> (relu_23)
   getitem_87 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (avg_pool2d_5, "visual.layer3.0.downsample.0.weight", "visual.layer3.0.downsample.0.weight_bias")
   add_712 = Add (getitem_84, getitem_87)
   relu_26 = Relu (add_712)
   getitem_90 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_26, "visual.layer3.1.conv1.weight", "visual.layer3.1.conv1.weight_bias")
   relu_27 = Relu (getitem_90)
   getitem_93 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_27, "visual.layer3.1.conv2.weight", "visual.layer3.1.conv2.weight_bias")
   relu_28 = Relu (getitem_93)
   getitem_96 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_28, "visual.layer3.1.conv3.weight", "visual.layer3.1.conv3.weight_bias")
   add_788 = Add (getitem_96, relu_26)
   relu_29 = Relu (add_788)
   getitem_99 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_29, "visual.layer3.2.conv1.weight", "visual.layer3.2.conv1.weight_bias")
   relu_30 = Relu (getitem_99)
   getitem_102 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_30, "visual.layer3.2.conv2.weight", "visual.layer3.2.conv2.weight_bias")
   relu_31 = Relu (getitem_102)
   getitem_105 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_31, "visual.layer3.2.conv3.weight", "visual.layer3.2.conv3.weight_bias")
   add_864 = Add (getitem_105, relu_29)
   relu_32 = Relu (add_864)
   getitem_108 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_32, "visual.layer3.3.conv1.weight", "visual.layer3.3.conv1.weight_bias")
   relu_33 = Relu (getitem_108)
   getitem_111 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_33, "visual.layer3.3.conv2.weight", "visual.layer3.3.conv2.weight_bias")
   relu_34 = Relu (getitem_111)
   getitem_114 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_34, "visual.layer3.3.conv3.weight", "visual.layer3.3.conv3.weight_bias")
   add_940 = Add (getitem_114, relu_32)
   relu_35 = Relu (add_940)
   getitem_117 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_35, "visual.layer3.4.conv1.weight", "visual.layer3.4.conv1.weight_bias")
   relu_36 = Relu (getitem_117)
   getitem_120 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_36, "visual.layer3.4.conv2.weight", "visual.layer3.4.conv2.weight_bias")
   relu_37 = Relu (getitem_120)
   getitem_123 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_37, "visual.layer3.4.conv3.weight", "visual.layer3.4.conv3.weight_bias")
   add_1016 = Add (getitem_123, relu_35)
   relu_38 = Relu (add_1016)
   getitem_126 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_38, "visual.layer3.5.conv1.weight", "visual.layer3.5.conv1.weight_bias")
   relu_39 = Relu (getitem_126)
   getitem_129 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_39, "visual.layer3.5.conv2.weight", "visual.layer3.5.conv2.weight_bias")
   relu_40 = Relu (getitem_129)
   getitem_132 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_40, "visual.layer3.5.conv3.weight", "visual.layer3.5.conv3.weight_bias")
   add_1092 = Add (getitem_132, relu_38)
   relu_41 = Relu (add_1092)
   getitem_135 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_41, "visual.layer4.0.conv1.weight", "visual.layer4.0.conv1.weight_bias")
   relu_42 = Relu (getitem_135)
   getitem_138 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_42, "visual.layer4.0.conv2.weight", "visual.layer4.0.conv2.weight_bias")
   relu_43 = Relu (getitem_138)
   avg_pool2d_6 = AveragePool <auto_pad: string = "NOTSET", ceil_mode: int = 0, count_include_pad: int = 1, kernel_shape: ints = [2, 2], pads: ints = [0, 0, 0, 0], strides: ints = [2, 2]> (relu_43)
   getitem_141 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (avg_pool2d_6, "visual.layer4.0.conv3.weight", "visual.layer4.0.conv3.weight_bias")
   avg_pool2d_7 = AveragePool <auto_pad: string = "NOTSET", ceil_mode: int = 0, count_include_pad: int = 1, kernel_shape: ints = [2, 2], pads: ints = [0, 0, 0, 0], strides: ints = [2, 2]> (relu_41)
   getitem_144 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (avg_pool2d_7, "visual.layer4.0.downsample.0.weight", "visual.layer4.0.downsample.0.weight_bias")
   add_1188 = Add (getitem_141, getitem_144)
   relu_44 = Relu (add_1188)
   getitem_147 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_44, "visual.layer4.1.conv1.weight", "visual.layer4.1.conv1.weight_bias")
   relu_45 = Relu (getitem_147)
   getitem_150 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_45, "visual.layer4.1.conv2.weight", "visual.layer4.1.conv2.weight_bias")
   relu_46 = Relu (getitem_150)
   getitem_153 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_46, "visual.layer4.1.conv3.weight", "visual.layer4.1.conv3.weight_bias")
   add_1264 = Add (getitem_153, relu_44)
   relu_47 = Relu (add_1264)
   getitem_156 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_47, "visual.layer4.2.conv1.weight", "visual.layer4.2.conv1.weight_bias")
   relu_48 = Relu (getitem_156)
   getitem_159 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [1, 1, 1, 1], strides: ints = [1, 1]> (relu_48, "visual.layer4.2.conv2.weight", "visual.layer4.2.conv2.weight_bias")
   relu_49 = Relu (getitem_159)
   getitem_162 = Conv <auto_pad: string = "NOTSET", dilations: ints = [1, 1], group: int = 1, pads: ints = [0, 0, 0, 0], strides: ints = [1, 1]> (relu_49, "visual.layer4.2.conv3.weight", "visual.layer4.2.conv3.weight_bias")
   add_1340 = Add (getitem_162, relu_47)
   relu_50 = Relu (add_1340)
   view_2 = Reshape <allowzero: int = 1> (relu_50, view_2_target)
   permute_1 = Transpose <perm: ints = [2, 0, 1]> (view_2)
   [node_mean] mean = ReduceMean <keepdims: int = 1, noop_with_empty_axes: int = 0> (permute_1, val_0)
   [node_cat] cat = Concat <axis: int = 0> (mean, permute_1)
   [node_unsqueeze] unsqueeze = Unsqueeze ("visual.attnpool.positional_embedding", val_3)
   add_1370 = Add (cat, unsqueeze)
   split_split_0, split_split_1, split_split_2 = Split <axis: int = 0, num_outputs: int = 3> (cat_1)
   node_scaled_dot_product_attention_q_row = Slice (add_1370, val_0, val_3, val_0)
   val_7 = MatMul (node_scaled_dot_product_attention_q_row, val_4)
   [node_linear] linear = Add (val_7, split_split_0)
   val_8 = MatMul (add_1370, val_5)
   linear_1 = Add (val_8, split_split_1)
   val_9 = MatMul (add_1370, val_6)
   linear_2 = Add (val_9, split_split_2)
   view_3 = Reshape <allowzero: int = 1> (linear, node_scaled_dot_product_attention_q_unpack_1)
   [node_transpose] transpose = Transpose <perm: ints = [1, 0, 2]> (view_3)
   view_4 = Reshape <allowzero: int = 1> (linear_1, view_4_target)
   transpose_1 = Transpose <perm: ints = [1, 0, 2]> (view_4)
   view_5 = Reshape <allowzero: int = 1> (linear_2, view_4_target)
   transpose_2 = Transpose <perm: ints = [1, 0, 2]> (view_5)
   view_6 = Reshape <allowzero: int = 1> (transpose, node_scaled_dot_product_attention_q_pack_1)
   view_7 = Reshape <allowzero: int = 1> (transpose_1, view_7_target)
   view_8 = Reshape <allowzero: int = 1> (transpose_2, view_7_target)
   [node_scaled_dot_product_attention] scaled_dot_product_attention = Attention <is_causal: int = 0, qk_matmul_output_mode: int = 0, softcap: float = 0> (view_6, view_7, view_8)
   permute_2 = Transpose <perm: ints = [2, 0, 1, 3]> (scaled_dot_product_attention)
   view_9 = Reshape <allowzero: int = 1> (permute_2, view_9_target)
   linear_3 = Gemm <alpha: float = 1, beta: float = 1, transA: int = 0, transB: int = 1> (view_9, "visual.attnpool.c_proj.weight", "visual.attnpool.c_proj.bias")
   view_10 = Reshape <allowzero: int = 1> (linear_3, node_scaled_dot_product_attention_out_1)
   select = Squeeze (view_10, val_0)
   [node_linalg_vector_norm] linalg_vector_norm = ReduceL2 <keepdims: int = 1, noop_with_empty_axes: int = 0> (select, val_1)
   [node_clamp_min] clamp_min = Clip (linalg_vector_norm, val_2)
   [node_div] image_embedding = Div (select, clamp_min)
}

weights:
cat_1 FLOAT[6144] 20bc5a8dd689
image_shift FLOAT[3] 2f7a50e604ad
node_scaled_dot_product_attention_out_1 INT64[3] 7162728d1394
node_scaled_dot_product_attention_q_pack_1 INT64[4] f7b9b5620534
node_scaled_dot_product_attention_q_unpack_1 INT64[3] cfe34a386daf
val_0 INT64[1] af5570f5a181
val_1 INT64[1] 12a3ae445661
val_2 FLOAT[] 6708d9be4956
val_3 INT64[1] 7c9fa136d441
val_4 FLOAT[2048,2048] 158a99456b3a
val_5 FLOAT[2048,2048] 7245a10cbd60
val_6 FLOAT[2048,2048] 77da6e0693f6
view_2_target INT64[3] 68ffb9ecb5ec
view_4_target INT64[3] c7a3d94c4eb2
view_7_target INT64[4] e0ea1841387b
view_9_target INT64[2] 76aecb4697fd
visual.attnpool.c_proj.bias FLOAT[1024] 4469f5077f9f
visual.attnpool.c_proj.weight FLOAT[1024,2048] f5806b78e9b4
visual.attnpool.positional_embedding FLOAT[50,2048] a86e140880f1
visual.conv1.weight FLOAT[32,3,3,3] 5bc7130f0cf2
visual.conv1.weight_bias FLOAT[32] 0b3fad76f857
visual.conv2.weight FLOAT[32,32,3,3] 2b024d19d6a0
visual.conv2.weight_bias FLOAT[32] 2492ef0f6e3a
visual.conv3.weight FLOAT[64,32,3,3] 08059865a178
visual.conv3.weight_bias FLOAT[64] b33bda9b6e02
visual.layer1.0.conv1.weight FLOAT[64,64,1,1] da768736dd70
visual.layer1.0.conv1.weight_bias FLOAT[64] 0e5259d119d6
visual.layer1.0.conv2.weight FLOAT[64,64,3,3] 9bdd6b6eff7b
visual.layer1.0.conv2.weight_bias FLOAT[64] 2c2dc9a14f7a
visual.layer1.0.conv3.weight FLOAT[256,64,1,1] 5c6d15cdc576
visual.layer1.0.conv3.weight_bias FLOAT[256] 4f5fc0a415de
visual.layer1.0.downsample.0.weight FLOAT[256,64,1,1] 44ff4939e5f8
visual.layer1.0.downsample.0.weight_bias FLOAT[256] 0cc5e46803ef
visual.layer1.1.conv1.weight FLOAT[64,256,1,1] 4bd24d6c004d
visual.layer1.1.conv1.weight_bias FLOAT[64] c99e98e3acb9
visual.layer1.1.conv2.weight FLOAT[64,64,3,3] 60d67142bb5f
visual.layer1.1.conv2.weight_bias FLOAT[64] e20bda2fae8e
visual.layer1.1.conv3.weight FLOAT[256,64,1,1] 8c15351944d9
visual.layer1.1.conv3.weight_bias FLOAT[256] 6ef768cbd6f8
visual.layer1.2.conv1.weight FLOAT[64,256,1,1] 7865eb2e5229
visual.layer1.2.conv1.weight_bias FLOAT[64] 5155da1d41da
visual.layer1.2.conv2.weight FLOAT[64,64,3,3] 3b5f0f461443
visual.layer1.2.conv2.weight_bias FLOAT[64] 2ca80ca0c72b
visual.layer1.2.conv3.weight FLOAT[256,64,1,1] a4e38059de17
visual.layer1.2.conv3.weight_bias FLOAT[256] 135be6c196c4
visual.layer2.0.conv1.weight FLOAT[128,256,1,1] 7a500d61274c
visual.layer2.0.conv1.weight_bias FLOAT[128] cbc8694db9a0
visual.layer2.0.conv2.weight FLOAT[128,128,3,3] ac357bfcad09
visual.layer2.0.conv2.weight_bias FLOAT[128] 6ba802491f62
visual.layer2.0.conv3.weight FLOAT[512,128,1,1] 73ad0c4ab14c
visual.layer2.0.conv3.weight_bias FLOAT[512] 809cdb16ecb0
visual.layer2.0.downsample.0.weight FLOAT[512,256,1,1] 5c096f787ef1
visual.layer2.0.downsample.0.weight_bias FLOAT[512] e75c66bfbc85
visual.layer2.1.conv1.weight FLOAT[128,512,1,1] 47c96eab4283
visual.layer2.1.conv1.weight_bias FLOAT[128] 7e05fe6d3760
visual.layer2.1.conv2.weight FLOAT[128,128,3,3] fb80359495a5
visual.layer2.1.conv2.weight_bias FLOAT[128] 461c1bace91a
visual.layer2.1.conv3.weight FLOAT[512,128,1,1] f4aac39e7914
visual.layer2.1.conv3.weight_bias FLOAT[512] da7ef23e865f
visual.layer2.2.conv1.weight FLOAT[128,512,1,1] be614a177d8e
visual.layer2.2.conv1.weight_bias FLOAT[128] 9f71e883e66c
visual.layer2.2.conv2.weight FLOAT[128,128,3,3] eb855d2a35a1
visual.layer2.2.conv2.weight_bias FLOAT[128] 8fa6eb483054
visual.layer2.2.conv3.weight FLOAT[512,128,1,1] 47cddd4d5ae6
visual.layer2.2.conv3.weight_bias FLOAT[512] 404824e1d26e
visual.layer2.3.conv1.weight FLOAT[128,512,1,1] facabd7a4566
visual.layer2.3.conv1.weight_bias FLOAT[128] 5f333e7a2fa9
visual.layer2.3.conv2.weight FLOAT[128,128,3,3] c78de1376217
visual.layer2.3.conv2.weight_bias FLOAT[128] 7dcfdf85554e
visual.layer2.3.conv3.weight FLOAT[512,128,1,1] 669dad2db705
visual.layer2.3.conv3.weight_bias FLOAT[512] 523c91c4b3cb
visual.layer3.0.conv1.weight FLOAT[256,512,1,1] 318e58cc0c2a
visual.layer3.0.conv1.weight_bias FLOAT[256] e5fcd815363e
visual.layer3.0.conv2.weight FLOAT[256,256,3,3] fe6d94e1b1cc
visual.layer3.0.conv2.weight_bias FLOAT[256] 26527fa5ffcc
visual.layer3.0.conv3.weight FLOAT[1024,256,1,1] 491a5b580b90
visual.layer3.0.conv3.weight_bias FLOAT[1024] 34dd85b561c6
visual.layer3.0.downsample.0.weight FLOAT[1024,512,1,1] 6d89cab0243e
visual.layer3.0.downsample.0.weight_bias FLOAT[1024] 611a979c0eaf
visual.layer3.1.conv1.weight FLOAT[256,1024,1,1] 5afca0f35018
visual.layer3.1.conv1.weight_bias FLOAT[256] 25dffea10f72
visual.layer3.1.conv2.weight FLOAT[256,256,3,3] 83e301f46c44
visual.layer3.1.conv2.weight_bias FLOAT[256] 5a99a9803974
visual.layer3.1.conv3.weight FLOAT[1024,256,1,1] b4b4bb1ec66a
visual.layer3.1.conv3.weight_bias FLOAT[1024] fa91301d6ee4
visual.layer3.2.conv1.weight FLOAT[256,1024,1,1] 3d3f9ed6c909
visual.layer3.2.conv1.weight_bias FLOAT[256] df315b215213
visual.layer3.2.conv2.weight FLOAT[256,256,3,3] ebb89b05092c
visual.layer3.2.conv2.weight_bias FLOAT[256] 72e8ae532e59
visual.layer3.2.conv3.weight FLOAT[1024,256,1,1] 5f3581de265e
visual.layer3.2.conv3.weight_bias FLOAT[1024] d97c48511c6f
visual.layer3.3.conv1.weight FLOAT[256,1024,1,1] 25f41a1daf77
visual.layer3.3.conv1.weight_bias FLOAT[256] 0f2888621f7c
visual.layer3.3.conv2.weight FLOAT[256,256,3,3] 8f916e928b77
visual.layer3.3.conv2.weight_bias FLOAT[256] 381239935bee
visual.layer3.3.conv3.weight FLOAT[1024,256,1,1] 7b1eb8a06889
visual.layer3.3.conv3.weight_bias FLOAT[1024] 460b313f9d15
visual.layer3.4.conv1.weight FLOAT[256,1024,1,1] b72f3f1fff81
visual.layer3.4.conv1.weight_bias FLOAT[256] a45c4609bbbb
visual.layer3.4.conv2.weight FLOAT[256,256,3,3] d9d77e016e01
visual.layer3.4.conv2.weight_bias FLOAT[256] a39e45e93278
visual.layer3.4.conv3.weight FLOAT[1024,256,1,1] 999691a0726c
visual.layer3.4.conv3.weight_bias FLOAT[1024] f249dd6fa048
visual.layer3.5.conv1.weight FLOAT[256,1024,1,1] fa677d896b0a
visual.layer3.5.conv1.weight_bias FLOAT[256] b379cf634178
visual.layer3.5.conv2.weight FLOAT[256,256,3,3] 6674459df93c
visual.layer3.5.conv2.weight_bias FLOAT[256] 9d27bbbf921f
visual.layer3.5.conv3.weight FLOAT[1024,256,1,1] 7947ecc0f364
visual.layer3.5.conv3.weight_bias FLOAT[1024] 82d838ab3b01
visual.layer4.0.conv1.weight FLOAT[512,1024,1,1] a1d81b16d954
visual.layer4.0.conv1.weight_bias FLOAT[512] e716e178e8af
visual.layer4.0.conv2.weight FLOAT[512,512,3,3] b9c740503c34
visual.layer4.0.conv2.weight_bias FLOAT[512] 3a33ef9aca49
visual.layer4.0.conv3.weight FLOAT[2048,512,1,1] 0b2ad5e0628a
visual.layer4.0.conv3.weight_bias FLOAT[2048] 816a8789c876
visual.layer4.0.downsample.0.weight FLOAT[2048,1024,1,1] 0956cb3aeee6
visual.layer4.0.downsample.0.weight_bias FLOAT[2048] 1437fe80f41b
visual.layer4.1.conv1.weight FLOAT[512,2048,1,1] b6e15f18b4bc
visual.layer4.1.conv1.weight_bias FLOAT[512] 244ed3394716
visual.layer4.1.conv2.weight FLOAT[512,512,3,3] dedeab40c1bd
visual.layer4.1.conv2.weight_bias FLOAT[512] d0cf190b3290
visual.layer4.1.conv3.weight FLOAT[2048,512,1,1] 8f6d8859aff4
visual.layer4.1.conv3.weight_bias FLOAT[2048] 4921f277cbd5
visual.layer4.2.conv1.weight FLOAT[512,2048,1,1] b91b9392b8f6
visual.layer4.2.conv1.weight_bias FLOAT[512] 7b7bcc0df14e
visual.layer4.2.conv2.weight FLOAT[512,512,3,3] e9502f4288c7
visual.layer4.2.conv2.weight_bias FLOAT[512] ec2f32f5ab4a
visual.layer4.2.conv3.weight FLOAT[2048,512,1,1] efbbf96882d3
visual.layer4.2.conv3.weight_bias FLOAT[2048] a23ebabef256
