Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
neural_filters
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
software
neural_filters
Commits
7531241e
Commit
7531241e
authored
Apr 05, 2018
by
Francois Marelli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
flexible initialization of weights
parent
7facd573
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
14 deletions
+34
-14
neural_filters/__init__.py
neural_filters/__init__.py
+2
-0
neural_filters/neural_filter.py
neural_filters/neural_filter.py
+7
-2
neural_filters/neural_filter_2CC.py
neural_filters/neural_filter_2CC.py
+21
-10
neural_filters/neural_filter_2R.py
neural_filters/neural_filter_2R.py
+4
-2
No files found.
neural_filters/__init__.py
View file @
7531241e
RANDOM_STD
=
0
from
.neural_filter
import
*
from
.neural_filter_1L
import
*
from
.neural_filter_2R
import
*
...
...
neural_filters/neural_filter.py
View file @
7531241e
...
...
@@ -30,6 +30,7 @@ from torch.nn import Parameter
from
torch.nn
import
functional
as
F
import
numpy
as
np
from
.
import
RANDOM_STD
class
NeuralFilter
(
torch
.
nn
.
Module
):
"""
...
...
@@ -49,9 +50,13 @@ class NeuralFilter(torch.nn.Module):
def
reset_parameters
(
self
,
init
=
None
):
if
init
is
None
:
self
.
bias_forget
.
data
.
uniform_
(
-
0.2
,
0.2
)
self
.
bias_forget
.
data
.
uniform_
(
-
RANDOM_STD
,
RANDOM_STD
)
else
:
self
.
bias_forget
.
data
.
fill_
(
init
)
if
not
isinstance
(
init
,
np
.
ndarray
):
init
=
np
.
array
(
init
,
ndmin
=
1
)
ten_init
=
torch
.
from_numpy
(
init
)
self
.
bias_forget
.
data
.
copy_
(
ten_init
)
def
__repr__
(
self
):
s
=
'{name}({hidden_size})'
...
...
neural_filters/neural_filter_2CC.py
View file @
7531241e
...
...
@@ -30,6 +30,8 @@ from torch.nn import Parameter
from
torch.nn
import
functional
as
F
import
numpy
as
np
from
.
import
RANDOM_STD
class
NeuralFilter2CC
(
torch
.
nn
.
Module
):
"""
...
...
@@ -48,17 +50,26 @@ class NeuralFilter2CC(torch.nn.Module):
self
.
reset_parameters
()
def
reset_parameters
(
self
,
init
=
None
):
if
init
is
None
:
self
.
bias_modulus
.
data
.
uniform_
(
-
0.2
,
0.2
)
self
.
bias_theta
.
data
.
uniform_
(
-
0.2
,
0.2
)
def
reset_parameters
(
self
,
init
_modulus
=
None
,
init_theta
=
None
):
if
init
_modulus
is
None
:
self
.
bias_modulus
.
data
.
uniform_
(
-
RANDOM_STD
,
RANDOM_STD
)
else
:
if
isinstance
(
init
,
tuple
):
self
.
bias_modulus
.
data
.
fill_
(
init
[
0
])
self
.
bias_theta
.
data
.
fill_
(
init
[
1
])
if
not
isinstance
(
init_modulus
,
np
.
ndarray
):
init_modulus
=
np
.
array
(
init_modulus
,
ndmin
=
1
)
ten_init
=
torch
.
from_numpy
(
init_modulus
)
self
.
bias_modulus
.
data
.
copy_
(
ten_init
)
if
init_theta
is
None
:
self
.
bias_theta
.
data
.
uniform_
(
-
RANDOM_STD
,
RANDOM_STD
)
else
:
self
.
bias_theta
.
data
.
fill_
(
init
)
self
.
bias_modulus
.
data
.
fill_
(
init
)
if
not
isinstance
(
init_theta
,
np
.
ndarray
):
init_theta
=
np
.
array
(
init_theta
,
ndmin
=
1
)
ten_init
=
torch
.
from_numpy
(
init_theta
)
self
.
bias_theta
.
data
.
copy_
(
ten_init
)
def
__repr__
(
self
):
s
=
'{name}({hidden_size})'
...
...
neural_filters/neural_filter_2R.py
View file @
7531241e
...
...
@@ -30,6 +30,8 @@ from . import NeuralFilter
import
torch
import
numpy
as
np
from
.
import
RANDOM_STD
class
NeuralFilter2R
(
torch
.
nn
.
Module
):
"""
...
...
@@ -50,8 +52,8 @@ class NeuralFilter2R(torch.nn.Module):
def
reset_parameters
(
self
,
init
=
None
):
if
init
is
None
:
self
.
first_cell
.
bias_forget
.
data
.
uniform_
(
-
0.
7
,
-
0.3
)
self
.
second_cell
.
bias_forget
.
data
.
uniform_
(
0.
3
,
0.7
)
self
.
first_cell
.
bias_forget
.
data
.
uniform_
(
-
0.
5
-
RANDOM_STD
,
-
0.5
+
RANDOM_STD
)
self
.
second_cell
.
bias_forget
.
data
.
uniform_
(
0.
5
-
RANDOM_STD
,
0.5
+
RANDOM_STD
)
elif
isinstance
(
init
,
tuple
):
self
.
first_cell
.
reset_parameters
(
init
[
0
])
self
.
second_cell
.
reset_parameters
(
init
[
1
])
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment