⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x203.html

📁 一个功能强大的神经网络分析程序
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><HTML><HEAD><TITLE>Running a Fixed Point ANN</TITLE><link href="../style.css" rel="stylesheet" type="text/css"><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINKREL="HOME"TITLE="Fast Artificial Neural Network Library"HREF="index.html"><LINKREL="UP"TITLE="Fixed Point Usage"HREF="c189.html"><LINKREL="PREVIOUS"TITLE="Fixed Point Usage"HREF="c189.html"><LINKREL="NEXT"TITLE="Precision of a Fixed Point ANN"HREF="x217.html"></HEAD><BODYCLASS="section"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Fast Artificial Neural Network Library</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="c189.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">Chapter 3. Fixed Point Usage</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="x217.html"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="section"><H1CLASS="section"><ANAME="fixed.run">3.2. Running a Fixed Point ANN</A></H1><P>&#13;	Running a fixed point ANN is done much like running an ordinary ANN. The difference is that the inputs and outputs should be in fixed point	representation. Furthermore the inputs should be restricted to be between -<CODECLASS="parameter">multiplier</CODE> and <CODECLASS="parameter">multiplier</CODE> to	avoid integer overflow, where the <CODECLASS="parameter">multiplier</CODE> is the value returned from	<AHREF="r1483.html"><CODECLASS="function">fann_get_multiplier</CODE></A>. This multiplier is the value that a floating point number should	be multiplied with, in order to be a fixed point number, likewise the output of the ANN should be divided by this multiplier in order to be between zero	and one.      </P><P>&#13;	To help using fixed point numbers, another function is provided.	<AHREF="r1467.html"><CODECLASS="function">fann_get_decimal_point</CODE></A> which returns the decimal point. The decimal point is the	position dividing the integer and fractional part of the fixed point number and is useful for doing operations on the fixed point inputs and outputs.      </P><DIVCLASS="example"><ANAME="example.exec_fixed"></A><P><B>Example 3-2. An example of a program written to support both fixed point and floating point numbers</B></P><PRECLASS="programlisting">&#13;#include &#60;time.h&#62;#include &#60;sys/time.h&#62;#include &#60;stdio.h&#62;#include "fann.h"int main(){	fann_type *calc_out;	unsigned int i;	int ret = 0;	struct fann *ann;	struct fann_train_data *data;	printf("Creating network.\n");#ifdef FIXEDFANN	ann = fann_create_from_file("xor_fixed.net");#else	ann = fann_create_from_file("xor_float.net");#endif		if(!ann){		printf("Error creating ann --- ABORTING.\n");		return 0;	}	printf("Testing network.\n");#ifdef FIXEDFANN	data = fann_read_train_from_file("xor_fixed.data");#else	data = fann_read_train_from_file("xor.data");#endif	for(i = 0; i &#60; data-&#62;num_data; i++){		fann_reset_MSE(ann);		calc_out = fann_test(ann, data-&#62;input[i], data-&#62;output[i]);#ifdef FIXEDFANN		printf("XOR test (%d, %d) -&#62; %d, should be %d, difference=%f\n",		data-&#62;input[i][0], data-&#62;input[i][1], *calc_out, data-&#62;output[i][0], (float)fann_abs(*calc_out - data-&#62;output[i][0])/fann_get_multiplier(ann));		if((float)fann_abs(*calc_out - data-&#62;output[i][0])/fann_get_multiplier(ann) &#62; 0.1){			printf("Test failed\n");			ret = -1;		}#else		printf("XOR test (%f, %f) -&#62; %f, should be %f, difference=%f\n",		data-&#62;input[i][0], data-&#62;input[i][1], *calc_out, data-&#62;output[i][0], (float)fann_abs(*calc_out - data-&#62;output[i][0]));#endif	}	printf("Cleaning up.\n");	fann_destroy_train(data);	fann_destroy(ann);	return ret;}	</PRE></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="c189.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html"ACCESSKEY="H">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="x217.html"ACCESSKEY="N">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">Fixed Point Usage</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="c189.html"ACCESSKEY="U">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">Precision of a Fixed Point ANN</TD></TR></TABLE></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -