Skip to content

Commit b2073fa

Browse files
authored
Rename locally_connected1d -> locally_connected2d (#224)
1 parent 1c968ce commit b2073fa

10 files changed

+98
-98
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ add_library(neural-fortran
4343
src/nf/nf_layernorm_submodule.f90
4444
src/nf/nf_layer.f90
4545
src/nf/nf_layer_submodule.f90
46-
src/nf/nf_locally_connected1d_layer_submodule.f90
47-
src/nf/nf_locally_connected1d_layer.f90
46+
src/nf/nf_locally_connected2d_layer_submodule.f90
47+
src/nf/nf_locally_connected2d_layer.f90
4848
src/nf/nf_linear2d_layer.f90
4949
src/nf/nf_linear2d_layer_submodule.f90
5050
src/nf/nf_embedding_layer.f90

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Read the paper [here](https://arxiv.org/abs/1902.06714).
3333
| Embedding | `embedding` | n/a | 2 |||
3434
| Dense (fully-connected) | `dense` | `input1d`, `dense`, `dropout`, `flatten` | 1 |||
3535
| Dropout | `dropout` | `dense`, `flatten`, `input1d` | 1 |||
36-
| Locally connected (1-d) | `locally_connected` | `input`, `locally_connected`, `conv`, `maxpool`, `reshape` | 2 |||
36+
| Locally connected (2-d) | `locally_connected` | `input`, `locally_connected`, `conv`, `maxpool`, `reshape` | 2 |||
3737
| Convolutional (1-d and 2-d) | `conv` | `input`, `conv`, `maxpool`, `reshape` | 2, 3 |||
3838
| Max-pooling (1-d and 2-d) | `maxpool` | `input`, `conv`, `maxpool`, `reshape` | 2, 3 |||
3939
| Linear (2-d) | `linear2d` | `input2d`, `layernorm`, `linear2d`, `self_attention` | 2 |||

src/nf/nf_layer_constructors.f90

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ end function conv2d
156156

157157
interface locally_connected
158158

159-
module function locally_connected1d(filters, kernel_size, activation) result(res)
159+
module function locally_connected2d(filters, kernel_size, activation) result(res)
160160
!! 1-d locally connected network constructor
161161
!!
162162
!! This layer is for building 1-d locally connected network.
@@ -168,10 +168,10 @@ module function locally_connected1d(filters, kernel_size, activation) result(res
168168
!! Example:
169169
!!
170170
!! ```
171-
!! use nf, only :: locally_connected1d, layer
172-
!! type(layer) :: locally_connected1d_layer
173-
!! locally_connected1d_layer = dense(filters=32, kernel_size=3)
174-
!! locally_connected1d_layer = dense(filters=32, kernel_size=3, activation='relu')
171+
!! use nf, only :: locally_connected2d, layer
172+
!! type(layer) :: locally_connected2d_layer
173+
!! locally_connected2d_layer = dense(filters=32, kernel_size=3)
174+
!! locally_connected2d_layer = dense(filters=32, kernel_size=3, activation='relu')
175175
!! ```
176176
integer, intent(in) :: filters
177177
!! Number of filters in the output of the layer
@@ -181,7 +181,7 @@ module function locally_connected1d(filters, kernel_size, activation) result(res
181181
!! Activation function (default sigmoid)
182182
type(layer) :: res
183183
!! Resulting layer instance
184-
end function locally_connected1d
184+
end function locally_connected2d
185185

186186
end interface locally_connected
187187

src/nf/nf_layer_constructors_submodule.f90

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use nf_input1d_layer, only: input1d_layer
1010
use nf_input2d_layer, only: input2d_layer
1111
use nf_input3d_layer, only: input3d_layer
12-
use nf_locally_connected1d_layer, only: locally_connected1d_layer
12+
use nf_locally_connected2d_layer, only: locally_connected2d_layer
1313
use nf_maxpool1d_layer, only: maxpool1d_layer
1414
use nf_maxpool2d_layer, only: maxpool2d_layer
1515
use nf_reshape2d_layer, only: reshape2d_layer
@@ -81,15 +81,15 @@ module function conv2d(filters, kernel_width, kernel_height, activation) result(
8181

8282
end function conv2d
8383

84-
module function locally_connected1d(filters, kernel_size, activation) result(res)
84+
module function locally_connected2d(filters, kernel_size, activation) result(res)
8585
integer, intent(in) :: filters
8686
integer, intent(in) :: kernel_size
8787
class(activation_function), intent(in), optional :: activation
8888
type(layer) :: res
8989

9090
class(activation_function), allocatable :: activation_tmp
9191

92-
res % name = 'locally_connected1d'
92+
res % name = 'locally_connected2d'
9393

9494
if (present(activation)) then
9595
allocate(activation_tmp, source=activation)
@@ -101,10 +101,10 @@ module function locally_connected1d(filters, kernel_size, activation) result(res
101101

102102
allocate( &
103103
res % p, &
104-
source=locally_connected1d_layer(filters, kernel_size, activation_tmp) &
104+
source=locally_connected2d_layer(filters, kernel_size, activation_tmp) &
105105
)
106106

107-
end function locally_connected1d
107+
end function locally_connected2d
108108

109109

110110
module function dense(layer_size, activation) result(res)

src/nf/nf_layer_submodule.f90

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use nf_input1d_layer, only: input1d_layer
1010
use nf_input2d_layer, only: input2d_layer
1111
use nf_input3d_layer, only: input3d_layer
12-
use nf_locally_connected1d_layer, only: locally_connected1d_layer
12+
use nf_locally_connected2d_layer, only: locally_connected2d_layer
1313
use nf_maxpool1d_layer, only: maxpool1d_layer
1414
use nf_maxpool2d_layer, only: maxpool2d_layer
1515
use nf_reshape2d_layer, only: reshape2d_layer
@@ -52,11 +52,11 @@ pure module subroutine backward_1d(self, previous, gradient)
5252

5353
type is(flatten_layer)
5454

55-
! Upstream layers permitted: input2d, input3d, conv1d, conv2d, locally_connected1d, maxpool1d, maxpool2d
55+
! Upstream layers permitted: input2d, input3d, conv1d, conv2d, locally_connected2d, maxpool1d, maxpool2d
5656
select type(prev_layer => previous % p)
5757
type is(input2d_layer)
5858
call this_layer % backward(prev_layer % output, gradient)
59-
type is(locally_connected1d_layer)
59+
type is(locally_connected2d_layer)
6060
call this_layer % backward(prev_layer % output, gradient)
6161
type is(maxpool1d_layer)
6262
call this_layer % backward(prev_layer % output, gradient)
@@ -145,13 +145,13 @@ pure module subroutine backward_2d(self, previous, gradient)
145145
call this_layer % backward(prev_layer % output, gradient)
146146
type is(input2d_layer)
147147
call this_layer % backward(prev_layer % output, gradient)
148-
type is(locally_connected1d_layer)
148+
type is(locally_connected2d_layer)
149149
call this_layer % backward(prev_layer % output, gradient)
150150
type is(conv1d_layer)
151151
call this_layer % backward(prev_layer % output, gradient)
152152
end select
153153

154-
type is(locally_connected1d_layer)
154+
type is(locally_connected2d_layer)
155155

156156
select type(prev_layer => previous % p)
157157
type is(maxpool1d_layer)
@@ -160,7 +160,7 @@ pure module subroutine backward_2d(self, previous, gradient)
160160
call this_layer % backward(prev_layer % output, gradient)
161161
type is(input2d_layer)
162162
call this_layer % backward(prev_layer % output, gradient)
163-
type is(locally_connected1d_layer)
163+
type is(locally_connected2d_layer)
164164
call this_layer % backward(prev_layer % output, gradient)
165165
type is(conv1d_layer)
166166
call this_layer % backward(prev_layer % output, gradient)
@@ -173,7 +173,7 @@ pure module subroutine backward_2d(self, previous, gradient)
173173
call this_layer % backward(prev_layer % output, gradient)
174174
type is(reshape2d_layer)
175175
call this_layer % backward(prev_layer % output, gradient)
176-
type is(locally_connected1d_layer)
176+
type is(locally_connected2d_layer)
177177
call this_layer % backward(prev_layer % output, gradient)
178178
type is(input2d_layer)
179179
call this_layer % backward(prev_layer % output, gradient)
@@ -294,13 +294,13 @@ module subroutine forward(self, input)
294294
call this_layer % forward(prev_layer % output)
295295
end select
296296

297-
type is(locally_connected1d_layer)
297+
type is(locally_connected2d_layer)
298298

299-
! Upstream layers permitted: input2d, locally_connected1d, maxpool1d, reshape2d
299+
! Upstream layers permitted: input2d, locally_connected2d, maxpool1d, reshape2d
300300
select type(prev_layer => input % p)
301301
type is(input2d_layer)
302302
call this_layer % forward(prev_layer % output)
303-
type is(locally_connected1d_layer)
303+
type is(locally_connected2d_layer)
304304
call this_layer % forward(prev_layer % output)
305305
type is(maxpool1d_layer)
306306
call this_layer % forward(prev_layer % output)
@@ -312,11 +312,11 @@ module subroutine forward(self, input)
312312

313313
type is(conv1d_layer)
314314

315-
! Upstream layers permitted: input2d, locally_connected1d, maxpool1d, reshape2d
315+
! Upstream layers permitted: input2d, locally_connected2d, maxpool1d, reshape2d
316316
select type(prev_layer => input % p)
317317
type is(input2d_layer)
318318
call this_layer % forward(prev_layer % output)
319-
type is(locally_connected1d_layer)
319+
type is(locally_connected2d_layer)
320320
call this_layer % forward(prev_layer % output)
321321
type is(maxpool1d_layer)
322322
call this_layer % forward(prev_layer % output)
@@ -328,11 +328,11 @@ module subroutine forward(self, input)
328328

329329
type is(maxpool1d_layer)
330330

331-
! Upstream layers permitted: input1d, locally_connected1d, maxpool1d, reshape2d
331+
! Upstream layers permitted: input1d, locally_connected2d, maxpool1d, reshape2d
332332
select type(prev_layer => input % p)
333333
type is(input2d_layer)
334334
call this_layer % forward(prev_layer % output)
335-
type is(locally_connected1d_layer)
335+
type is(locally_connected2d_layer)
336336
call this_layer % forward(prev_layer % output)
337337
type is(maxpool1d_layer)
338338
call this_layer % forward(prev_layer % output)
@@ -368,7 +368,7 @@ module subroutine forward(self, input)
368368
call this_layer % forward(prev_layer % output)
369369
type is(conv2d_layer)
370370
call this_layer % forward(prev_layer % output)
371-
type is(locally_connected1d_layer)
371+
type is(locally_connected2d_layer)
372372
call this_layer % forward(prev_layer % output)
373373
type is(maxpool1d_layer)
374374
call this_layer % forward(prev_layer % output)
@@ -481,7 +481,7 @@ pure module subroutine get_output_2d(self, output)
481481
allocate(output, source=this_layer % output)
482482
type is(maxpool1d_layer)
483483
allocate(output, source=this_layer % output)
484-
type is(locally_connected1d_layer)
484+
type is(locally_connected2d_layer)
485485
allocate(output, source=this_layer % output)
486486
type is(conv1d_layer)
487487
allocate(output, source=this_layer % output)
@@ -497,7 +497,7 @@ pure module subroutine get_output_2d(self, output)
497497
allocate(output, source=this_layer % output)
498498
class default
499499
error stop '2-d output can only be read from a input2d, maxpool1d, ' &
500-
// 'locally_connected1d, conv1d, reshape2d, embedding, linear2d, ' &
500+
// 'locally_connected2d, conv1d, reshape2d, embedding, linear2d, ' &
501501
// 'self_attention, or layernorm layer.'
502502

503503
end select
@@ -549,7 +549,7 @@ impure elemental module subroutine init(self, input)
549549
self % layer_shape = shape(this_layer % output)
550550
type is(dropout_layer)
551551
self % layer_shape = shape(this_layer % output)
552-
type is(locally_connected1d_layer)
552+
type is(locally_connected2d_layer)
553553
self % layer_shape = shape(this_layer % output)
554554
type is(maxpool1d_layer)
555555
self % layer_shape = shape(this_layer % output)
@@ -611,7 +611,7 @@ elemental module function get_num_params(self) result(num_params)
611611
num_params = this_layer % get_num_params()
612612
type is (conv2d_layer)
613613
num_params = this_layer % get_num_params()
614-
type is (locally_connected1d_layer)
614+
type is (locally_connected2d_layer)
615615
num_params = this_layer % get_num_params()
616616
type is (maxpool1d_layer)
617617
num_params = 0
@@ -656,7 +656,7 @@ module function get_params(self) result(params)
656656
params = this_layer % get_params()
657657
type is (conv2d_layer)
658658
params = this_layer % get_params()
659-
type is (locally_connected1d_layer)
659+
type is (locally_connected2d_layer)
660660
params = this_layer % get_params()
661661
type is (maxpool1d_layer)
662662
! No parameters to get.
@@ -732,7 +732,7 @@ module subroutine set_params(self, params)
732732
type is (conv2d_layer)
733733
call this_layer % set_params(params)
734734

735-
type is (locally_connected1d_layer)
735+
type is (locally_connected2d_layer)
736736
call this_layer % set_params(params)
737737

738738
type is (maxpool1d_layer)
Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
module nf_locally_connected1d_layer
2-
!! This modules provides a 1-d convolutional `locally_connected1d` type.
1+
module nf_locally_connected2d_layer
2+
!! This modules provides a 1-d convolutional `locally_connected2d` type.
33

44
use nf_activation, only: activation_function
55
use nf_base_layer, only: base_layer
66
implicit none
77

88
private
9-
public :: locally_connected1d_layer
9+
public :: locally_connected2d_layer
1010

11-
type, extends(base_layer) :: locally_connected1d_layer
11+
type, extends(base_layer) :: locally_connected2d_layer
1212

1313
integer :: width
1414
integer :: height
@@ -39,43 +39,43 @@ module nf_locally_connected1d_layer
3939
procedure :: init
4040
procedure :: set_params
4141

42-
end type locally_connected1d_layer
42+
end type locally_connected2d_layer
4343

44-
interface locally_connected1d_layer
45-
module function locally_connected1d_layer_cons(filters, kernel_size, activation) &
44+
interface locally_connected2d_layer
45+
module function locally_connected2d_layer_cons(filters, kernel_size, activation) &
4646
result(res)
47-
!! `locally_connected1d_layer` constructor function
47+
!! `locally_connected2d_layer` constructor function
4848
integer, intent(in) :: filters
4949
integer, intent(in) :: kernel_size
5050
class(activation_function), intent(in) :: activation
51-
type(locally_connected1d_layer) :: res
52-
end function locally_connected1d_layer_cons
53-
end interface locally_connected1d_layer
51+
type(locally_connected2d_layer) :: res
52+
end function locally_connected2d_layer_cons
53+
end interface locally_connected2d_layer
5454

5555
interface
5656

5757
module subroutine init(self, input_shape)
5858
!! Initialize the layer data structures.
5959
!!
6060
!! This is a deferred procedure from the `base_layer` abstract type.
61-
class(locally_connected1d_layer), intent(in out) :: self
62-
!! A `locally_connected1d_layer` instance
61+
class(locally_connected2d_layer), intent(in out) :: self
62+
!! A `locally_connected2d_layer` instance
6363
integer, intent(in) :: input_shape(:)
6464
!! Input layer dimensions
6565
end subroutine init
6666

6767
pure module subroutine forward(self, input)
68-
!! Apply a forward pass on the `locally_connected1d` layer.
69-
class(locally_connected1d_layer), intent(in out) :: self
70-
!! A `locally_connected1d_layer` instance
68+
!! Apply a forward pass on the `locally_connected2d` layer.
69+
class(locally_connected2d_layer), intent(in out) :: self
70+
!! A `locally_connected2d_layer` instance
7171
real, intent(in) :: input(:,:)
7272
!! Input data
7373
end subroutine forward
7474

7575
pure module subroutine backward(self, input, gradient)
76-
!! Apply a backward pass on the `locally_connected1d` layer.
77-
class(locally_connected1d_layer), intent(in out) :: self
78-
!! A `locally_connected1d_layer` instance
76+
!! Apply a backward pass on the `locally_connected2d` layer.
77+
class(locally_connected2d_layer), intent(in out) :: self
78+
!! A `locally_connected2d_layer` instance
7979
real, intent(in) :: input(:,:)
8080
!! Input data (previous layer)
8181
real, intent(in) :: gradient(:,:)
@@ -84,50 +84,50 @@ end subroutine backward
8484

8585
pure module function get_num_params(self) result(num_params)
8686
!! Get the number of parameters in the layer.
87-
class(locally_connected1d_layer), intent(in) :: self
88-
!! A `locally_connected1d_layer` instance
87+
class(locally_connected2d_layer), intent(in) :: self
88+
!! A `locally_connected2d_layer` instance
8989
integer :: num_params
9090
!! Number of parameters
9191
end function get_num_params
9292

9393
module function get_params(self) result(params)
9494
!! Return the parameters (weights and biases) of this layer.
9595
!! The parameters are ordered as weights first, biases second.
96-
class(locally_connected1d_layer), intent(in), target :: self
97-
!! A `locally_connected1d_layer` instance
96+
class(locally_connected2d_layer), intent(in), target :: self
97+
!! A `locally_connected2d_layer` instance
9898
real, allocatable :: params(:)
9999
!! Parameters to get
100100
end function get_params
101101

102102
module subroutine get_params_ptr(self, w_ptr, b_ptr)
103-
class(locally_connected1d_layer), intent(in), target :: self
103+
class(locally_connected2d_layer), intent(in), target :: self
104104
real, pointer, intent(out) :: w_ptr(:)
105105
real, pointer, intent(out) :: b_ptr(:)
106106
end subroutine get_params_ptr
107107

108108
module function get_gradients(self) result(gradients)
109109
!! Return the gradients of this layer.
110110
!! The gradients are ordered as weights first, biases second.
111-
class(locally_connected1d_layer), intent(in), target :: self
112-
!! A `locally_connected1d_layer` instance
111+
class(locally_connected2d_layer), intent(in), target :: self
112+
!! A `locally_connected2d_layer` instance
113113
real, allocatable :: gradients(:)
114114
!! Gradients to get
115115
end function get_gradients
116116

117117
module subroutine get_gradients_ptr(self, dw_ptr, db_ptr)
118-
class(locally_connected1d_layer), intent(in), target :: self
118+
class(locally_connected2d_layer), intent(in), target :: self
119119
real, pointer, intent(out) :: dw_ptr(:)
120120
real, pointer, intent(out) :: db_ptr(:)
121121
end subroutine get_gradients_ptr
122122

123123
module subroutine set_params(self, params)
124124
!! Set the parameters of the layer.
125-
class(locally_connected1d_layer), intent(in out) :: self
126-
!! A `locally_connected1d_layer` instance
125+
class(locally_connected2d_layer), intent(in out) :: self
126+
!! A `locally_connected2d_layer` instance
127127
real, intent(in) :: params(:)
128128
!! Parameters to set
129129
end subroutine set_params
130130

131131
end interface
132132

133-
end module nf_locally_connected1d_layer
133+
end module nf_locally_connected2d_layer

0 commit comments

Comments
 (0)