Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: failed to legalize operation 'torch.operator' that was explicitly marked illegal : onnx.Conv #911

Open
pravg-amd opened this issue Feb 10, 2025 · 0 comments

Comments

@pravg-amd
Copy link

For the below IR

module {
  func.func @yolo_(%arg0: !torch.vtensor<[?,3,?,?],f32>) -> !torch.vtensor<[?,32,?,?],f32> attributes {torch.onnx_meta.ir_version = 5 : si64, torch.onnx_meta.opset_version = 21 : si64, torch.onnx_meta.producer_name = "keras2onnx", torch.onnx_meta.producer_version = "1.5.1"} {    
    %cst = torch.operator "onnx.Constant"() {torch.onnx.value = dense_resource<W74> : tensor<32x3x3x3xf32>} : () -> !torch.vtensor<[32,3,3,3],f32>
    %0 = torch.operator "onnx.Conv"(%arg0, %cst) {torch.onnx.auto_pad = "SAME_UPPER", torch.onnx.dilations = [1 : si64, 1 : si64], torch.onnx.group = 1 : si64, torch.onnx.kernel_shape = [3 : si64, 3 : si64], torch.onnx.strides = [1 : si64, 1 : si64]} : (!torch.vtensor<[?,3,?,?],f32>, !torch.vtensor<[32,3,3,3],f32>) -> !torch.vtensor<[?,32,?,?],f32>
    return %0 : !torch.vtensor<[?,32,?,?],f32>
  }
}

{-#
  dialect_resources: {
    builtin: {
      W74: "0x08000000DA8497BDC094373EF2D1F5BC39ADBA3DEB3F8ABCA2B9C83D8314323B6B3B3ABFFA8AE13C278132BDCA6EDDBDFE92E2BCD767193DC2BE18BE36DB8C3D13CE243DDEEDD2BEE09D7E3DA7BBD73C2705E23DE0CE92BDC2E8783D998B4F3D6112163DE6E3E8BBD6BFE3BE5C1E6D3CB89629BE58EE0EBE71BA9ABDE255D9BCE82784BE5CD9D9BC788AEBBC48E31A3DA29C55BDBD7639BE85D01EBE505ED73D6410FABC659E85BE20E28C3D0664283D8783B33DEB0DB93BFC0858BE3B4333BEF8280A3DCE82BDBDB51478BE38BBDB3D6AD522BD00BB4D3CCBB4A43CA66CBC3D5A6B2F3C4154B9BD540D4FBEAE48F3BD90AD87BDD2D8B7BD336E0DBE695933BB14BE1D3E5415743E5AFDDB3D5C3942BEAA62F03DAF0C1C3E3AF98CBE035426BE5BFA55BC1FC9CC3DD4EB623E5FB0253E9D4D5BBE16AEC23DD98B053E3DEDAEBEA76358BEF1513DBD807103BFF3ADD93E5C40EE3CB8F290BD306E893F189E2C3F674302BF56865D3E836946BCFAB1BCBE4CB1C33D02C3BEBE5B65E4BDDB3B213F3E397C3EDA58CEBED8A70EBCC21D30BE195BECBD96AE8D3E40AE03BE8B1B97BD34A2BD3E4C84D43DDAF1A3BEE6F62B3CF81D55BEF554DFBEDA5FCCBFD9A60BBF0480663DA9A88CBD588BEE3D4A4C1E3F89F3963F6E0D2B3F5EDCB23CFF12463E38D8FD3C7184CFBC2E16073EFCEDCABD8BD2D8BC5D0439BDA15FD0BD44A20A3F9D03BA3F64692E3F0E59C5BDEEE391BDE197E7BD97D02ABF4AE091BFC5A825BFE07F143E2C4985BFCCA5283E8E8BBC3C6DC9CF3E90B0E83CC4B23C3D84DB853D2E0E3A3DD2FB61BD984740BF3F9C893D9AFB92BB145B963D63B782BD12C52E3DFBF316BE8E9945BD301656BD133493BEC1321DBD5AA45CBB6614A63DD8EA81BD532CCC3CDA80FE3C8B05B13B654F5C3E6EF90A3E045BD8BDCE4BA23E3DC4BD3B8F1E1FBEA9956F3D550823BDF8A33CBE4C150EBF5C7C58BE5612AF3EEB24BDBE498496BE83EEC23E32CD553D35F5F43D6687E33EB4918EBD7CCE523D4101D2BDC1B8DABD9713CDBD712971BD49CB39BC21549ABD7F9A83BDD20542BBD6DCA5BE387BE2BC99D2E6BEBC7A4BBFB666CCBE3776FE3C309AB0BEA2B81BBDA8E40ABE6E929BBE5D0288BE580E8BBE468E94BE85B88EBEA61009BE4A3E9FBEF85119BEB76FA73E4F9F253F2989A53E92A0093F46B37B3F6127103F04A8983EFCFEEA3E9FF46A3E9176153FDDBFF93EB3C7583F44879C3DE5FF82BEAAC1703DF6B1A3BE20240FBF5328ECBE9EF2833EF31DD13D28210C3F9EE541BE616918BFFB9C07BE3FD8BEBE246C24BF3CEBC8BEC624DF3E2694E03E8E073C3F6AC7233CA1C138BEA4649A3D1CAF88BEA3DD00BF248DD4BE68BF4CBD15ECFD3E850085BD543B273F4BAB963F11470C3F4F6F83BDA80FBA3E474D10BE8E39EEBD4CC9C2BEB7E632BE735AB0BEAE6F4ABF68A18EBE52338BBEA6871DBE79C6BABDC014C93D329C5EBE3406683E4A9713BE52A64FBFCC78033CB0608E3E72D8B53D8EEA8A3ECFBC0DBFB19457BE3FEE113FB98F6BBFC34208BF6787C83FEBF3BFBE91077CBEA426163FB3E7C63E1C32083E9EE19ABE6C08353F1128E13D7B1273BF1CAE8E3E1455BD3DAAD98EBEA25E7D3DD352A53D7B4446BEF141133F164FF13E03BF8CBFBBEDCA3D4C485F3E39A493BE5BE4EF3EBDDCADBEC459F3BE1299D93F2E00EE3DE4FD8EBF6330C63EF41AE3BD63830DBFB724B53DC4710CBEB525B5BD0745013F186739BE46E51ABEBB2F20BE1FA118BEE885013EEF3B51BF4E6CDD3D72BAFA3E58C187BF0C6ECC3D5CBE713F4A4194BE5671023E1719013FC8D2B7BDD8E8BD3D37932B3DD45EB4BFFAB45D3F4C549F3E355C0F3ED2AD29BD1CEDECBD64C154BEBF6E5A3E2E8CD03D80F1FEBFEE2C9F3FCA8A473F1AB61D3C8A5F6C3D3DB6FBBC7CDECDBE0116763C28AE953E6B94CCBFF663473FD52D413F711432BE3A13EE3D0996473EA4D792BE84804D3EB1080C3EBDD281BEF9DF0DBEB698A23E1A009D3DA139853D65B692BD8B07CDBE849B673E2BD8413E35CFD4BEAAFAD7BD3B3BD23EC04CACBBB868373D72758F3C698B70BEC00E843E6092333E1506B1BE155D6DBD606F683EA5BB1ABC28CF193CE86AAFBCE69237BE96A4863D70E3ABBD2D03C73D663ACA3EB85270BBCFF5BDBD318C1CBEFC6983BDDE961FBD11C0EEBC2E6F10BD85C1F83CA0E8233E932D22BD86FE9D3DDA5655BD0630033D571E04BE86BB8E3EFEDF2BBDB0BDEF3D37340F3FBA49EB3D5983AEBDBAA1CC3D01532DBDB25A113DCC4E223ECD77FA3D481DB23DB70AB4BE566C20BEE56FEFBC88AB8EBD24FA0C3E9CA1453E0550373E6EBD073E56CC373EE1F7B9BE4FA871BE0E36AD3DC7CEF2BD7A2317BD01E5D8BD30A982BEAD9B2FBE38C9B1BD50481CBEF66C88BD1F6D77BD873F6CBD5892E03CEBCAD7BE25B044BFF1BE67BEDE8EA93D551101BF78EFE53E6E54013F8529103FAACB553FA03E93BE230C72BF50A5B0BECC7B393DD60C5DBF1CEA383EF6D9943ED866013E02AFBE3E96388DBE64CCB9BEF72782BE3E60363E1F5F6DBE45D9983E991E993E2DBFA63E9D2CCF3E8A1B85BEABDFAD3ECF57C73EABE282BF9BB61C3EECD8013FDCBE26BEF647B9BD3E6F303EA9BCE63D8E99553D86794BBEAAD99ABE37EA193CAC9DA6BE8F148F3E5B0A2B3D2B8AB4BCE9F3853EEBAC38BE38C40FBE0C50B23E4302D0BDD68BA7BE0151DE3D976E03BBBC79D3BDB5B2993DB6E48B3D7FF4163E89D07B3C48C61D3D10E1EC3DC2C918BECE6D62BE124EF3BDCBCFFBBE6E5482BF6EFC5EBF52C5DE3EF1160C3E8C10A9BE96B93C3FBB428A3F9050A53E36FFBA3E6DE9773F0905413F75FBDCBE307148BE104E823EF82213BF2CA35ABF96F986BEF5A8F23EC572C23EEC4E893C1EFCA13E153028BF731FD3BE79E85B3E4E769ABE925FCDBC869BED3C6F97683D55D67D3CB02D5F3ED0961ABFB0BB7BBE95B6863E108A6ABE04E3683D6F76D0BCCA11613E446BC73D2E6E343E15D644BDAE61A7BD352A41BCFE3E54BE38B113BEAE0B923DE4F5AEBE29B3E1BEFD2E143DCB80F53D22491BBEC495BCBC84A6A03DBCA600BE1F5081BC50A7A6BE171FBFBEC19EDF3B9AF4133E6C4CDCBC8B2AA7BCFCE5D33DBC4AC3BC9E231D3D7EF49DBE94AAA7BEAA1F363D18730F3E72A74BBDA7D7BD3CBA6DD63DE9CA8ABCF1268EBC52BE063E0B6A103D8EC6023DE2CEEF3E2483663EC2A1013C226C943D07721EBC68F999BDD7413D3CB4C503BE3E3AC2BDFFDDE83E82E43C3E9EBDD7BD1141FEBD94DFCCBD0E042FBEB85F543D869A603CA21699BE3168BF3EA0A6A63E455BA8BE70E3BFBDF4521F3D23AF16BE561711BFBC1009BEA60E0CBFAC2A86BFC586C8BE6EA280BEE8E4D0BE349F24BE4C3E6F3E042FD03E32C9833E50B3023F28CC1D3FCCF4C13EB4E0483EAC00DF3E398A223D363706BE75362ABDB8A26BBD26E4153E68FA5F3EA14F523E482B58BDE296483E5BFE163EDC1E053FA24C553FCBEDAD3E9A593B3F58058C3F63FDFB3EDEC5713E0F1CA53EAC023E3DFAC994BECB17C7BE911EC1BE10C2E5BE6CFF13BFC04705BF722762BE00847CBE92EC7FBE5691173D64E2C3BD5CDD2C3E6870CBBE07FD1EBF5EEA6CBE2E7F31BD103B56BE4B03833D64A4ABBDA6DF7C3DA2298FBC29FC21BEF281573D805C213C3A0C6DBEEC2F99BD5699B3BDC7780EBDFE5B4FBC949A13BEE08BBBBD6456E83CC997A1BC5ABF1BBE8CAE7EBDEED698BCC480A43D0794BC3E8F0CEE3DF6FB563EC78F173F4847B33E43FB093AF84EA43EC4CE173EAC85393EEA22B6BCCAEB45BEFAE2D43E17C7D63DAE1AB6BE95FFD33D924BAFBD0C8279BE62790BBFE01E0E3C4BCBCD3E5C6519BFC0F1123EB92F0E3F18B2ABBEBC96023E9C1AA43E8D65D63E016375BCB0DC8DBEED9C083F82C9D8BD2C79F6BE04D2223E68EEC7BD310004BEDA9234BEDA70B93FC13634BEB5DAF0BD12C534BF3D767EBE12980A3DB68F003D54A8A7BDDA9EAEBE623FEC3FDDC341BE482524BE98FC5BBF3D1CDABD15B763BA3AC421BEF821BF3D1E21E3BDEE912D3F958F20BE2DE831BDD8FFC8BEDC87113D9629D63C0F8A81BD324A513C8A487FBCC29B9C3D04CACEBC6C18B83EC7ECCDBE9966B43CCD5F85BEAABA9D3E3D44AFBDA4F12E3CB5EFD5BD9F97843D5FD9D33EF35630BFEE3F193EFAC729BF2A2D3B3F7400373DFB7BD33D521AACBDB4638CBC8C041F3F60CD14BF60D40DBE5A9EDDBEF361213F1A2114BD7713323E136D3CBD755C37BC84FA913E38FE803E63B9433D9D65383E68001D3E0ABDF33BCE6C8C3D3BF4FFBDC6ACC93DF615F43D7854173E4834723C21871CBD61CA983B888F0DBD4D58083E60D5A4BEB4B1E1BDC375653E58F8703EAEE3FC3C8F8855BE87B6BDBD29A896BD0542AFBE6668E4BDF77212BE689857BE777012BE02110BBE2C00D2BDDF6D50BDB88EF3BB2DEBF1BECA3DAC3A5077123D67E4C0BC66EED63DDFB73F3D7EF3B93DE8FAF9BBFAECEFBCCA69FABEC2E2A93C637A423E4EBB03BE1B111F3E2543653E650F9B3DDAAAC13DFEDB133EBC400ABD1F14903E34FEB1BD4226963E7A38463F57819E3E4351EDBD193A993D06DCBCBD97C12D3EFB67253F6174AC3E325BD03E2747533FE208C43E4D231D3EDDB4803E2286FABC175069BE032163BFDA99AEBEB82424BF72D3B2BF1EB121BFA6C784BA707800BF9AA9E33DAB8DC6BE032F8EBF47F6D7BEA19E833BDDFF88BE7ACD36BE8296143FC6D7C63F99684E3E7FF6013F32D5943F3C4C323F40282ABE4801D9BCE0B9023E91392EBFC5D8ABBF6220B9BE69BD18BEE7542FBD4A4A91BE86513F3ED0E2B03EC0A2143DE4BBC13D121E88BEA3882B3E"
    }
  }
#-}

Getting error as

model_torch_onnx.mlir:5:10: error: failed to legalize operation 'torch.operator' that was explicitly marked illegal
    %0 = torch.operator "onnx.Conv"(%arg0, %cst) {torch.onnx.auto_pad = "SAME_UPPER", torch.onnx.dilations = [1 : si64, 1 : si64], torch.onnx.group = 1 : si64, torch.onnx.kernel_shape = [3 : si64, 3 : si64], torch.onnx.strides = [1 : si64, 1 : si64]} : (!torch.vtensor<[?,3,?,?],f32>, !torch.vtensor<[32,3,3,3],f32>) -> !torch.vtensor<[?,32,?,?],f32>
         ^

Command

 iree-compile --iree-hal-target-backends=llvm-cpu --iree-llvmcpu-target-cpu=host -o test.vmfb model_torch_onnx.mlir 

Models Impacted:

tiny-yolov3-11
yolov3-10
yolov3-12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant