Skip to content

Commit a29bfcf

Browse files
committed
Basic tests for maxpool2d
1 parent 088a48b commit a29bfcf

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ string(REGEX REPLACE "^ | $" "" LIBS "${LIBS}")
100100

101101
# tests
102102
enable_testing()
103-
foreach(execid input1d_layer dense_layer conv2d_layer dense_network)
103+
foreach(execid input1d_layer dense_layer conv2d_layer maxpool2d_layer dense_network)
104104
add_executable(test_${execid} test/test_${execid}.f90)
105105
target_link_libraries(test_${execid} neural ${LIBS})
106106
add_test(test_${execid} bin/test_${execid})

test/test_maxpool2d_layer.f90

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
program test_maxpool2d_layer
2+
3+
use iso_fortran_env, only: stderr => error_unit
4+
use nf, only: maxpool2d, input, layer
5+
use nf_input3d_layer, only: input3d_layer
6+
7+
implicit none
8+
9+
type(layer) :: maxpool_layer, input_layer
10+
integer, parameter :: pool_size = 2, stride = 2
11+
real, allocatable :: sample_input(:,:,:), output(:,:,:)
12+
logical :: ok = .true.
13+
14+
maxpool_layer = maxpool2d(pool_size)
15+
16+
if (.not. maxpool_layer % name == 'maxpool2d') then
17+
ok = .false.
18+
write(stderr, '(a)') 'maxpool2d layer has its name set correctly.. failed'
19+
end if
20+
21+
if (maxpool_layer % initialized) then
22+
ok = .false.
23+
write(stderr, '(a)') 'maxpool2d layer should not be marked as initialized yet.. failed'
24+
end if
25+
26+
if (ok) then
27+
print '(a)', 'test_maxpool2d_layer: All tests passed.'
28+
else
29+
write(stderr, '(a)') 'test_maxpool2d_layer: One or more tests failed.'
30+
stop 1
31+
end if
32+
33+
end program test_maxpool2d_layer

0 commit comments

Comments
 (0)