Live Editor and view neural network

3 ビュー (過去 30 日間)
Grzegorz Knor
Grzegorz Knor 2017 年 7 月 27 日
コメント済み: Baptiste Ottino 2017 年 8 月 8 日
Hi,
I would like to add a neural network graphical diagram to my live script. Unfortunately command view produces new window instead of adding diagram to the live script.
To be clear, this code (in a Live Editor) attaches output of plot command directly to the live script, but does not include neural network diagram:
plot(1:10)
net = patternnet;
view(net)

採用された回答

Baptiste Ottino
Baptiste Ottino 2017 年 8 月 8 日
You are experiencing this problem because the view(net) function does not output a figure, it outputs a Java object. I don't know a perfect work around, but you can try this:
function newView(net)
jframe = view(net);
%# create it in a MATLAB figure
hFig = figure('Menubar','none', 'Position',[100 100 565 166]);
jpanel = get(jframe,'ContentPane');
[~,h] = javacomponent(jpanel);
set(h, 'units','normalized', 'position',[0 0 1 1])
%# close java window
jframe.setVisible(false);
jframe.dispose();
I found this solution here. With this, you can have your network as a figure, and it will appear in the livescript. The only remaining issue is that the undocked figure window doesn't close once it has been plotted in the livescript, which is peculiar.
  2 件のコメント
Grzegorz Knor
Grzegorz Knor 2017 年 8 月 8 日
Thank you for your answer. I've modified it a little bit, and now figure window can be closed automatically:
function outH = newView(net)
jframe = view(net);
%# create it in a MATLAB figure
hFig = figure('Menubar','none', 'Position',[100 100 565 166]);
jpanel = get(jframe,'ContentPane');
[~,h] = javacomponent(jpanel);
set(h, 'Parent', hFig, 'units','normalized', 'position',[0 0 1 1])
%# close java window
jframe.setVisible(false);
jframe.dispose();
% capture figure as a frame
F = getframe(hFig);
% close current figure
close(hFig)
% display the captured image data using imshow
hFig = figure('Menubar','none', 'Position',[100 100 565 166]);
axes('units','normalized', 'position',[0 0 1 1])
imshow(F.cdata)
axis off
% return handle if needed
if nargout == 1
outH = hFig;
end
Baptiste Ottino
Baptiste Ottino 2017 年 8 月 8 日
Pretty cool, thank you very much!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImage Data Workflows についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by