Re: Neural networks from scratch in forth
Sujet : Re: Neural networks from scratch in forth
De : melahi_ahmed (at) *nospam* yahoo.fr (Ahmed)
Groupes : comp.lang.forthDate : 03. Dec 2024, 20:46:33
Autres entêtes
Organisation : novaBBS
Message-ID : <5e90ac201380f1ae57bec4ee4854fe61@www.novabbs.com>
References : 1 2 3 4 5 6
User-Agent : Rocksolid Light
Hi again,
I did some examples using this framework. Save examples in separate
files.
Example 01: Fitting data (linear case)
\ ------------------Example 01:--------------------
include neural_networks.fs
\ data samples
\ x1, yd, 10 samples
10 >n_samples
create data1
0e f, 0e f,
1e f, 1e f,
2e f, 2e f,
3e f, 3e f,
4e f, 4e f,
5e f, 5e f,
6e f, 6e f,
7e f, 7e f,
8e f, 8e f,
9e f, 9e f,
data1 >data
\ neuranet
1 2 2 1 2 neuralnet: net1
' net1 is net
net_layers
' dllinear is act_func
1e-2 >eta
0e >beta
1000 >epochs
1e-4 >tol
1 >display_step
false >adapt_eta
true >init_net
learn
test
\ --------------Example 01 ends here-------------------------
Example 02: fitting data (nonlinear case)
\ -------------Example 02:-----------------------------------
include neural_networks.fs
\ data samples
\ x1, yd, 10 samples
10 >n_samples
create data1
0e f, 0e f,
1e f, 1e f,
2e f, 2e f,
3e f, 3e f,
4e f, 4e f,
5e f, 4e f,
6e f, 4e f,
7e f, 3e f,
8e f, 2e f,
9e f, 1e f,
data1 >data
\ neuranet
1 5 5 1 2 neuralnet: net1
' net1 is net
net_layers
' dlatan is act_func
1e-2 >eta
0e >beta
1000000 >epochs
1e-2 >tol
100 >display_step
false >adapt_eta
true >init_net
learn
test
\ --------------Example 02 ends here--------------
Example 03: Approximation of a function: f(x) = sin(x) + cos(x)
\ --------------Example 03------------------------
include neural_networks.fs
\ data samples sin(x)+cos(x) values for x = 0:0.1:10
: f1() fsincos f+ ;
defer f()
' f1() is f()
variable n_samples1
10 n_samples1 !
create data1 n_samples1 @ 2* floats allot
: data_samples
n_samples1 @ 0 do
i s>f
fdup
data1 i 2* floats + f!
f()
data1 i 2* 1+ floats + f!
loop
;
data_samples
data1 >data
n_samples1 @ >n_samples
\ neuralnet
1 5 5 5 1 3 neuralnet: net1
' net1 is net
net_layers
' dlatan is act_func
1e-3 >eta
9e-1 >beta
1000000 >epochs
1e-4 >tol
100 >display_step
false >adapt_eta
true >init_net
learn
test
\ -------------------Example 03 ends here--------------------
Example 04: Work with several nets in the same session
\ ------------------Example 04---------------------------
include neural_networks.fs
\ data samples sin(x)+cos(x) values for x = 0:1:10
: f1() fsincos f+ ;
defer f()
' f1() is f()
variable n_samples1
10 n_samples1 !
create data1 n_samples1 @ 2* floats allot
: data_samples
n_samples1 @ 0 do
i s>f
fdup
data1 i 2* floats + f!
f()
data1 i 2* 1+ floats + f!
loop
;
data_samples
data1 >data
n_samples1 @ >n_samples
\ neuralnet
\ 2 neural nets in the same session
1 10 1 1 neuralnet: net1
' net1 is net
net_layers
1 10 10 1 2 neuralnet: net2
' net2 is net
net_layers
' dlatan is act_func
\ for use do:
\ ' net1 is net learn
\ ' net2 is net learn
\ ' net3 is net learn
\ ' net4 is net learn
1e-2 >eta
0e >beta
1000000 >epochs
1e-4 >tol
1000 >display_step
false >adapt_eta
true >init_net
cr
cr
s" Using net1" type
s" ----------" type
' net1 is net
learn
test
cr
cr
s" Using net2" type
s" ----------" type
' net2 is net
learn
test
\ ----------------Example 04 ends here----------------------
Example 05: Multi-input, multi-output neural net
\ ---------------Example 05--------------------------------
include neural_networks.fs
\ data samples x+y and x*y fo x = 0..4 and y = 0..4
: f1() ( f: x y -- x+y x*y)
fover fover f+ frot frot f* ;
defer f()
' f1() is f()
variable n_samples1
25 n_samples1 !
4 constant n_i/o
create data1 n_samples1 @ n_i/o * floats allot
variable ci
: data_samples
5 0 do
5 0 do
5 j * i + ci !
j s>f fdup data1 ci @ n_i/o * floats + f!
i s>f fdup data1 ci @ n_i/o * 1+ floats + f!
f()
fswap
data1 ci @ n_i/o * 2 + floats + f!
data1 ci @ n_i/o * 3 + floats + f!
loop
loop
;
data_samples
data1 >data
n_samples1 @ >n_samples
\ neuralnet: 2 inputs, 2 outputs and 3 hidden layers (10 neurons each)
2 10 10 10 2 3 neuralnet: net1
' net1 is net
net_layers
' dlatan is act_func
1e-3 >eta
0e >beta
1000000 >epochs
1e-2 >tol
1000 >display_step
false >adapt_eta
true >init_net
learn
test
\ -------------Example 05 ends here---------------------------
Enjoy.
Ahmed
--
Haut de la page
Les messages affichés proviennent d'usenet.
NewsPortal