示例#1
0
    self.contents.floatSize = value


def _setIntSize(self, value):
    self.contents.intSize = value


def _setTensors(self, value):
    self.contents.tensors = value


def _setFloats(self, value):
    self.contents.floats = value


def _setInts(self, value):
    self.contents.ints = value


ExtraData = POINTER(_ExtraData)
ExtraData.__doc__ = " cnn_ExtraData 구조체의 포인터에 프로퍼티와 메소드를 추가한 클래스입니다."

ExtraData.tensorSize = property(_getTensorSize, _setTensorSize)
ExtraData.floatSize = property(_getFloatSize, _setFloatSize)
ExtraData.intSize = property(_getIntSize, _setIntSize)
ExtraData.tensors = property(_getTensors, _setTensors)
ExtraData.floats = property(_getFloats, _setFloats)
ExtraData.ints = property(_getInts, _setInts)
ExtraData.create = staticmethod(_create)
ExtraData.release = _release
示例#2
0
lib.cnn_layer_update.argtypes = (POINTER(_Layer), Optimizer, c_int, c_int)
lib.cnn_layer_update.restype = POINTER(_Layer)
lib.cnn_layer_initUpdate.argtypes = (POINTER(_Layer), Optimizer)
lib.cnn_layer_initUpdate.restype = POINTER(_Layer)
lib.cnn_layer_getLeftTerminal.argtypes = [POINTER(_Layer)]
lib.cnn_layer_getLeftTerminal.restype = POINTER(_Layer)
lib.cnn_layer_getRightTerminal.argtypes = [POINTER(_Layer)]
lib.cnn_layer_getRightTerminal.restype = POINTER(_Layer)
lib.cnn_layer_link.argtypes = [POINTER(_Layer), POINTER(_Layer)]
lib.cnn_layer_link.restype = c_int
lib.cnn_layer_setLearningData.argtypes = [POINTER(_Layer), POINTER(_Layer)]
lib.cnn_layer_setLearningData.restype = POINTER(_Layer)


Layer = POINTER(_Layer)
Layer.__doc__ = " cnn_Layer 구조체의 포인터에 프로퍼티와 메소드를 추가한 클래스입니다. Layer.create 정젹 변수로 생성하여 사용하세요."
Layer.create = staticmethod(_create)
Layer.release = _release_deep
Layer.forward = _forward
Layer.backward = _backward
Layer.initForward = _initForward
Layer.initBackward = _initBackward
Layer.update = _update
Layer.initUpdate = _initUpdate
Layer.getLeftTerminal = _getLeftTerminal
Layer.getRightTerminal = _getRightTerminal
Layer.link = _link
Layer.setLearningData = _setLearningData


Layer.name = property(_getName, _setName)
示例#3
0
def _create(learning_rate, update, initUpdate):
    return lib.cnn_create_optimizer(learning_rate, update, initUpdate)


def _release(self):
    lib.cnn_release_optimizer(self)


cnn_optimizer_callback_update = CFUNCTYPE(None, POINTER(_Optimizer),
                                          UpdateList, c_int, c_int)
cnn_optimizer_callback_initUpdate = CFUNCTYPE(None, POINTER(_Optimizer),
                                              UpdateList)

lib.cnn_optimizer_update.argtypes = (POINTER(_Optimizer), UpdateList)
lib.cnn_optimizer_initUpdate.argtypes = [POINTER(_Optimizer), UpdateList]

lib.cnn_create_optimizer.argtypes = (c_int, cnn_optimizer_callback_update,
                                     cnn_optimizer_callback_initUpdate)
lib.cnn_create_optimizer.restype = POINTER(_Optimizer)
lib.cnn_release_optimizer.argtypes = [POINTER(_Optimizer)]

Optimizer = POINTER(_Optimizer)
Optimizer.__doc__ = " cnn_Optimizer 구조체의 포인터에 프로퍼티와 메소드를 추가한 클래스입니다."
Optimizer.learning_raate = property(_getLearningRate, _setLearningRate)
Optimizer._update = property(_getUpdate, _setUpdate)
Optimizer.create = staticmethod(_create)
Optimizer.release = _release
Optimizer.update = _update
Optimizer.initUpdate = _initUpdate
示例#4
0
        lib.cnn_release_updateset(self)
    del self # 검증 안됨

def _getDelta(self):
    return self.contents.delta

def _getValue(self):
    return self.contents.value

def _getMomnt(self):
    return self.contents.momnt

def _setDelta(self, value):
    self.contents.delta = value

def _setValue(self, value):
    self.contents.value = value

def _setMomnt(self, value):
    self.contents.momnt = value


UpdateSet = POINTER(_UpdateSet)
UpdateSet.__doc__ = "cnn_UpdateSet 구조체의 포인터에 프로퍼티와 메소드를 추가한 클래스입니다."
UpdateSet.delta = property(_getDelta, _setDelta)
UpdateSet.value = property(_getValue, _setValue)
UpdateSet.momnt = property(_getMomnt, _setMomnt)
UpdateSet.create = staticmethod(_create)
UpdateSet.release = _release

示例#5
0
def _release_deep(pUpdateList):
    lib.cnn_release_updatelist_deep(pUpdateList)


def _getSets(self):
    return self.contents.sets


def _getSetSize(self):
    return self.contents.setSize


def _setSets(self, value):
    self.contents.sets = value


def _setSetSize(self, value):
    self.contents.setSize = value


lib.cnn_create_updatelist.argtypes = [c_int]
lib.cnn_create_updatelist.restype = POINTER(_UpdateList)
lib.cnn_release_updatelist_deep.argtypes = [POINTER(_UpdateList)]

UpdateList = POINTER(_UpdateList)
UpdateList.__doc__ = 'cnn_UpdateList의 구조체 포인터인 클래스로, 프로퍼티와 메소드를 제공합니다.'
UpdateList.sets = property(_getSets, _setSets)
UpdateList.setSize = property(_getSetSize, _setSetSize)
UpdateList.create = staticmethod(_create)
UpdateList._release = _release_deep
示例#6
0
    c_scalas = (c_float * len(scalas32f))(scalas32f)
    c_shapes = (c_int * len(shape))
    if (deep):
        return lib.tensor_create_nonstruct_deep(c_scalas, len(scalas32f),
                                                c_shapes, len(shape))
    else:
        return lib.tensor_create_nonstruct(c_scalas, len(scalas32f), c_shapes,
                                           len(shape))


def _release_deep(self):
    lib.tensor_release_deep(self)
    del self  # 검증 안됨


def _referTo(self, tensor):
    lib.tensor_referTo(self, tensor)
    return self


Tensor = POINTER(_Tensor)
Tensor.__doc__ = "텐서 구조체 포인터에 프로퍼티와 메소드를 추가한 클래스입니다."
Tensor.numpy2Tensor = staticmethod(_numpy2Tensor)
Tensor.release_deep = _release_deep
Tensor.referTo = _referTo
Tensor.create = staticmethod(_create)
Tensor.size = property(_getSize, _setSize)
Tensor.dim = property(_getDim, _setDim)
Tensor.scalas = property(_getScalas, _setScalas)
Tensor.shapes = property(_getShapes, _setShapes)