<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Good evening, in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069038#M22118</link>
    <description>&lt;P&gt;Good evening,&lt;/P&gt;

&lt;P&gt;Perhaps I am missing something, but how I feed the network with inputs, for example an image? Are the input values also in the dnnlayout_t type?&lt;/P&gt;

&lt;P&gt;Thanks in advance,&lt;/P&gt;

&lt;P&gt;Jean&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 28 Mar 2017 23:03:36 GMT</pubDate>
    <dc:creator>jean-vezina</dc:creator>
    <dc:date>2017-03-28T23:03:36Z</dc:date>
    <item>
      <title>Layout of structure dnnlayout_t in MKL DNN routines</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069037#M22117</link>
      <description>&lt;P&gt;Good evening,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I am starting to use the Deep neural network routines in MKL. The definition of each node (weights, etc) is stored in a variable of type dnnlayout_t which is opaque. But, how I can save or load a trained network if I cannot extract the weights? So, I need the internal layout of that type or a way to access it.&lt;/P&gt;

&lt;P&gt;Thanks in advance,&lt;/P&gt;

&lt;P&gt;Jean&lt;/P&gt;

&lt;P&gt;In the include file, the type is defined as following:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#if defined(__cplusplus_cli)
struct _uniPrimitive_s {};
struct _dnnLayout_s {};
#endif

typedef struct _uniPrimitive_s* dnnPrimitive_t;
typedef struct _dnnLayout_s* dnnLayout_t;
typedef void* dnnPrimitiveAttributes_t;&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Mar 2017 22:18:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069037#M22117</guid>
      <dc:creator>jean-vezina</dc:creator>
      <dc:date>2017-03-28T22:18:15Z</dc:date>
    </item>
    <item>
      <title>Good evening,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069038#M22118</link>
      <description>&lt;P&gt;Good evening,&lt;/P&gt;

&lt;P&gt;Perhaps I am missing something, but how I feed the network with inputs, for example an image? Are the input values also in the dnnlayout_t type?&lt;/P&gt;

&lt;P&gt;Thanks in advance,&lt;/P&gt;

&lt;P&gt;Jean&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Mar 2017 23:03:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069038#M22118</guid>
      <dc:creator>jean-vezina</dc:creator>
      <dc:date>2017-03-28T23:03:36Z</dc:date>
    </item>
    <item>
      <title>Hi Jean,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069039#M22119</link>
      <description>&lt;P&gt;Hi Jean,&lt;/P&gt;

&lt;P&gt;Well, the MKL DNN &lt;SPAN style="font-size: 13.008px;"&gt;actually realized low level&lt;/SPAN&gt;&amp;nbsp;convolution calculation &amp;amp; some other algorithm, the dnnlayout is point to the data set for each time you doing the convolution processing. It's not the layout of neural network, I believe you probably want to point the layout for some framework, for instance theano, caffe... I could understand under a supervised network training, the convolution weight would be adjusted through the backpropagation that you may could not just use MKL DNN to realize a complete network training. You probably could refer caffe framework which is already optimized with MKL.&lt;/P&gt;

&lt;P&gt;Best regards,&lt;BR /&gt;
	Fiona&lt;/P&gt;</description>
      <pubDate>Wed, 29 Mar 2017 06:39:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069039#M22119</guid>
      <dc:creator>Zhen_Z_Intel</dc:creator>
      <dc:date>2017-03-29T06:39:00Z</dc:date>
    </item>
    <item>
      <title>Good morning,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069040#M22120</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Good morning,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;The problem is that the Caffe and Theano frameworks optimized with MKL cannot be built for Windows. I tried to build them and got several errors. Even the C++ code returned errors when I tried compiling it with Intel C++. So that's why I need to access the weights. Does that means that a separate procedure is needed to adjust the weights during back propagation ?&lt;/P&gt;

&lt;P&gt;Also, I notice that there is no optimizer in the DNN routines to find the optimal weights when training the network. Is there an optimizer available in MKL that could be used or the optimizing routine has to be programmed?&lt;/P&gt;

&lt;P&gt;Thanks in advance,&lt;/P&gt;

&lt;P&gt;Jean&lt;/P&gt;</description>
      <pubDate>Wed, 29 Mar 2017 15:52:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069040#M22120</guid>
      <dc:creator>jean-vezina</dc:creator>
      <dc:date>2017-03-29T15:52:27Z</dc:date>
    </item>
    <item>
      <title>Hi Jean,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069041#M22121</link>
      <description>&lt;P&gt;Hi Jean,&lt;/P&gt;

&lt;P&gt;For DNN training, you could refer an example provided under MKL installation path: $MKLROOT/examples/examples_core_c\examples_core_c\dnnc\source\s_train_sample.c&lt;/P&gt;

&lt;P&gt;During a training, you must do forward first to describe expect result firstly, You need to bundle layout for input data, filt, bias and output to primitives; Then, you need to create layout for backward calculation data from bwd primitive; Finally you execute fwd firstly, then bwd. After that, you could get weight by using 'dnnConversionExecute' function to transfer primitive data to address to pointer of floating/double data. The weight is stored in filt and you could get filt through the pointer for floating data.&lt;/P&gt;

&lt;P&gt;Learn more info, please follow the sample. Thanks.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Apr 2017 06:42:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069041#M22121</guid>
      <dc:creator>Zhen_Z_Intel</dc:creator>
      <dc:date>2017-04-05T06:42:30Z</dc:date>
    </item>
    <item>
      <title>Thanks a lot!</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069042#M22122</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Thanks a lot!&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;I indeed found the example code by chance &amp;nbsp;last week and I was able to start working on my project! However, I suggest that the documentation supplied with MKL clearly mentions its existence (as it is the case for other routines).&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Jean&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Apr 2017 14:46:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Layout-of-structure-dnnlayout-t-in-MKL-DNN-routines/m-p/1069042#M22122</guid>
      <dc:creator>jean-vezina</dc:creator>
      <dc:date>2017-04-05T14:46:13Z</dc:date>
    </item>
  </channel>
</rss>

