@@ -6,6 +6,7 @@ use common::assert_close;
66use meuron:: activation:: { ReLU , Softmax } ;
77use meuron:: backend:: { Backend , CPUBackend , GPUBackend , unary_ops} ;
88use meuron:: cost:: { Cost , CrossEntropy } ;
9+ use meuron:: initializer:: { HeNormal , XavierUniform , Zeros } ;
910use meuron:: layer:: { DenseLayer , Layer } ;
1011use meuron:: optimizer:: { SGD , SGDMomentum } ;
1112use meuron:: { Layers , NetworkType , NeuralNetwork } ;
@@ -65,11 +66,11 @@ fn dense_forward_parity() {
6566 let b = arr1 ( & [ 0.1_f32 , -0.2 , 0.3 ] ) ;
6667 let x = arr2 ( & [ [ 1.0_f32 , 0.5 , -0.3 , 0.2 ] , [ 0.0 , 1.0 , 0.0 , -1.0 ] ] ) ;
6768
68- let mut cpu_l = DenseLayer :: < ReLU , CPUBackend > :: new ( 4 , 3 , ReLU ) ;
69+ let mut cpu_l = DenseLayer :: < ReLU , CPUBackend > :: new ( 4 , 3 , ReLU , HeNormal , Zeros ) ;
6970 CPUBackend :: assign ( & mut cpu_l. weights , CPUBackend :: from_array ( w. clone ( ) ) ) ;
7071 CPUBackend :: assign ( & mut cpu_l. biases , CPUBackend :: from_array ( b. clone ( ) ) ) ;
7172
72- let mut gpu_l = DenseLayer :: < ReLU , GPUBackend > :: new ( 4 , 3 , ReLU ) ;
73+ let mut gpu_l = DenseLayer :: < ReLU , GPUBackend > :: new ( 4 , 3 , ReLU , HeNormal , Zeros ) ;
7374 GPUBackend :: assign ( & mut gpu_l. weights , GPUBackend :: from_array ( w) ) ;
7475 GPUBackend :: assign ( & mut gpu_l. biases , GPUBackend :: from_array ( b) ) ;
7576
@@ -91,11 +92,11 @@ fn dense_backward_parity() {
9192 let x = arr2 ( & [ [ 1.0_f32 , 0.5 , -0.3 ] , [ 0.0 , 1.0 , 0.0 ] ] ) ;
9293 let g = arr2 ( & [ [ 0.3_f32 , -0.1 ] , [ -0.2 , 0.4 ] ] ) ;
9394
94- let mut cpu_l = DenseLayer :: < ReLU , CPUBackend > :: new ( 3 , 2 , ReLU ) ;
95+ let mut cpu_l = DenseLayer :: < ReLU , CPUBackend > :: new ( 3 , 2 , ReLU , HeNormal , Zeros ) ;
9596 CPUBackend :: assign ( & mut cpu_l. weights , CPUBackend :: from_array ( w. clone ( ) ) ) ;
9697 CPUBackend :: assign ( & mut cpu_l. biases , CPUBackend :: from_array ( b. clone ( ) ) ) ;
9798
98- let mut gpu_l = DenseLayer :: < ReLU , GPUBackend > :: new ( 3 , 2 , ReLU ) ;
99+ let mut gpu_l = DenseLayer :: < ReLU , GPUBackend > :: new ( 3 , 2 , ReLU , HeNormal , Zeros ) ;
99100 GPUBackend :: assign ( & mut gpu_l. weights , GPUBackend :: from_array ( w) ) ;
100101 GPUBackend :: assign ( & mut gpu_l. biases , GPUBackend :: from_array ( b) ) ;
101102
@@ -158,15 +159,15 @@ type TwoLayerGpu = NeuralNetwork<
158159fn cpu_gpu_pair ( ) -> ( TwoLayerCpu , TwoLayerGpu ) {
159160 let cpu = NeuralNetwork :: new (
160161 Layers ! [
161- DenseLayer :: <ReLU , CPUBackend >:: new( 4 , 5 , ReLU ) ,
162- DenseLayer :: <Softmax , CPUBackend >:: new( 5 , 3 , Softmax )
162+ DenseLayer :: <ReLU , CPUBackend >:: new( 4 , 5 , ReLU , HeNormal , Zeros ) ,
163+ DenseLayer :: <Softmax , CPUBackend >:: new( 5 , 3 , Softmax , XavierUniform , Zeros )
163164 ] ,
164165 CrossEntropy ,
165166 ) ;
166167 let mut gpu = NeuralNetwork :: new (
167168 Layers ! [
168- DenseLayer :: <ReLU , GPUBackend >:: new( 4 , 5 , ReLU ) ,
169- DenseLayer :: <Softmax , GPUBackend >:: new( 5 , 3 , Softmax )
169+ DenseLayer :: <ReLU , GPUBackend >:: new( 4 , 5 , ReLU , HeNormal , Zeros ) ,
170+ DenseLayer :: <Softmax , GPUBackend >:: new( 5 , 3 , Softmax , XavierUniform , Zeros )
170171 ] ,
171172 CrossEntropy ,
172173 ) ;
0 commit comments