<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aperitto Software Blog &#187; Software</title>
	<atom:link href="http://blog.aperitto.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.aperitto.com</link>
	<description></description>
	<lastBuildDate>Sun, 08 Aug 2010 13:31:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>FANN GUI and Delphi Binidings</title>
		<link>http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/</link>
		<comments>http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 13:15:10 +0000</pubDate>
		<dc:creator>Nick Protopapas</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FANN]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[neural networks]]></category>

		<guid isPermaLink="false">http://blog.aperitto.com/?p=50</guid>
		<description><![CDATA[Due to some needs from my postgraduate program i needed to use a neural network for analysis of data. After some research found the FANN library (http://leenissen.dk/fann/), which is fast, with many options and has several bindings for many different environments (e.g. C++, PHP, Python, Delphi, and more). I checked out the latest cvs version, [...]]]></description>
			<content:encoded><![CDATA[<p>Due to some needs from my postgraduate program i needed to use a neural network for analysis of data. After some research found the FANN library (<a href="http://leenissen.dk/fann/" target="_blank">http://leenissen.dk/fann/</a>), which is fast, with many options and has several bindings for many different environments (e.g. C++, PHP, Python, Delphi, and more).</p>
<p>I checked out the latest cvs version, and started to play with it. After that, i installed the Delphi bindings (<strong>originally great work from Mauricio Pereira Maia</strong>). Unfortunately, there wasn&#8217;t a &#8220;shell&#8221; object for the library, more Delphi like. So, the next step was to make one for my needs, and upon this object to build a GUI for the FANN library.</p>
<p><strong>FANN Delphi Shell Object</strong></p>
<p>The FANN library shell object (whcht it will published under GPL when it is finally finished) provides support for the actual network and for the data that the user will feed the network. It is as much as possible &#8220;Delphi friendly&#8221; which means that all the FANN library&#8217;s parameters are implemented as properties, the training, testing and running are methods, and (very useful) has some event&#8217;s handlers, such as OnTrainStart, OnTrainTerminate, OnTrainValidate and so on.</p>
<p>This object evolved together with the GUI, so it reflects much of the needs of the GUI building. The main feature, which in facts allows the building of GUI much easier is that the FANN shell object is threaded. In other words, the calls to library&#8217;s procedures is made from newly created threads, so a call to a method&#8217;s method is returned immediately to main program. After that, the shell object informs the main program for what is going (training, running, train MSE, if train is terminated or started and so) via event handlers.</p>
<p>Now, this is an example code, for creating a network, load some data, and train it with that data:</p>
<pre class="brush:delphi">
var
  Network1: TNetwork;
  Data1: TNetworkData;

Procedure TForm1.StartTrain;
begin
  Network1:=TNetwork.Create(ntLayer, 1, [2,3,1]);
  Network1.OnTrainTerminated:=Network1TrainTerminated;
  Network1.OnTrainStarted:=Network1TrainStarted;
  Data1:=TNetworkData.Create;
  Data1.LoadFromFile('xor.train');
  Writeln(Format('Data inputs/outputs/samples: %d/%d/%d',[Data1.Inputs, Data1.Outputs, Data1.Count]);
  Network1.TrainOnData(Data1, 1000, STOPFUNC_MSE, 0.005);
end;

Procedure TForm1.Network1TrainStarted(Sender: TNetwork);
begin
  ShowMessage('Training Started');
end;

Procedure TForm1.Network1TrainTerminated(Sender: TNetwork; MSE: Single);
begin
  ShowMessage('Train Terminated');
  Writeln(Format('Epochs: %d | MSE: %.8f | BitFail: %d',[Sender.TrainEpoch, Sender.MSE, Sender.BitFail]);
end;
</pre>
<p><strong>GUI</strong></p>
<p>The GUI (which is far from complete) is an easy to use windows program. For details see the screenshots:</p>

<a href='http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/cascadetraining/' title='CascadeTraining'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/08/CascadeTraining-150x150.png" class="attachment-thumbnail" alt="CascadeTraining" title="CascadeTraining" /></a>
<a href='http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/createnewnetwork/' title='CreateNewNetwork'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/08/CreateNewNetwork-150x150.png" class="attachment-thumbnail" alt="CreateNewNetwork" title="CreateNewNetwork" /></a>
<a href='http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/datasources_graph/' title='DataSources_Graph'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/08/DataSources_Graph-150x150.png" class="attachment-thumbnail" alt="DataSources_Graph" title="DataSources_Graph" /></a>
<a href='http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/datasources_grid/' title='DataSources_Grid'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/08/DataSources_Grid-150x150.png" class="attachment-thumbnail" alt="DataSources_Grid" title="DataSources_Grid" /></a>
<a href='http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/networkdesigner/' title='NetworkDesigner'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/08/NetworkDesigner-150x150.png" class="attachment-thumbnail" alt="NetworkDesigner" title="NetworkDesigner" /></a>
<a href='http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/training/' title='Training'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/08/Training-150x150.png" class="attachment-thumbnail" alt="Training" title="Training" /></a>

<p>If someone wants to download this GUI and see it (sorry, no installer for now) here is the download link</p>
<p><a href="http://www.aperitto.com/media/downloads/msynapse.zip">http://www.aperitto.com/media/downloads/msynapse.zip</a></p>
<p>Please note, that this GUI for now has limited (rather basic) functionality. You can load data, see it in datasource explorer (grid and graph), create a network (all FANN options supportes) and train your network with data (Not all FANN train options supported) or do a cascade training (All FANN cascade train options supported). No testing or running the network support.</p>
<p>Regards,<br />
Nick Protopapas</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aperitto.com/2010/08/08/fann-gui-and-delphi-binidings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation Creator progress</title>
		<link>http://blog.aperitto.com/2010/05/24/installation-creator-progress/</link>
		<comments>http://blog.aperitto.com/2010/05/24/installation-creator-progress/#comments</comments>
		<pubDate>Mon, 24 May 2010 11:58:17 +0000</pubDate>
		<dc:creator>Nick Protopapas</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Installation Creator]]></category>

		<guid isPermaLink="false">http://blog.aperitto.com/?p=28</guid>
		<description><![CDATA[The development of Installation Creator is getting near it&#8217;s first alpha version. As for now, it can compile it&#8217;s own setup file. Among this, the basic functions of user interface is stable, the project engine is near finished with working save/open functionality, debugging support is added, almost all the settings of Inno Setup are in [...]]]></description>
			<content:encoded><![CDATA[<p>The development of Installation Creator is getting near it&#8217;s first alpha version.</p>
<p>As for now, it can compile it&#8217;s own setup file. Among this, the basic functions of user interface is stable, the project engine is near finished with working save/open functionality, debugging support is added, almost all the settings of Inno Setup are in project&#8217;s settings.</p>
<p>Future plans includes an easy to use variable editor, custom dialog editor, ability to add additional, user edited languages, custom strings integration and editor, and many more.</p>
<p>I am hoping, that till the end of June, the first alpha version will be ready to download.</p>

<a href='http://blog.aperitto.com/2010/05/24/installation-creator-progress/ic_1/' title='Installation Creator - Home'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/05/ic_1-150x150.png" class="attachment-thumbnail" alt="Installation Creator - Home" title="Installation Creator - Home" /></a>
<a href='http://blog.aperitto.com/2010/05/24/installation-creator-progress/ic_2/' title='Installation Creator - Component Files'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/05/ic_2-150x150.png" class="attachment-thumbnail" alt="Installation Creator - Component Files" title="Installation Creator - Component Files" /></a>
<a href='http://blog.aperitto.com/2010/05/24/installation-creator-progress/ic_4/' title='Installation Creator - Types'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/05/ic_4-150x150.png" class="attachment-thumbnail" alt="Installation Creator - Types" title="Installation Creator - Types" /></a>
<a href='http://blog.aperitto.com/2010/05/24/installation-creator-progress/ic_5/' title='Installation Creator - Components'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/05/ic_5-150x150.png" class="attachment-thumbnail" alt="Installation Creator - Components" title="Installation Creator - Components" /></a>
<a href='http://blog.aperitto.com/2010/05/24/installation-creator-progress/ic_6/' title='Installation Creator - Languages'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/05/ic_6-150x150.png" class="attachment-thumbnail" alt="Installation Creator - Languages" title="Installation Creator - Languages" /></a>
<a href='http://blog.aperitto.com/2010/05/24/installation-creator-progress/ic_7/' title='Installation Creator - Compiler'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/05/ic_7-150x150.png" class="attachment-thumbnail" alt="Installation Creator - Compiler" title="Installation Creator - Compiler" /></a>

]]></content:encoded>
			<wfw:commentRss>http://blog.aperitto.com/2010/05/24/installation-creator-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation Creator</title>
		<link>http://blog.aperitto.com/2010/03/20/5/</link>
		<comments>http://blog.aperitto.com/2010/03/20/5/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 21:57:41 +0000</pubDate>
		<dc:creator>Nick Protopapas</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Installation Creator]]></category>

		<guid isPermaLink="false">http://blog.aperitto.com/?p=5</guid>
		<description><![CDATA[I am just started a new project, the Installation Creator. It will be a new tool for creating setups, based upon the excellent Inno Setup. It will be extremely easy to be used, with an interface similar to control panel of windows vista. All the installation&#8217;s settings and elements will be easy accessible from anywhere [...]]]></description>
			<content:encoded><![CDATA[<p>I am just started a new project, the Installation Creator. It will be a new tool for creating setups, based upon the excellent Inno Setup.</p>
<p>It will be extremely easy to be used, with an interface similar to control panel of windows vista. All the installation&#8217;s settings and elements will be easy accessible from anywhere within Installation Creator. Also, it will support all the features of Inno Setup, among them windows 7 and full unicode.</p>
<p>Please take a look at the screen shots, for some information&#8217;s about Installation Creator</p>

<a href='http://blog.aperitto.com/2010/03/20/5/ic-1/' title='Home page of installation project'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/03/ic-1-150x150.jpg" class="attachment-thumbnail" alt="Home page of installation project" title="Home page of installation project" /></a>
<a href='http://blog.aperitto.com/2010/03/20/5/ic-3/' title='Application options'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/03/ic-3-150x150.jpg" class="attachment-thumbnail" alt="Application options" title="Application options" /></a>
<a href='http://blog.aperitto.com/2010/03/20/5/ic-2/' title='Installation&#039;s components'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/03/ic-2-150x150.jpg" class="attachment-thumbnail" alt="Installation&#039;s components" title="Installation&#039;s components" /></a>
<a href='http://blog.aperitto.com/2010/03/20/5/ic-4/' title='Installation options'><img width="150" height="150" src="http://blog.aperitto.com/wp-content/uploads/2010/03/ic-4-150x150.jpg" class="attachment-thumbnail" alt="Installation options" title="Installation options" /></a>

]]></content:encoded>
			<wfw:commentRss>http://blog.aperitto.com/2010/03/20/5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

