def create_filter_descriptor(arr, mode=cudnn.CUDNN_CROSS_CORRELATION): desc = Descriptor(cudnn.createFilterDescriptor(), cudnn.destroyFilterDescriptor) data_type = get_data_type(arr.dtype) if arr.ndim == 4: cudnn.setFilter4dDescriptor(desc.value, data_type, *arr.shape) else: c_shape = _to_ctypes_array(arr.shape) cudnn.setFilterNdDescriptor(desc.value, data_type, arr.ndim, c_shape.data) return desc
def create_filter_descriptor(arr, mode=cudnn.CUDNN_CROSS_CORRELATION): desc = Descriptor(cudnn.createFilterDescriptor(), cudnn.destroyFilterDescriptor) data_type = get_data_type(arr.dtype) if arr.ndim == 4: cudnn.setFilter4dDescriptor(desc.value, data_type, *arr.shape) else: cudnn.setFilterNdDescriptor(desc.value, data_type, arr.ndim, _to_ctypes_array(arr.shape)) return desc