coremltools icon indicating copy to clipboard operation
coremltools copied to clipboard

iOS 18 Target Regression

Open NoahBPeterson opened this issue 1 year ago β€’ 8 comments

🐞Describing the bug

  • My model works as expected when converting to coremltools.target.iOS17, but only outputs nan when targeting coremltools.target.iOS18

To Reproduce

  • Clone this repository: https://github.com/NoahBPeterson/mxbai-embed-large-v1-CoreML (commit 4121f6d5ab6506ba7c5a18cac320ab92f9b6541f)
  • Run convert_pytorch_coreml.py.
  • Test the output using run_coreml.py
  • It should output an array of floats.
  • Change line 40 in convert_pytorch_coreml.py to minimum_deployment_target=ct.target.iOS18,
  • Convert the model again
  • Run: the model only outputs nan

System environment (please complete the following information):

  • coremltools version: 8.0
  • OS (e.g. MacOS version or Linux type): macOS 15.0
  • Any other relevant version information (e.g. PyTorch or TensorFlow version): torch 2.4.0, Python 3.11

NoahBPeterson avatar Oct 02 '24 04:10 NoahBPeterson

Hey @NoahBPeterson Thank you for reporting this. I tried your script and even for minimum_deployment_target=ct.target.iOS17 it produced nan.

Could you confirm on your side that minimum_deployment_target=ct.target.iOS17 works well? Thanks!

junpeiz avatar Oct 03 '24 17:10 junpeiz

Yes, I can confirm that it does work with ct.target.iOS17.

 ~/Documents/books/coreml-conversion  python3.11 run_coreml.py
CLS Token Embedding: [ 2.39501953e-01 -5.38574219e-01  3.90930176e-02  2.28149414e-01
 -2.43652344e-01 -9.51538086e-02  2.86376953e-01 -3.62304688e-01
  4.11132812e-01  6.15722656e-01  3.78906250e-01  2.64648438e-01
 -6.11305237e-04 -6.48925781e-01 -2.91748047e-01 -1.96411133e-01
 -3.57421875e-01 -7.26928711e-02 -8.73046875e-01 -2.16430664e-01
  2.01293945e-01  1.80419922e-01 -1.35644531e+00 -1.87988281e-01
 -3.80371094e-01  9.71191406e-01  5.93261719e-01 -1.61010742e-01
  7.89550781e-01  6.19628906e-01 -2.29614258e-01  2.67822266e-01
  3.09814453e-01 -4.89746094e-01 -6.42089844e-01 -4.79492188e-01
  8.33007812e-01 -7.53417969e-01 -1.92016602e-01 -6.23046875e-01
  3.21289062e-01 -6.57714844e-01  9.12597656e-01 -9.61914062e-01
 -1.58496094e+00 -4.77294922e-01  6.93359375e-01 -4.13818359e-01
 -3.82324219e-01 -1.45385742e-01  1.73095703e-01  6.13098145e-02
  4.75585938e-01  1.70410156e-01  5.82031250e-01 -8.15917969e-01
  1.36718750e-01  1.04858398e-01 -1.41699219e+00  9.95605469e-01
  7.91503906e-01  5.28320312e-01 -2.26684570e-01 -1.41992188e+00
  1.81518555e-01 -6.42700195e-02 -1.77856445e-01  1.84204102e-01
 -9.88769531e-03 -6.55761719e-01 -6.89453125e-01  6.34155273e-02
 -2.64404297e-01 -7.98828125e-01 -4.59228516e-01  7.22656250e-02
  2.41699219e-01 -1.68212891e-01 -3.04687500e-01  1.10644531e+00
  5.54504395e-02  6.30859375e-01  1.11621094e+00 -2.92724609e-01
 -6.36230469e-01 -3.23974609e-01  8.75488281e-01  4.60693359e-01
 -7.72094727e-02 -4.99511719e-01 -4.21386719e-01  8.23730469e-01
 -5.12207031e-01  9.16992188e-01 -1.92749023e-01  6.75292969e-01
  9.97924805e-02  1.22314453e-01 -2.73193359e-01  5.46264648e-02
  6.58203125e-01  9.96582031e-01 -3.52539062e-01  7.69042969e-01
 -8.81347656e-01  2.76855469e-01 -2.92968750e-01 -1.89575195e-01
 -4.95910645e-02 -1.81274414e-01 -5.07812500e-01  1.70288086e-01
  2.39257812e-01 -2.30590820e-01 -6.60156250e-01  2.84179688e-01
 -8.98742676e-03 -7.15332031e-02 -3.61083984e-01  2.06787109e-01
  3.88183594e-01 -1.27685547e-01  7.67211914e-02 -6.58691406e-01
 -1.06262207e-01 -4.70214844e-01 -2.14233398e-02  1.22460938e+00
 -1.13378906e+00 -2.04345703e-01  4.19189453e-01 -1.25122070e-01
  5.97167969e-01  8.50830078e-02  2.42187500e-01  9.02099609e-02
  2.33398438e-01  3.10058594e-01  6.48437500e-01 -5.86425781e-01
  2.80273438e-01  1.27197266e-01 -3.73291016e-01  1.37109375e+00
  7.92968750e-01 -1.23840332e-01 -3.11035156e-01 -7.54394531e-01
 -6.88476562e-01  6.33789062e-01 -4.15283203e-01 -2.25830078e-01
  5.93750000e-01  6.88476562e-01 -3.93066406e-01 -1.87988281e-01
 -1.42578125e-01  4.25720215e-02 -6.69921875e-01 -1.39892578e-01
 -1.40136719e-01  3.32763672e-01 -9.07714844e-01  5.31738281e-01
 -5.62011719e-01  4.32128906e-01 -7.12402344e-01 -1.37176514e-02
 -9.90722656e-01 -6.34277344e-01  3.21533203e-01  5.41503906e-01
 -4.02832031e-01  7.00683594e-01  6.25610352e-02  9.27734375e-01
  6.66503906e-01  4.29992676e-02  3.18359375e-01 -2.32543945e-01
 -6.62597656e-01  1.19567871e-01  6.10839844e-01  4.92187500e-01
  2.56652832e-02  8.61206055e-02 -3.87878418e-02  6.26220703e-02
 -5.04882812e-01  3.28125000e-01  3.52050781e-01  6.67968750e-01
 -4.48974609e-01  5.81542969e-01 -4.16992188e-01  2.49633789e-01
 -1.03710938e+00  2.68310547e-01 -1.53320312e-01 -1.20019531e+00
 -6.19628906e-01  1.54541016e-01 -2.99072266e-01 -4.77294922e-01
 -2.90771484e-01 -2.04711914e-01 -1.25854492e-01  4.47509766e-01
 -4.00390625e-01  1.39404297e-01  6.01562500e-01  3.05664062e-01
 -6.34277344e-01 -3.80615234e-01  4.18457031e-01 -3.73840332e-02
 -1.07812500e+00  4.36035156e-01  8.85620117e-02  2.20092773e-01
  5.80139160e-02 -4.72106934e-02  5.16601562e-01  2.34130859e-01
  2.51953125e-01 -7.36328125e-01  6.83784485e-04  1.18847656e+00
  7.44628906e-02  3.82324219e-01  8.48144531e-01  2.30560303e-02
 -4.05517578e-01  1.14550781e+00  5.63964844e-01  9.75585938e-01
  1.54101562e+00  8.34960938e-01  2.72460938e-01  1.80786133e-01
  2.99072266e-01  4.64355469e-01  1.00781250e+00  6.56250000e-01
  2.99804688e-01  3.79638672e-01  7.39135742e-02  9.99145508e-02
  3.61572266e-01 -1.58813477e-01  2.14965820e-01  2.75634766e-01
  6.28417969e-01  3.74511719e-01 -5.54687500e-01  4.44335938e-01
  3.69384766e-01  5.06835938e-01 -7.71972656e-01 -9.79492188e-01
  8.77075195e-02  4.69970703e-01  2.68066406e-01 -3.81103516e-01
 -1.22680664e-01  2.64404297e-01  3.99780273e-02 -1.52587891e-01
 -4.42871094e-01 -5.70312500e-01 -3.05938721e-03 -4.70458984e-01
 -1.50390625e+00  1.05468750e-01 -4.99023438e-01  5.54199219e-01
  5.18066406e-01 -1.02636719e+00 -5.51223755e-03 -6.62597656e-01
  5.17272949e-02  3.49426270e-02 -3.43322754e-02  6.65039062e-01
  3.18359375e-01  1.01318359e-01 -6.68457031e-01  8.16406250e-01
 -4.96582031e-01  8.44238281e-01 -1.65039062e-01 -1.56982422e-01
  4.36523438e-01 -6.83105469e-01 -6.84204102e-02 -8.40454102e-02
 -4.25537109e-01  1.12670898e-01 -6.40625000e-01 -6.76269531e-01
  2.87353516e-01 -1.35864258e-01 -6.54296875e-02 -8.25500488e-03
 -8.87695312e-01  6.92382812e-01  2.85888672e-01  2.35839844e-01
  7.38769531e-01  4.47998047e-01 -8.97460938e-01  7.52441406e-01
  1.72363281e-01 -1.83715820e-01 -5.83007812e-01  8.91113281e-01
  1.13476562e+00 -5.26123047e-02 -3.84765625e-01 -2.96875000e-01
 -4.03808594e-01 -2.21923828e-01  1.40869141e-01 -3.00537109e-01
  1.59667969e-01  7.21679688e-01 -1.40258789e-01 -1.06054688e+00
 -1.46606445e-01 -2.82958984e-01 -9.16992188e-01 -2.44873047e-01
 -3.19480896e-03  7.96875000e-01  4.62646484e-01  4.17236328e-01
 -7.28027344e-01 -2.75878906e-01  2.86621094e-01  9.90722656e-01
  8.94531250e-01 -6.43310547e-02 -1.51489258e-01  6.66503906e-01
 -3.40332031e-01  1.08154297e-01  1.35986328e-01 -3.75488281e-01
 -3.32275391e-01  1.00021362e-02  9.03930664e-02  4.10156250e-01
  2.90771484e-01  4.45556641e-01 -7.48291016e-02  3.09326172e-01
 -3.50585938e-01  1.30981445e-01  5.66894531e-01 -2.57568359e-01
  1.34399414e-01  1.24218750e+00  2.36358643e-02  7.24487305e-02
  6.76879883e-02 -2.62207031e-01 -2.90771484e-01 -4.42810059e-02
  1.26098633e-01 -1.42480469e+00  9.46044922e-02 -7.42675781e-01
 -1.51000977e-01  7.71484375e-02 -4.70886230e-02 -1.97949219e+00
  8.92089844e-01  3.21777344e-01  1.00097656e+00 -4.87548828e-01
  2.88330078e-01  4.91027832e-02  4.14794922e-01  9.23828125e-01
  6.38671875e-01 -2.85644531e-01 -4.51416016e-01 -5.56640625e-01
 -6.42089844e-01  2.47558594e-01 -5.45349121e-02  5.15136719e-01
 -2.41577148e-01  3.96240234e-01 -9.08203125e-01 -8.34960938e-01
  6.29882812e-01  8.63769531e-01  8.46191406e-01  1.06689453e-01
  2.32177734e-01 -3.45458984e-01  1.30371094e-01  3.29345703e-01
  1.09313965e-01  1.74682617e-01 -8.67675781e-01  3.55712891e-01
 -1.56616211e-01  2.38525391e-01 -7.98828125e-01  6.58203125e-01
 -1.70532227e-01  6.88476562e-01 -3.54736328e-01  3.19213867e-02
 -8.76464844e-01  1.08947754e-01  4.28955078e-01  1.00683594e+00
 -5.44433594e-01  1.09191895e-01  5.31921387e-02  2.76367188e-01
  5.47363281e-01 -2.10327148e-01 -3.50830078e-01 -4.75341797e-01
  7.90405273e-02  3.81103516e-01 -5.53222656e-01 -7.96386719e-01
 -4.05273438e-01 -3.06640625e-01 -9.11621094e-01  2.98095703e-01
  2.58300781e-01 -4.45556641e-01  4.60205078e-02 -5.83007812e-01
 -9.97314453e-02 -2.48046875e-01  3.44726562e-01 -2.40966797e-01
  4.15527344e-01 -6.60400391e-02  2.78564453e-01  3.66210938e-01
 -6.18164062e-01 -9.50195312e-01 -4.78515625e-01 -1.05273438e+00
  5.81542969e-01 -8.37402344e-01  5.66894531e-01 -1.15844727e-01
 -1.38549805e-01  1.38671875e-01  3.90380859e-01 -1.84936523e-01
  2.39990234e-01  2.50244141e-01  7.62695312e-01 -1.37451172e-01
 -4.07958984e-01 -2.83813477e-02  5.98144531e-02 -4.41650391e-01
  8.37402344e-01  1.12304688e-01 -8.52050781e-02  3.11035156e-01
  3.35693359e-01 -4.95605469e-01  1.22680664e-01  1.89453125e-01
  2.13378906e-01 -2.79541016e-01 -3.39599609e-01 -1.03988647e-02
 -3.99902344e-01  7.19238281e-01 -1.66137695e-01 -5.61523438e-01
 -5.11718750e-01 -9.53613281e-01 -4.44824219e-01 -2.66357422e-01
  3.81591797e-01  2.97607422e-01  7.45117188e-01  2.95166016e-01
  2.06054688e-01 -4.20654297e-01 -8.13964844e-01 -7.83691406e-01
 -2.44995117e-01 -9.44824219e-01  2.54394531e-01  3.89404297e-01
  9.46289062e-01 -3.80371094e-01 -7.86132812e-01  2.66113281e-01
 -1.03149414e-02 -2.36572266e-01 -5.38024902e-02  6.34765625e-01
  7.35839844e-01 -6.46591187e-03 -7.28759766e-02 -9.39941406e-02
  5.93566895e-02 -2.70996094e-01  5.04882812e-01 -2.83203125e-01
 -8.69628906e-01 -1.40991211e-01 -3.40332031e-01  9.56054688e-01
  4.22363281e-01 -6.24023438e-01 -5.94238281e-01  4.72656250e-01
  1.99340820e-01  6.45507812e-01  5.52246094e-01 -1.94824219e-01
 -9.61425781e-01 -9.53613281e-01 -2.71301270e-02 -2.78076172e-01
 -5.39550781e-01 -1.26367188e+00 -6.43066406e-01  3.18847656e-01
  1.03454590e-01  4.67529297e-01 -8.36425781e-01 -1.30653381e-03
 -5.80078125e-01  2.87109375e-01 -9.65332031e-01  2.78320312e-02
 -8.92578125e-01  6.27441406e-01 -4.44824219e-01  6.05957031e-01
 -2.60498047e-01  2.63671875e-01 -3.83544922e-01 -5.07812500e-02
  9.63867188e-01  8.77929688e-01 -6.52832031e-01 -4.58984375e-01
 -4.16259766e-01 -6.59179688e-01  2.46582031e-01  3.29833984e-01
 -9.89990234e-02  6.15722656e-01 -4.37500000e-01 -5.87402344e-01
 -9.58496094e-01 -3.46435547e-01 -1.20703125e+00  1.43188477e-01
  8.20800781e-01 -4.77294922e-01  4.85351562e-01 -5.76660156e-01
  1.42968750e+00 -4.63256836e-02  5.04150391e-02 -1.23046875e+00
 -1.20544434e-01 -6.52832031e-01 -4.51660156e-01  4.79492188e-01
 -4.39697266e-01  1.07788086e-01 -3.84277344e-01 -1.52465820e-01
  3.90136719e-01 -4.41650391e-01  2.65380859e-01  1.93652344e+00
 -1.63085938e-01  1.64306641e-01 -1.19140625e+00  5.29785156e-01
  1.03210449e-01 -7.11914062e-01 -4.25781250e-01 -3.48388672e-01
 -8.36425781e-01 -6.09863281e-01 -6.11816406e-01 -1.17871094e+00
 -7.58300781e-01  1.01867676e-01  1.46386719e+00 -2.99316406e-01
  4.30908203e-01  4.46777344e-01 -2.55859375e-01 -5.28320312e-01
  5.99609375e-01  5.09277344e-01  2.55859375e-01  1.12988281e+00
  3.19091797e-01  2.88574219e-01  7.98339844e-02 -1.70166016e-01
 -4.84375000e-01 -5.58105469e-01  4.32617188e-01  4.02343750e-01
  3.77502441e-02  7.89550781e-01  9.17480469e-01 -1.08984375e+00
 -1.10156250e+00 -2.07885742e-01 -3.16894531e-01 -1.07617188e+00
 -7.23632812e-01 -4.01367188e-01 -1.24389648e-01 -7.90527344e-01
  3.66020203e-03 -2.46826172e-01 -7.63671875e-01 -3.45947266e-01
 -1.92382812e-01 -4.93408203e-01 -5.52246094e-01 -1.07727051e-01
  1.00390625e+00 -5.34179688e-01  5.41015625e-01 -6.17675781e-01
 -8.60595703e-02  2.44384766e-01  7.81738281e-01  6.01562500e-01
  1.73217773e-01 -1.34643555e-01  6.65039062e-01 -1.04827881e-02
  1.56835938e+00 -5.44921875e-01  3.34228516e-01  3.26660156e-01
 -4.08203125e-01 -1.00976562e+00 -3.84277344e-01  4.38720703e-01
  6.56250000e-01  4.33105469e-01 -8.51562500e-01  4.35058594e-01
  1.12402344e+00 -3.14025879e-02  5.09765625e-01 -7.06787109e-02
  1.36108398e-01 -8.81835938e-01 -5.35156250e-01 -4.03442383e-02
  5.75561523e-02 -6.67968750e-01  1.10229492e-01  3.24707031e-01
 -2.02514648e-01 -4.78271484e-01  1.19628906e+00 -5.52734375e-01
  3.49609375e-01 -2.06420898e-01  3.73291016e-01 -5.61523438e-01
 -8.83300781e-01  1.18103027e-01 -4.65087891e-01  1.20056152e-01
  7.65136719e-01 -7.58300781e-01  1.31591797e-01 -1.14074707e-01
  3.93066406e-01 -1.30493164e-01 -1.72119141e-01 -1.86645508e-01
 -1.94580078e-01  1.94702148e-01 -5.44921875e-01  2.30102539e-01
  3.74145508e-02  4.27246094e-02  5.99060059e-02 -5.54199219e-01
  2.78808594e-01  1.67724609e-01 -6.48437500e-01  5.34973145e-02
  8.44726562e-01 -4.16015625e-01  9.81933594e-01 -5.62500000e-01
  3.18115234e-01 -8.56445312e-01 -2.73925781e-01 -1.82495117e-01
  5.23376465e-02  6.00585938e-01  3.49609375e-01  7.43652344e-01
  8.49121094e-01  2.78564453e-01 -1.09436035e-01 -9.95605469e-01
  7.97363281e-01  3.38623047e-01 -4.36523438e-01  5.47790527e-02
 -1.56860352e-02 -9.14306641e-02 -3.27392578e-01 -2.67089844e-01
  5.98632812e-01 -4.67041016e-01 -3.96728516e-01 -7.72460938e-01
 -2.75634766e-01 -1.37573242e-01  1.11022949e-01  1.48559570e-01
  1.01074219e+00  7.42675781e-01 -3.65722656e-01  5.73730469e-01
  2.46826172e-01 -4.40429688e-01 -1.61743164e-01 -2.52441406e-01
 -4.37744141e-01 -1.72576904e-02 -4.20837402e-02  3.32031250e-01
  1.61254883e-01 -4.09423828e-01 -2.12768555e-01  1.38183594e+00
  2.13623047e-01  5.21972656e-01  4.08935547e-01 -1.74926758e-01
 -4.71801758e-02 -7.13867188e-01 -1.10546875e+00 -1.19506836e-01
  2.12768555e-01 -1.20605469e+00 -4.16503906e-01 -7.73315430e-02
  3.41552734e-01  4.79736328e-01  1.31591797e-01 -1.64306641e-01
  1.63696289e-01 -4.71191406e-01 -9.08203125e-02 -1.55883789e-01
  4.80957031e-01 -3.38134766e-01 -6.14643097e-04 -9.38720703e-02
  4.82421875e-01  5.60607910e-02 -1.90917969e-01  7.43652344e-01
 -4.44335938e-01  1.08276367e-01  5.55664062e-01 -4.36096191e-02
 -5.97656250e-01  3.62060547e-01  2.71728516e-01  7.26318359e-02
  2.75878906e-01 -5.89355469e-01 -6.35253906e-01  7.46093750e-01
  4.07714844e-02  1.59057617e-01 -2.08129883e-01  4.06494141e-01
  3.10302734e-01 -5.74218750e-01 -7.29003906e-01  1.30957031e+00
  1.40380859e-01  6.92871094e-01 -3.46679688e-01 -7.82714844e-01
  5.16891479e-03 -3.85131836e-02 -6.72363281e-01 -2.33917236e-02
 -6.32324219e-01 -5.02441406e-01 -4.35302734e-01 -8.43750000e-01
  8.97460938e-01 -2.97393799e-02 -1.12890625e+00 -2.96875000e-01
  2.30468750e-01  4.41894531e-01  8.05664062e-01  1.13952637e-01
  2.58300781e-01  6.19140625e-01  4.11865234e-01  1.35644531e+00
  5.02929688e-01  8.83789062e-02 -1.46728516e-01 -2.34130859e-01
 -3.60107422e-02  3.25965881e-03  2.95166016e-01 -1.09375000e-01
 -1.10449219e+00 -1.15039062e+00  8.56445312e-01  4.50927734e-01
 -4.69970703e-01  5.89843750e-01  2.13623047e-01 -4.07226562e-01
 -4.88525391e-01  1.07360840e-01 -3.73291016e-01  3.32763672e-01
  4.99023438e-01 -5.78613281e-01 -1.08886719e-01  1.12890625e+00
  9.50683594e-01  7.62695312e-01 -2.62298584e-02  5.00000000e-01
  3.42529297e-01  9.34082031e-01  5.92285156e-01 -4.55078125e-01
  2.94921875e-01  4.72412109e-01 -6.04003906e-01 -1.28295898e-01
 -6.06689453e-02 -4.29931641e-01  5.71289062e-01  3.03710938e-01
 -8.76953125e-01  2.75634766e-01  3.39843750e-01 -4.76318359e-01
 -1.02441406e+00  3.16894531e-01  3.48876953e-01 -2.79052734e-01
  4.20166016e-01  2.29858398e-01  5.11230469e-01  5.15625000e-01
 -6.28417969e-01 -1.58325195e-01 -3.96728516e-01  2.98095703e-01
 -4.94140625e-01  7.72460938e-01 -5.46386719e-01 -5.27343750e-01
 -1.55883789e-01 -2.46337891e-01 -3.13232422e-01 -2.67333984e-01
  2.95166016e-01 -5.69824219e-01  3.78417969e-01  3.08349609e-01
  1.03808594e+00  1.04492188e-01 -1.28906250e+00 -7.38769531e-01
  7.26074219e-01  6.74804688e-01 -4.55566406e-01  1.59082031e+00
  8.20312500e-01 -2.86132812e-01 -5.48828125e-01 -2.70996094e-01
  9.29687500e-01  2.39501953e-01 -4.44091797e-01 -1.08215332e-01
  5.36621094e-01 -3.38134766e-01 -8.79882812e-01  2.96875000e-01
  8.08593750e-01  2.43652344e-01 -2.89001465e-02 -1.07617188e+00
  6.22558594e-03 -8.42773438e-01 -2.13012695e-01 -9.38476562e-01
  8.45703125e-01 -1.71508789e-02 -6.12792969e-01 -3.74267578e-01
 -1.09667969e+00  3.92382812e+00  3.29101562e-01  6.52343750e-01
  2.74414062e-01  9.66186523e-02  7.30957031e-01  6.69433594e-01
  6.64672852e-02  7.37792969e-01 -3.27148438e-01  4.52392578e-01
 -7.29980469e-02 -2.18750000e-01  3.76464844e-01 -4.50927734e-01
  2.75878906e-01 -1.65429688e+00  2.92480469e-01 -5.35156250e-01
 -2.72460938e-01 -4.23583984e-01  2.91015625e-01  1.58813477e-01
  7.56347656e-01  4.62890625e-01 -3.78417969e-02  3.96728516e-01
  1.94213867e-01  1.84082031e-01 -4.47753906e-01 -1.07299805e-01
 -2.60253906e-01  2.59765625e-01  1.62353516e-01  2.38776207e-04
  4.67773438e-01  6.00891113e-02 -2.04345703e-01 -1.17736816e-01
  6.42700195e-02 -5.55664062e-01 -3.88427734e-01  5.96679688e-01
 -2.00561523e-01 -8.94531250e-01  7.86132812e-01 -3.51562500e-01
  5.88867188e-01  3.39843750e-01 -1.60156250e-01  9.19921875e-01
 -5.16967773e-02  6.63085938e-01 -9.54589844e-01 -9.83886719e-01
 -1.36840820e-01 -2.67578125e-01 -7.40722656e-01 -2.66113281e-01
  1.35864258e-01 -2.94921875e-01  1.43585205e-02  4.83642578e-01
  4.07470703e-01 -2.73681641e-01  8.77929688e-01  2.17529297e-01
  2.92724609e-01 -6.12792969e-01 -9.41894531e-01  5.51452637e-02
  5.96191406e-01 -1.49291992e-01 -4.56787109e-01  2.30834961e-01
 -1.09863281e-02 -4.44824219e-01  3.50097656e-01  2.14355469e-01
 -1.78222656e-01  1.56005859e-01 -3.05908203e-01  1.58691406e-01
 -2.41699219e-01  1.46484375e-01  1.02734375e+00 -3.49853516e-01
  4.23828125e-01 -3.39599609e-01  5.82031250e-01 -8.81347656e-02
  3.48632812e-01  2.23999023e-01 -7.30590820e-02  2.32910156e-01] 1024
 ~/Documents/books/coreml-conversion  python3.11 convert_pytorch_coreml.py
/opt/homebrew/lib/python3.11/site-packages/transformers/modeling_utils.py:4713: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead
  warnings.warn(
Converting PyTorch Frontend ==> MIL Ops:   0%|                                                                                                    | 0/989 [00:00<?, ? ops/s]huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...
To disable this warning, you can either:
        - Avoid using `tokenizers` before the fork if possible
        - Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)
Core ML embedding (gather) layer does not support any inputs besides the weights and indices. Those given will be ignored.
Converting PyTorch Frontend ==> MIL Ops: 100%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‰| 988/989 [00:00<00:00, 2179.49 ops/s]
Running MIL frontend_pytorch pipeline: 100%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 5/5 [00:00<00:00, 29.39 passes/s]
Running MIL default pipeline:  64%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‹                                    | 56/88 [00:02<00:02, 14.83 passes/s]/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/ops/defs/iOS15/elementwise_unary.py:894: RuntimeWarning: overflow encountered in cast
  return input_var.val.astype(dtype=string_to_nptype(dtype_val))
Running MIL default pipeline:  69%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Ž                              | 61/88 [00:09<00:14,  1.91 passes/s]/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/passes/defs/optimize_repeat_ops.py:433: RuntimeWarning: overflow encountered in cast
  max(cur_range.low, tmp_range.low), min(cur_range.high, tmp_range.high)
Running MIL default pipeline: 100%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 88/88 [00:12<00:00,  7.27 passes/s]
Running MIL backend_mlprogram pipeline: 100%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 12/12 [00:00<00:00, 44.40 passes/s]
 ~/Documents/books/coreml-conversion  python3.11 run_coreml.py
CLS Token Embedding: [nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan] 1024

NoahBPeterson avatar Oct 03 '24 19:10 NoahBPeterson

Here's a list of everything I have installed in pip:

Package                 Version     Editable project location
----------------------- ----------- -------------------------------------------
absl-py                 2.1.0
annotated-types         0.7.0
anyio                   4.6.0
attrs                   24.2.0
blobfile                3.0.0
cattrs                  24.1.2
certifi                 2024.8.30
charset-normalizer      3.3.2
click                   8.1.7
coremltools             8.0
Cython                  3.0.11
exporters               0.0.1       /Users/noahpeterson/Documents/exporters/src
filelock                3.16.1
fire                    0.6.0
fsspec                  2024.9.0
grpcio                  1.66.2
h11                     0.14.0
httpcore                1.0.5
httpx                   0.27.2
huggingface-hub         0.24.0
idna                    3.10
InstructorEmbedding     1.0.1
Jinja2                  3.1.4
joblib                  1.4.2
llama_models            0.0.35
llama_stack             0.0.35
llvmlite                0.43.0
lxml                    5.3.0
Markdown                3.7
markdown-it-py          3.0.0
MarkupSafe              2.1.5
mdurl                   0.1.2
mpmath                  1.3.0
networkx                3.3
nltk                    3.9.1
numpy                   2.1.1
onnx                    1.16.2
onnx-coreml             1.3
packaging               24.1
pillow                  10.4.0
pip                     24.2
prompt_toolkit          3.0.48
protobuf                5.28.2
pyaml                   24.9.0
pybind11                2.13.5
pycryptodomex           3.20.0
pydantic                2.9.2
pydantic_core           2.23.4
Pygments                2.18.0
python-dateutil         2.9.0.post0
python-dotenv           1.0.1
PyYAML                  6.0.2
regex                   2024.9.11
requests                2.32.3
rich                    13.8.1
ruamel.yaml             0.18.6
ruamel.yaml.clib        0.2.8
safetensors             0.4.5
scikit-learn            1.5.2
scipy                   1.14.1
sentence-transformers   3.1.1
sentencepiece           0.2.0
setuptools              74.1.2
six                     1.16.0
sniffio                 1.3.1
sympy                   1.13.3
tensorboard             2.18.0
tensorboard-data-server 0.7.2
termcolor               2.4.0
text-unidecode          1.3
threadpoolctl           3.5.0
tiktoken                0.7.0
tokenizers              0.19.1
torch                   2.4.0
tqdm                    4.66.5
transformers            4.44.2
typing                  3.7.4.3
typing_extensions       4.12.2
urllib3                 2.2.3
wcwidth                 0.2.13
Werkzeug                3.0.4
wget                    3.2
wheel                   0.44.0
wrapt                   1.16.0

NoahBPeterson avatar Oct 03 '24 20:10 NoahBPeterson

I just created a new virtual environment and installed numpy, torch, transformers, and coremltools, and the issue still exists.

Package            Version
------------------ ---------
attrs              24.2.0
cattrs             24.1.2
certifi            2024.8.30
charset-normalizer 3.3.2
coremltools        8.0
filelock           3.16.1
fsspec             2024.9.0
huggingface-hub    0.25.1
idna               3.10
Jinja2             3.1.4
MarkupSafe         2.1.5
mpmath             1.3.0
networkx           3.3
numpy              2.1.1
packaging          24.1
pip                24.2
protobuf           5.28.2
pyaml              24.9.0
PyYAML             6.0.2
regex              2024.9.11
requests           2.32.3
safetensors        0.4.5
setuptools         74.1.2
sympy              1.13.3
tokenizers         0.20.0
torch              2.4.1
tqdm               4.66.5
transformers       4.45.1
typing_extensions  4.12.2
urllib3            2.2.3
python3.11 --version
Python 3.11.10
xcodebuild -version 
Xcode 16.0
Build version 16A242d

NoahBPeterson avatar Oct 03 '24 20:10 NoahBPeterson

If I set compute_precision=ct.precision.FLOAT32 in ct.convert, both iOS17 and iOS18 works well. It's due to fp16 numerical issue.

junpeiz avatar Oct 04 '24 21:10 junpeiz

Here are my experiments:

  • coremltools==8.0 + ct.precision.FLOAT32 + iOS17: works well
  • coremltools==8.0 + ct.precision.FLOAT32 + iOS18: works well
  • coremltools==8.0 + ct.precision.FLOAT16 + iOS17: works well
  • coremltools==8.0 + ct.precision.FLOAT16 + iOS18: nan
  • coremltools==8.0b2 + ct.precision.FLOAT16 + iOS17: works well
  • coremltools==8.0b2 + ct.precision.FLOAT16 + iOS18: nan

It's indeed an iOS18 fp16 op regression.

junpeiz avatar Oct 04 '24 21:10 junpeiz

There are a lot of floating pieces. For example, I happened to find that transformers==4.38.2 will lead to nan even for iOS17, and updating to transformers==4.45.1 will solve the nan issue for iOS17.

I added this bug into our TODO list. Hey @NoahBPeterson, if it's urgent on your side, I would suggest to bi-sect the model to figure out which layer introduces this nan. Thanks!

junpeiz avatar Oct 04 '24 22:10 junpeiz

Unfortunately, bisecting the model fails with both the iOS17 and iOS18 version.

With this script:

import coremltools as ct

model_path = "mxbai-embed-large-v1-iOS18.mlpackage"
output_dir = "./output/"

ct.models.utils.bisect_model(
    model_path,
    output_dir,
    check_output_correctness=True
)

Both the mxbai-embed-large-v1-iOS17.mlpackage and mxbai-embed-large-v1-iOS18.mlpackage models produce this same error:

ERROR - 'common::topological_reorder' graph pass produces the following error:


Running MIL default pipeline:  98%|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Š| 84/86 [00:02<00:00, 28.06 passes/s]
Traceback (most recent call last):
  File "/Users/noahpeterson/Documents/books/coreml-conversion/coreml_bisect.py", line 9, in <module>
    ct.models.utils.bisect_model(
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/models/utils.py", line 1983, in bisect_model
    model_chunk2 = _mil_convert(
                   ^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 188, in mil_convert
    return _mil_convert(model, convert_from, convert_to, ConverterRegistry, MLModel, compute_units, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 212, in _mil_convert
    proto, mil_program = mil_convert_to_proto(
                         ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 291, in mil_convert_to_proto
    PassPipelineManager.apply_pipeline(prog, main_pipeline)
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/passes/pass_pipeline.py", line 493, in apply_pipeline
    raise e  # re-raise exception
    ^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/passes/pass_pipeline.py", line 488, in apply_pipeline
    graph_pass(prog)
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/passes/graph_pass.py", line 56, in __call__
    self.apply(prog)
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/passes/defs/cleanup/topological_reorder.py", line 72, in apply
    self._move_operations_to_the_end_block(f, ["cast", "transpose"])
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/passes/helper.py", line 64, in wrapper
    return _func(*args)
           ^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/passes/defs/cleanup/topological_reorder.py", line 112, in _move_operations_to_the_end_block
    new_var = getattr(mb, op.op_type)(**op.inputs, before_op=before_op)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/ops/registry.py", line 183, in add_op
    return cls._add_op(op_cls_to_add, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/builder.py", line 187, in _add_op
    new_op = op_cls(**kwargs)
             ^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/operation.py", line 190, in __init__
    self._validate_and_set_inputs(input_kv)
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/operation.py", line 506, in _validate_and_set_inputs
    self.input_spec.validate_inputs(self.name, self.op_type, input_kvs)
  File "/opt/homebrew/lib/python3.11/site-packages/coremltools/converters/mil/mil/input_type.py", line 164, in validate_inputs
    raise ValueError(msg.format(name, var.name, input_type.type_str,
ValueError: Op "cast_0" (op_type: cast) Input x="gather_189_cast_uint16" expects tensor or scalar of dtype from type domain ['fp16', 'fp32', 'int32', 'bool'] but got uint16

Removing the check_output_correctness=True argument produces the exact output.

NoahBPeterson avatar Oct 04 '24 23:10 NoahBPeterson