예제 #1
0
파일: variables.py 프로젝트: Microsoft/CNTK
    def __init__(self, shape=None, dtype=None, needs_gradient=False, is_sparse=False,
                 dynamic_axes=[cntk_py.Axis.default_dynamic_axis(), cntk_py.Axis.default_batch_axis()], name=''):
        shape = utils.sanitize_shape(shape)

        if dtype is None:
            dtype = np.float32
        dtype = utils.sanitize_dtype_cntk(dtype)

        super(Variable, self).__init__(shape, is_sparse, dtype, needs_gradient, name,
                         dynamic_axes)
예제 #2
0
파일: variables.py 프로젝트: Microsoft/CNTK
    def __init__(self, value=None, shape=None, dtype=None, device=None, name=''):

        if dtype is None:
            if isinstance(value, np.ndarray):
                dtype = value.dtype
            else:
                dtype = np.float32

        if np.isscalar(value):
            super(Constant, self).__init__(utils.sanitize_shape(shape), sanitize_dtype_cntk(dtype), value)
        else:
            ndav = sanitize_value(shape, value, dtype, device)
            super(Constant, self).__init__(ndav, name)
예제 #3
0
파일: variables.py 프로젝트: yzhang87/CNTK
    def __init__(self, shape=None, init=None, data_type=None, device=None, name=""):

        if data_type is None:
            if not isinstance(init, np.ndarray):
                data_type = FLOAT_32
            else:
                data_type = str(init.dtype)

        if init is None:
            init = 0

        if isinstance(init, (np.ndarray, list, float, int)):
            ndav = _sanitize_value(shape, init, data_type, device)
            super(Parameter, self).__init__(ndav, name)
        else:
            shape = utils.sanitize_shape(shape)
            data_type = utils.sanitize_dtype_cntk(data_type)
            super(Parameter, self).__init__(shape, data_type, init, device, name)
예제 #4
0
파일: variables.py 프로젝트: yzhang87/CNTK
def _sanitize_value(shape, value, dtype, device):
    np_dtype = utils.sanitize_dtype_numpy(dtype)
    cntk_dtype = utils.sanitize_dtype_cntk(dtype)

    if value is None:
        if shape is None:
            raise ValueError("you need to specify at least shape or value")
        shape = utils.sanitize_shape(shape)
        ndav = utils.create_NDArrayView(shape, cntk_dtype, device)
    else:
        if not isinstance(value, np.ndarray) or value.dtype != np_dtype:
            if np.isscalar(value) and shape:
                value = np.full(shape, value, dtype=np_dtype)
            else:
                value = np.asarray(value, dtype=np_dtype)

        ndav = utils.create_NDArrayView_from_NumPy(value, device)

    return ndav
예제 #5
0
    def __init__(self, shape=None, init=None, dtype=None,
                 device=None, name=''):

        if dtype is None:
            if isinstance(init, np.ndarray):
                dtype = init.dtype
            else:
                dtype = np.float32

        if init is None:
            init = 0

        if isinstance(init, (np.ndarray, list, float, int)):
            ndav = sanitize_value(shape, init, dtype, device)
            super(Parameter, self).__init__(ndav, name)
        else:
            shape = utils.sanitize_shape(shape)
            cntk_dtype = utils.sanitize_dtype_cntk(dtype)
            super(Parameter, self).__init__(shape, cntk_dtype, init,
                    device, name)
예제 #6
0
    def __init__(self,
                 shape=None,
                 init=None,
                 data_type=None,
                 device=None,
                 name=''):

        if data_type is None:
            if not isinstance(init, np.ndarray):
                data_type = FLOAT_32
            else:
                data_type = str(init.dtype)

        if init is None:
            init = 0

        if isinstance(init, (np.ndarray, list, float, int)):
            ndav = _sanitize_value(shape, init, data_type, device)
            super(Parameter, self).__init__(ndav, name)
        else:
            shape = utils.sanitize_shape(shape)
            data_type = utils.sanitize_dtype_cntk(data_type)
            super(Parameter, self).__init__(shape, data_type, init, device,
                                            name)