HISE Logo Forum
    • Categories
    • Register
    • Login

    8 Times more CPU consumption on Aida-X Neural Models

    Scheduled Pinned Locked Moved General Questions
    48 Posts 14 Posters 2.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • orangeO
      orange @Christoph Hart
      last edited by orange

      @Christoph-Hart

      Here is a list of models that I picked. You can DOWNLOAD FROM HERE

      Here is a great place to find tons of guitar amp/pedal models for free: https://tonehunt.org

      Aida-X and NAM are the top used for guitar amplifiers. It would be perfect if we could open these models directly in HISE and use them with a lower CPU.

      In my opinion, Aida-X is the simplest to use and train.
      But NAM's library is greater and more accurate sound with higher CPU usage.

      develop Branch / XCode 13.1
      macOS Monterey / M1 Max

      1 Reply Last reply Reply Quote 1
      • hisefiloH
        hisefilo @Christoph Hart
        last edited by

        Here's a self-trained in AIDA_X_Model_Trainer.ipynb. Ugly as hell, but it loads and compiles.

        aidax_LSTM-16-0.aidax.zip

        1 Reply Last reply Reply Quote 1
        • C
          ccbl @orange
          last edited by

          I can confirm the same findings anecdotally. I haven't stuck it up on a performance tester, but I have to raise my buffer size in a HISE implementation where I could run multiple models at 32 samples in AIDA-X.

          Here's a bunch of models for you to test, there's a couple different sizes here.
          keras-models.zip

          1 Reply Last reply Reply Quote 2
          • C
            ccbl @Christoph Hart
            last edited by

            @Christoph-Hart NAM models, at least the standard ones, are just heavier than the average LSTM model used. A lot of the LSTM implementations have been optimised to run on a MOD Dward or Rpi. So I think 10% more CPU for NAM models sounds about right. Though there are actually smaller NAM models around that might compare more favorably. The "Lite", "Feather", and "Nano" ones. If you want any of those for testing let me know, I'll train some up for you.

            C 1 Reply Last reply Reply Quote 0
            • C
              ccbl @ccbl
              last edited by

              @ccbl Is it possible the overhead is from defining the model in the script instead of loading it from a file?

              1 Reply Last reply Reply Quote 0
              • DabDabD
                DabDab @orange
                last edited by

                @orange said in 8 Times more CPU consumption on Aida-X Neural Models:

                I can load the Aida-X neural model in HISE

                Can you pleas make a guide video or post how to use neural network or model in HISE ? i am very excited to learn the new technology but didn't get proper resources. I created a thread on this forum but no luck.

                Bollywood Music Producer and Trance Producer.

                griffinboyG orangeO 2 Replies Last reply Reply Quote 0
                • griffinboyG
                  griffinboy @DabDab
                  last edited by

                  @DabDab

                  I've done it with tensorflow using google Colab. I can help you get started if you just need to get your foot in the door.

                  DabDabD 1 Reply Last reply Reply Quote 1
                  • DabDabD
                    DabDab @griffinboy
                    last edited by DabDab

                    @griffinboy said in 8 Times more CPU consumption on Aida-X Neural Models:

                    google Colab

                    Oh.. nice. I am at the door. Ting Tong. 😀 Let me know what are the required steps. because I never tried google Colab and all that you have written.

                    Bollywood Music Producer and Trance Producer.

                    1 Reply Last reply Reply Quote 0
                    • orangeO
                      orange @DabDab
                      last edited by orange

                      @DabDab I haven't trained any model yet, but loading models is done like this:

                      • Open the Neural Sine synth example in the Snippet Browser. Delete the synth.
                      • Then replace the sine example with one of the models above (the models are in json format, just copy/paste).
                      • Then open the neural node in FX as Scriptnode, select the model then you're good to go.

                      When you replace the neural network, you might need to restart HISE after saving, sometimes it doesn't update.

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

                      C DabDabD 2 Replies Last reply Reply Quote 2
                      • C
                        ccbl @orange
                        last edited by

                        Something else coming back to the performance difference. I vaguely remember saying that there were optimisations pre-compiled when it came to inferencing certain architecture sizes. Given that Aida for example has a pretty specific pipeline that people use on collab, maybe they optimised that specific number of Layers and Hidden Size?

                        Christoph HartC 1 Reply Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart @ccbl
                          last edited by

                          @ccbl yes but none of that should cause an 8x performance boost (more like 20% or so). I just need to profile it and find out where it's spending its time.

                          C 2 Replies Last reply Reply Quote 1
                          • C
                            ccbl @Christoph Hart
                            last edited by

                            @Christoph-Hart cool. Well like I said, if you want any kind of models for testing, let me know. I can do either NAM-wavenet or LSTM, of any size.

                            1 Reply Last reply Reply Quote 0
                            • C
                              ccbl @Christoph Hart
                              last edited by

                              @Christoph-Hart One thing, in the Neural Example in the docs it says this "It requires HISE to be built with the RTNeural framework to enable real time inferencing..."

                              I don't remember doing this explicitly when I built HISE, I just built it the standard way and it all works. I'm assuming this is just no longer a requirement? Otherwise could it explain the performance penalty?

                              1 Reply Last reply Reply Quote 0
                              • DabDabD
                                DabDab @orange
                                last edited by

                                @orange said in 8 Times more CPU consumption on Aida-X Neural Models:

                                @DabDab I haven't trained any model yet, but loading models is done like this:

                                • Open the Neural Sine synth example in the Snippet Browser. Delete the synth.
                                • Then replace the sine example with one of the models above (the models are in json format, just copy/paste).
                                • Then open the neural node in FX as Scriptnode, select the model then you're good to go.

                                When you replace the neural network, you might need to restart HISE after saving, sometimes it doesn't update.

                                Wow... i will give it a try. Later I will need @griffinboy help.

                                Bollywood Music Producer and Trance Producer.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  scottmire
                                  last edited by

                                  @orange I am probably doing something wrong, but when I try to make this work, HISE crashes. Here is my process:

                                  • I copy the NN code from the Sine synth example into the interface onInit script in my project
                                  • I replace everything in the obj declaration with the .json from one of your AIDA-X captures
                                  • I add a scriptnode math.neural node in FX
                                  • I select the NN obj in the dropdown
                                  • Hise crashes.

                                  Any thoughts?

                                  1 Reply Last reply Reply Quote 0
                                  • JulesVJ
                                    JulesV
                                    last edited by JulesV

                                    @Christoph-Hart Has there been a fix for this?

                                    Christoph HartC 1 Reply Last reply Reply Quote 0
                                    • Christoph HartC
                                      Christoph Hart @JulesV
                                      last edited by

                                      @JulesV I pushed the preliminary work I had on my mobile rig but it‘s not usable as it is. I‘ll need to do a few more performance tests and cleanup.

                                      JulesVJ A orangeO FortuneF 4 Replies Last reply Reply Quote 2
                                      • JulesVJ
                                        JulesV @Christoph Hart
                                        last edited by

                                        @Christoph-Hart Thank you.

                                        I see you also added ONNX. I'm not sure if we can open NAM models in ONNX, but it would be great to be able to load and run NAM models with performance.

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          aaronventure @Christoph Hart
                                          last edited by

                                          @Christoph-Hart 3417c3ca-b4cc-42d4-a91f-77d28f66fb4c-image.png

                                          peak developer humor

                                          Christoph HartC 1 Reply Last reply Reply Quote 1
                                          • Christoph HartC
                                            Christoph Hart @aaronventure
                                            last edited by

                                            @aaronventure haha I would love to be as funny as this, but in this case my old keyboard with the defect d key pranked me one last time... but damn that's a solid joke.

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            47

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            102.1k

                                            Posts