()
| 339 | |
| 340 | #[test] |
| 341 | fn test_predict_three_layer() { |
| 342 | |
| 343 | // parameters |
| 344 | let params1 = mat![ |
| 345 | 0.1, 0.2, 0.4; |
| 346 | 0.2, 0.1, 2.0 |
| 347 | ]; |
| 348 | |
| 349 | let params2 = mat![ |
| 350 | 0.8, 1.2, 0.6 |
| 351 | ]; |
| 352 | |
| 353 | // input vector |
| 354 | let x = [0.4, 0.5, 0.8]; |
| 355 | |
| 356 | let n = NeuralNetwork::new() |
| 357 | .add_layer(3) |
| 358 | .add_layer(2) |
| 359 | .add_layer(1) |
| 360 | .set_params(0, params1) |
| 361 | .set_params(1, params2); |
| 362 | |
| 363 | assert_eq!(n.layers(), 3); |
| 364 | assert_eq!(n.input_size(), 3); |
| 365 | assert_eq!(n.output_size(), 1); |
| 366 | |
| 367 | let p = n.predict(&x); |
| 368 | assert!(p.similar(&vec![0.88547], 0.00001)); |
| 369 | } |
| 370 | |
| 371 | #[test] |
| 372 | fn test_feedforward() { |
nothing calls this directly
no test coverage detected