Caffe2 - Python API
A deep learning, cross platform ML framework
Packages
Classes
Files
C++ API
Python API
GitHub
File List
caffe2
python
modeling
parameter_info.py
1
from
__future__
import
absolute_import
2
from
__future__
import
division
3
from
__future__
import
print_function
4
from
__future__
import
unicode_literals
5
6
from
caffe2.python
import
core
7
8
import
numpy
as
np
9
10
11
class
ParameterTags
(object):
12
BIAS =
'BIAS'
13
WEIGHT =
'WEIGHT'
14
COMPUTED_PARAM =
'COMPUTED_PARAM'
15
16
17
class
ParameterType
(object):
18
DENSE =
'dense'
19
SPARSE =
'sparse'
20
21
22
class
ParameterInfo
(object):
23
24
def
__init__(
25
self, param_id, param, key=
None
, shape=
None
, length=
None
,
26
grad=
None
, blob_copy=
None
):
27
assert
isinstance(param,
core.BlobReference
)
28
self.
param_id
= param_id
29
self.
name
= str(param)
30
self.
blob
= param
31
self.
key
= key
32
self.
shape
= shape
33
self.
size
=
None
if
shape
is
None
else
np.prod(shape)
34
self.
length
= max(1, length
if
length
is
not
None
else
1)
35
self.
grad
= grad
36
self.
_cloned_init_net
=
None
37
# Optionally store equivalent copies of the blob
38
# in different precisions (i.e. half and float copies)
39
# stored as a dict of TensorProto.DataType -> BlobReference
40
self.
blob_copy
= blob_copy
41
# each param_info can have its own optimizer. It can be set within
42
# OptimizerContext (caffe2/python/optimizer.py)
43
self.
_optimizer
=
None
44
45
def
grad_type(self):
46
# self.grad could be None for model parallelism with parameter server
47
if
self.
grad
is
None
:
48
return
49
return
(
50
ParameterType.SPARSE
if
isinstance(self.
grad
, core.GradientSlice)
51
else
ParameterType.DENSE)
52
53
@property
54
def
parameter(self):
55
return
self.
blob
56
57
@property
58
def
optimizer
(self):
59
return
self.
_optimizer
60
61
@optimizer.setter
62
def
optimizer
(self, value):
63
assert
self.
_optimizer
is
None
,
"optimizer has already been set"
64
self.
_optimizer
= value
65
66
def
__str__(self):
67
return
self.
name
caffe2.python.modeling.parameter_info.ParameterInfo.key
key
Definition:
parameter_info.py:31
caffe2.python.modeling.parameter_info.ParameterInfo.name
name
Definition:
parameter_info.py:29
optimizer
Module caffe2.python.optimizer.
caffe2.python.modeling.parameter_info.ParameterInfo._optimizer
_optimizer
Definition:
parameter_info.py:43
caffe2.python.modeling.parameter_info.ParameterInfo
Definition:
parameter_info.py:22
caffe2.python.modeling.parameter_info.ParameterInfo.shape
shape
Definition:
parameter_info.py:32
caffe2.python.modeling.parameter_info.ParameterType
Definition:
parameter_info.py:17
caffe2.python
Definition:
__init__.py:1
caffe2.python.modeling.parameter_info.ParameterInfo.size
size
Definition:
parameter_info.py:33
caffe2.python.modeling.parameter_info.ParameterTags
Definition:
parameter_info.py:11
caffe2.python.modeling.parameter_info.ParameterInfo.length
length
Definition:
parameter_info.py:34
caffe2.python.modeling.parameter_info.ParameterInfo.blob_copy
blob_copy
Definition:
parameter_info.py:40
caffe2.python.core.BlobReference
Definition:
core.py:148
caffe2.python.modeling.parameter_info.ParameterInfo.blob
blob
Definition:
parameter_info.py:30
caffe2.python.modeling.parameter_info.ParameterInfo._cloned_init_net
_cloned_init_net
Definition:
parameter_info.py:36
caffe2.python.modeling.parameter_info.ParameterInfo.grad
grad
Definition:
parameter_info.py:35
caffe2.python.modeling.parameter_info.ParameterInfo.param_id
param_id
Definition:
parameter_info.py:28
Generated on Thu Apr 19 2018 13:04:04 for Caffe2 - Python API by
1.8.11