chaiNNer-org / chaiNNer

A node-based image processing GUI aimed at making chaining image processing tasks easy and customizable. Born as an AI upscaling application, chaiNNer has grown into an extremely flexible and powerful programmatic image processing application.
https://chaiNNer.app
GNU General Public License v3.0
4.49k stars 280 forks source link

'/body.1/Unsqueeze_output_0' #2927

Closed NenelFX closed 3 months ago

NenelFX commented 4 months ago

An error occurred in a Convert To NCNN node:

'/body.1/Unsqueeze_output_0'

Input values: • ONNX Model: Value of type 'nodes.impl.onnx.model.OnnxGeneric' • Data Type: fp16

Traceback (most recent call last):
  File "D:\Video_Tools\chaiNNer\resources\src\process.py", line 176, in run_node
    raw_output = node.run(*enforced_inputs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Video_Tools\chaiNNer\resources\src\packages\chaiNNer_onnx\onnx\utility\convert_to_ncnn.py", line 41, in convert_to_ncnn_node
    ncnn_model = NcnnModelWrapper(converter.convert(fp16, False))
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Video_Tools\chaiNNer\resources\src\nodes\impl\onnx\onnx_to_ncnn.py", line 3507, in convert
    slope = self.weights[node.input[1]]
            ~~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: '/body.1/Unsqueeze_output_0'

model: 2x_AniSD_PS_G6i2_Compact_50K_fp32.onnx

Windows 10 GPU 920m 1gb

RunDevelopment commented 4 months ago

@joeyballentine Didn't 2x compact models use an operation NCNN doesn't support?

joeyballentine commented 4 months ago

I think that was the 2x realesrgan models using pixelunshuffle. This might be a similar thing though. Most likely this is not something we can fix

NenelFX commented 4 months ago

I managed to convert some of the ONNX models from "https://github.com/Sirosky/Upscale-Hub/releases/tag/AniSD". other models have the same error and others were converting, I waited a long time but they didn't convert. the models that worked they converted almost instantly. I also tried other onnx models from others and augms convert others show the same error. note: my gpu is nvidia but it is old and models that use cuda do not work only ncnn works and my cpu is an intel n3700 it does not support avx2