
[code]

    DNNRT dnnrt;
    DNNRT dnnrt2;
    
[/code]

２つ目の `DNNRT` の `bigin()` にてエラーになります。


CC BY-SA 4.0
2019-09-12T00:47:03.590
59005
2019-10-06T12:20:29.943
2019-09-12T00:54:29.897
32986
35827
question
spresense
Spresense AIを２つ同時に使うことはできますか


確かに DNNRT
のインスタンスを二つ作るのは出来ないようですね。リソースの問題でしょう。ですが、DNNRTをシーケンシャルに使うことはできるようです。次のようなコードを使って実際に試してみました。

[code]

    /* trial of 1st neural network */ 
    dnnrt.begin("model.nnb");
    DNNVariable input(size);
       ...snip...
    dnnrt.inputVariable(input, 0);
    dnnrt.forward();
    DNNVariable output = dnnrt.outputVariable(0);
       ...snip...
    dnnrt.end();
    
    /* trial of 2nd neural network */ 
    dnnrt.begin("model2.nnb");
       ...snip...
    dnnrt.inputVariable(input, 0); /* input data は使いまわし */
    dnnrt.forward();
    output = dnnrt.outputVariable(0);
       ...snip...
    dnnrt.end();
    
[/code]

こちらのほうが少ないメモリを有効に使えますし、試してみてはいかがでしょう？


CC BY-SA 4.0
2019-10-06T12:20:29.943
59514
2019-10-06T12:20:29.943
27334
59005
answer