<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap:break-word; color:rgb(0,0,0); font-size:14px; font-family:Calibri,sans-serif">
<div>
<div>
<div>Nikhil,</div>
<div><br>
</div>
<div>I have never had much luck with the ITK neural network implementation. &nbsp;After much effort, I ended up moving to using OpenCV.</div>
<div><br>
</div>
<div>The read/write capabilities of the ITK neural network are particularly problematic.</div>
<div><br>
</div>
<div>Sorry that I can not be more helpful.</div>
<div><br>
</div>
<div>Hans</div>
<div><br>
</div>
<div>
<div>
<div>--&nbsp;</div>
<div>
<div>
<div style="font-family:Calibri; font-size:15px"><font face="Arial" size="2"><span style="font-size:10pt">Hans J. Johnson, Ph.D.</span></font></div>
<div style="font-family:Calibri; font-size:15px"><font face="Arial" size="2"><span style="font-size:10pt"><a href="mailto:hans-johnson@uiowa.edu">hans-johnson@uiowa.edu</a></span></font></div>
<div style="font-family:Calibri; font-size:15px"><font face="Arial" size="2"><span style="font-size:10pt">Assistant Professor of Psychiatry</span></font></div>
<div style="font-family:Calibri; font-size:15px"><span class="Apple-style-span" style="font-size:13px; font-family:Arial">University of Iowa Carver College of Medicine</span></div>
<div style="font-family:Calibri; font-size:15px"><font face="Arial" size="2"><span style="font-size:10pt"><span class="Apple-style-span" style="font-family:Calibri; font-size:15px">
<div><span class="Apple-style-span" style="font-size:13px; font-family:Arial">W278 GH, 200 Hawkins Drive</span></div>
</span></span></font></div>
<div style="font-family:Calibri; font-size:15px"><font face="Arial" size="2"><span style="font-size:10pt">Iowa City, Iowa 52242</span></font></div>
<div style="font-family:Calibri; font-size:15px"><font face="Arial" size="2"><span style="font-size:10pt">Phone:&nbsp; 319-353-8587</span></font></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; border-bottom:medium none; border-left:medium none; padding-bottom:0in; padding-left:0in; padding-right:0in; border-top:#b5c4df 1pt solid; border-right:medium none; padding-top:3pt">
<span style="font-weight:bold">From: </span>Nikhil Chandwadkar &lt;<a href="mailto:nikhil.chandwadkar@gmail.com">nikhil.chandwadkar@gmail.com</a>&gt;<br>
<span style="font-weight:bold">Date: </span>Thursday, April 26, 2012 7:59 AM<br>
<span style="font-weight:bold">To: </span>&quot;<a href="mailto:insight-users@itk.org">insight-users@itk.org</a>&quot; &lt;<a href="mailto:insight-users@itk.org">insight-users@itk.org</a>&gt;<br>
<span style="font-weight:bold">Subject: </span>[Insight-users] Implementing the Neural Network classes<br>
</div>
<div><br>
</div>
<div>
<div>Hi,
<div><br>
</div>
<div>I have been trying to use the ITK neural network classes and I'm having problems with both the classes in the Statistics namespace as well as the I/O classes in the itk namespace. All classes in the neural networks module seem to be lacking a good amount
 of documentation. Going by the fact that, there haven't been any issues at all on the mailing list, I'm assuming that people haven't used them much (or I'm dumb :) ). So, any solutions or guidance is most welcome.</div>
<div><br>
</div>
<div>I have tried out two things:</div>
<div><br>
</div>
<div>1. Train the network from measurement vectors and target vectors read from a file (a subset of &nbsp;the available measurement vectors) and simulate the network on the entire set of measurement vectors available immediately using network-&gt;GenerateOutput(mv),
 writing the outputs into another file.</div>
<div><br>
</div>
<div>2. Train the network as above in a TrainNetwork() function and using the NeuralNetworkFileWriter class and write a neural network file FileWriter-&gt;SetInput(network). Then read the file using the NeuralNetworkFileReader class and simulate the network in
 a separate SimulateNetwork() function.</div>
<div><br>
</div>
<div>Case 1:</div>
<div>I'm using a one hidden layer network, following the example in Modules/Numerics/NeuralNetworks/NNetClassifierTest1.cxx. Just like in the example, I'm reading measurement vectors and target vectors from a file and using a BatchSupervisedTrainingFunction
 to train the samples. In addition I'm also using the Tan Sigmoid transfer function for the hidden layer and the output layer and&nbsp;ErrorBackPropagationLearningWithMomentum as the learning function. After training the network (And this takes too long. Much longer
 than Matlab at least) when I generate the output vector, most outputs have the same value, say 0.35467, all to the same precision. There are one or two values that are negative too. I've no idea how to make sense from this. Plus, when the training sample is
 large, around 3000 measurement vectors, I get all outputs as -1 from the trained network.</div>
<div><br>
</div>
<div>Case 2:</div>
<div>On writing the network to a file, reading it and simulating it, I get all output values as -0.414.. always, irrespective of whatever network I've trained (majority of weight values as written in the file are zeroes).</div>
<div><br>
</div>
<div>I'm guessing that I'm missing something quite fundamental or there is something wrong with the classes. Have these classes been tested enough? Any help whatsoever is most welcome.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Nikhil Chandwadkar,</div>
<div>Indian Institute of Technology Madras,</div>
<div>Chennai,</div>
<div>India</div>
</div>
</div>
</span><br>
<br>
<hr>
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.&nbsp; If you are not the intended recipient, you are hereby notified that any
 retention, dissemination, distribution, or copying of this communication is strictly prohibited.&nbsp; Please reply to the sender that you have received the message in error, then delete it.&nbsp; Thank you.
<hr>
</body>
</html>