diff --git a/arrayfire/__init__.py b/arrayfire/__init__.py index 5708805f3..595d9615c 100644 --- a/arrayfire/__init__.py +++ b/arrayfire/__init__.py @@ -1,5 +1,5 @@ ####################################################### -# Copyright (c) 2019, ArrayFire +# Copyright (c) 2020, ArrayFire # All rights reserved. # # This file is distributed under 3-clause BSD license. @@ -48,150 +48,408 @@ """ -from .algorithm import ( - accum, all_true, allTrueByKey, any_true, anyTrueByKey, count, countByKey, diff1, diff2, imax, imin, max, maxByKey, min, minByKey, product, productByKey, scan, scan_by_key, set_intersect, - set_union, set_unique, sort, sort_by_key, sort_index, sum, sumByKey, where) -from .arith import ( - abs, acos, acosh, arg, asin, asinh, atan, atan2, atanh, cast, cbrt, ceil, clamp, conjg, cos, cosh, cplx, erf, erfc, exp, - expm1, factorial, floor, hypot, imag, isinf, isnan, iszero, lgamma, log, log1p, log2, log10, maxof, minof, - mod, pow, - pow2, real, rem, root, round, rsqrt, sigmoid, sign, sin, sinh, sqrt, tan, tanh, tgamma, trunc) -from .array import ( - Array, constant_array, display, get_display_dims_limit, read_array, save_array, - set_display_dims_limit, transpose, transpose_inplace) -from .base import BaseArray -from .bcast import broadcast -from .blas import dot, matmul, matmulNT, matmulTN, matmulTT, gemm -from .cuda import get_native_id, get_stream, set_native_id -from .data import ( - constant, diag, flat, flip, identity, iota, join, lookup, lower, moddims, pad, range, reorder, replace, select, shift, - tile, upper) -from .library import ( - BACKEND, BINARYOP, CANNY_THRESHOLD, COLORMAP, CONNECTIVITY, CONV_DOMAIN, CONV_GRADIENT, CONV_MODE, CSPACE, DIFFUSION, ERR, FLUX, - HOMOGRAPHY, IMAGE_FORMAT, INTERP, ITERATIVE_DECONV, INVERSE_DECONV, MARKER, MATCH, MATPROP, MOMENT, NORM, PAD, RANDOM_ENGINE, STORAGE, TOPK, VARIANCE, YCC_STD, Dtype, Source, AF_VER_MAJOR, FORGE_VER_MAJOR) -from .device import ( - alloc_device, alloc_host, alloc_pinned, device_gc, device_info, device_mem_info, eval, free_device, free_host, - free_pinned, get_device, get_device_count, get_device_ptr, get_manual_eval_flag, info, - info_str, init, is_dbl_supported, is_half_supported, is_locked_array, lock_array, lock_device_ptr, print_mem_info, set_device, - set_manual_eval_flag, sync, unlock_array, unlock_device_ptr) -from .graphics import Window -from .image import ( - anisotropic_diffusion, bilateral, canny, color_space, confidenceCC, dilate, dilate3, erode, erode3, gaussian_kernel, gradient, - gray2rgb, hist_equal, histogram, hsv2rgb, is_image_io_available, iterativeDeconv, inverseDeconv, load_image, load_image_native, maxfilt, - mean_shift, minfilt, moments, regions, resize, rgb2gray, rgb2hsv, rgb2ycbcr, rotate, sat, save_image, - save_image_native, scale, skew, sobel_derivatives, sobel_filter, transform, translate, unwrap, wrap, ycbcr2rgb) -from .index import Index, ParallelRange, Seq -from .interop import AF_NUMBA_FOUND, AF_NUMPY_FOUND, AF_PYCUDA_FOUND, AF_PYOPENCL_FOUND, to_array -from .lapack import ( - cholesky, cholesky_inplace, det, inverse, is_lapack_available, lu, lu_inplace, norm, pinverse, qr, qr_inplace, rank, solve, - solve_lu, svd, svd_inplace) -from .library import ( - get_active_backend, get_available_backends, get_backend, get_backend_count, get_backend_id, get_device_id, - get_size_of, safe_call, set_backend) -from .ml import convolve2GradientNN -from .random import ( - Random_Engine, get_default_random_engine, get_seed, randn, randu, set_default_random_engine_type, - set_seed) -from .signal import ( - approx1, approx1_uniform, approx2, approx2_uniform, convolve, convolve1, convolve2, convolve2NN, convolve2_separable, convolve3, dft, fft, fft2, fft2_c2r, - fft2_inplace, fft2_r2c, fft3, fft3_c2r, fft3_inplace, fft3_r2c, fft_c2r, fft_convolve, fft_convolve1, - fft_convolve2, fft_convolve3, fft_inplace, fft_r2c, fir, idft, ifft, ifft2, ifft2_inplace, ifft3, ifft3_inplace, - ifft_inplace, iir, medfilt, medfilt1, medfilt2, set_fft_plan_cache_size) -from .sparse import ( - convert_sparse, convert_sparse_to_dense, create_sparse, create_sparse_from_dense, create_sparse_from_host, - sparse_get_col_idx, sparse_get_info, sparse_get_nnz, sparse_get_row_idx, sparse_get_storage, sparse_get_values) -from .statistics import corrcoef, cov, mean, meanvar, median, stdev, topk, var -from .timer import timeit -from .util import dim4, dim4_to_tuple, implicit_dtype, number_dtype, to_str, get_reversion, get_version, to_dtype, to_typecode, to_c_type +# ============================================================================= +# Algorithm module +# ============================================================================= +from .algorithm import accum # noqa : E401 +from .algorithm import all_true # noqa : E401 +from .algorithm import allTrueByKey # noqa : E401 +from .algorithm import any_true # noqa : E401 +from .algorithm import anyTrueByKey # noqa : E401 +from .algorithm import count # noqa : E401 +from .algorithm import countByKey # noqa : E401 +from .algorithm import diff1 # noqa : E401 +from .algorithm import diff2 # noqa : E401 +from .algorithm import imax # noqa : E401 +from .algorithm import imin # noqa : E401 +from .algorithm import max # noqa : E401 # FIXME: do not use python reserved variable names +from .algorithm import maxByKey # noqa : E401 +from .algorithm import min # noqa : E401 # FIXME: do not use python reserved variable names +from .algorithm import minByKey # noqa : E401 +from .algorithm import product # noqa : E401 +from .algorithm import productByKey # noqa : E401 +from .algorithm import scan # noqa : E401 +from .algorithm import scan_by_key # noqa : E401 +from .algorithm import set_intersect # noqa : E401 +from .algorithm import set_union # noqa : E401 +from .algorithm import set_unique # noqa : E401 +from .algorithm import sort # noqa : E401 +from .algorithm import sort_by_key # noqa : E401 +from .algorithm import sort_index # noqa : E401 +from .algorithm import sum # noqa : E401 # FIXME: do not use python reserved variable names +from .algorithm import sumByKey # noqa : E401 +from .algorithm import where # noqa : E401 +# ============================================================================= +# Arith module +# ============================================================================= +from .arith import abs # noqa : E401 # FIXME: do not use python reserved variable names +from .arith import acos # noqa : E401 +from .arith import acosh # noqa : E401 +from .arith import arg # noqa : E401 +from .arith import asin # noqa : E401 +from .arith import asinh # noqa : E401 +from .arith import atan # noqa : E401 +from .arith import atan2 # noqa : E401 +from .arith import atanh # noqa : E401 +from .arith import cast # noqa : E401 +from .arith import cbrt # noqa : E401 +from .arith import ceil # noqa : E401 +from .arith import clamp # noqa : E401 +from .arith import conjg # noqa : E401 +from .arith import cos # noqa : E401 +from .arith import cosh # noqa : E401 +from .arith import cplx # noqa : E401 +from .arith import erf # noqa : E401 +from .arith import erfc # noqa : E401 +from .arith import exp # noqa : E401 +from .arith import expm1 # noqa : E401 +from .arith import factorial # noqa : E401 +from .arith import floor # noqa : E401 +from .arith import hypot # noqa : E401 +from .arith import imag # noqa : E401 +from .arith import isinf # noqa : E401 +from .arith import isnan # noqa : E401 +from .arith import iszero # noqa : E401 +from .arith import lgamma # noqa : E401 +from .arith import log # noqa : E401 +from .arith import log1p # noqa : E401 +from .arith import log2 # noqa : E401 +from .arith import log10 # noqa : E401 +from .arith import maxof # noqa : E401 +from .arith import minof # noqa : E401 +from .arith import mod # noqa : E401 +from .arith import pow # noqa : E401 # FIXME: do not use python reserved variable names +from .arith import pow2 # noqa : E401 +from .arith import real # noqa : E401 +from .arith import rem # noqa : E401 +from .arith import root # noqa : E401 +from .arith import round # noqa : E401 # FIXME: do not use python reserved variable names +from .arith import rsqrt # noqa : E401 +from .arith import sigmoid # noqa : E401 +from .arith import sign # noqa : E401 +from .arith import sin # noqa : E401 +from .arith import sinh # noqa : E401 +from .arith import sqrt # noqa : E401 +from .arith import tan # noqa : E401 +from .arith import tanh # noqa : E401 +from .arith import tgamma # noqa : E401 +from .arith import trunc # noqa : E401 +# ============================================================================= +# Array module +# ============================================================================= +from .array import Array # noqa : E401 +from .array import constant_array # noqa : E401 +from .array import display # noqa : E401 +from .array import get_display_dims_limit # noqa : E401 +from .array import read_array # noqa : E401 +from .array import save_array # noqa : E401 +from .array import set_display_dims_limit # noqa : E401 +from .array import transpose # noqa : E401 +from .array import transpose_inplace # noqa : E401 +# ============================================================================= +# Base module +# ============================================================================= +from .base import BaseArray # noqa : E401 +# ============================================================================= +# Bcast module +# ============================================================================= +from .bcast import broadcast # noqa : E401 +# ============================================================================= +# Blas module +# ============================================================================= +from .blas import dot # noqa : E401 +from .blas import gemm # noqa : E401 +from .blas import matmul # noqa : E401 +from .blas import matmulNT # noqa : E401 +from .blas import matmulTN # noqa : E401 +from .blas import matmulTT # noqa : E401 +# ============================================================================= +# Cuda module +# ============================================================================= +from .cuda import get_native_id # noqa : E401 +from .cuda import get_stream # noqa : E401 +from .cuda import set_native_id # noqa : E401 +# ============================================================================= +# Data module +# ============================================================================= +from .data import constant # noqa : E401 +from .data import diag # noqa : E401 +from .data import flat # noqa : E401 +from .data import flip # noqa : E401 +from .data import identity # noqa : E401 +from .data import iota # noqa : E401 +from .data import join # noqa : E401 +from .data import lookup # noqa : E401 +from .data import lower # noqa : E401 +from .data import moddims # noqa : E401 +from .data import pad # noqa : E401 +from .data import range # noqa : E401 # FIXME: do not use python reserved variable names +from .data import reorder # noqa : E401 +from .data import replace # noqa : E401 +from .data import select # noqa : E401 +from .data import shift # noqa : E401 +from .data import tile # noqa : E401 +from .data import upper # noqa : E401 +# ============================================================================= +# Device module +# ============================================================================= +from .device import alloc_device # noqa : E401 +from .device import alloc_host # noqa : E401 +from .device import alloc_pinned # noqa : E401 +from .device import device_gc # noqa : E401 +from .device import device_info # noqa : E401 +from .device import device_mem_info # noqa : E401 +from .device import eval # noqa : E401 # FIXME: do not use python reserved variable names +from .device import free_device # noqa : E401 +from .device import free_host # noqa : E401 +from .device import free_pinned # noqa : E401 +from .device import get_device # noqa : E401 +from .device import get_device_count # noqa : E401 +from .device import get_device_ptr # noqa : E401 +from .device import get_manual_eval_flag # noqa : E401 +from .device import info # noqa : E401 +from .device import info_str # noqa : E401 +from .device import init # noqa : E401 +from .device import is_dbl_supported # noqa : E401 +from .device import is_half_supported # noqa : E401 +from .device import is_locked_array # noqa : E401 +from .device import lock_array # noqa : E401 +from .device import lock_device_ptr # noqa : E401 +from .device import print_mem_info # noqa : E401 +from .device import set_device # noqa : E401 +from .device import set_manual_eval_flag # noqa : E401 +from .device import sync # noqa : E401 +from .device import unlock_array # noqa : E401 +from .device import unlock_device_ptr # noqa : E401 +# ============================================================================= +# Graphics module +# ============================================================================= +from .graphics import Window # noqa : E401 +# ============================================================================= +# Image module +# ============================================================================= +from .image import ITERATIVE_DECONV # noqa : E401 +from .image import anisotropic_diffusion # noqa : E401 +from .image import bilateral # noqa : E401 +from .image import canny # noqa : E401 +from .image import color_space # noqa : E401 +from .image import confidenceCC # noqa : E401 +from .image import dilate # noqa : E401 +from .image import dilate3 # noqa : E401 +from .image import erode # noqa : E401 +from .image import erode3 # noqa : E401 +from .image import gaussian_kernel # noqa : E401 +from .image import gradient # noqa : E401 +from .image import gray2rgb # noqa : E401 +from .image import hist_equal # noqa : E401 +from .image import histogram # noqa : E401 +from .image import hsv2rgb # noqa : E401 +from .image import is_image_io_available # noqa : E401 +from .image import inverseDeconv # noqa : E401 +from .image import iterativeDeconv # noqa : E401 +from .image import load_image # noqa : E401 +from .image import load_image_native # noqa : E401 +from .image import maxfilt # noqa : E401 +from .image import mean_shift # noqa : E401 +from .image import minfilt # noqa : E401 +from .image import moments # noqa : E401 +from .image import regions # noqa : E401 +from .image import resize # noqa : E401 +from .image import rgb2gray # noqa : E401 +from .image import rgb2hsv # noqa : E401 +from .image import rgb2ycbcr # noqa : E401 +from .image import rotate # noqa : E401 +from .image import sat # noqa : E401 +from .image import save_image # noqa : E401 +from .image import save_image_native # noqa : E401 +from .image import scale # noqa : E401 +from .image import skew # noqa : E401 +from .image import sobel_derivatives # noqa : E401 +from .image import sobel_filter # noqa : E401 +from .image import transform # noqa : E401 +from .image import translate # noqa : E401 +from .image import unwrap # noqa : E401 +from .image import wrap # noqa : E401 +from .image import ycbcr2rgb # noqa : E401 +# ============================================================================= +# Index module +# ============================================================================= +from .index import Index # noqa : E401 +from .index import ParallelRange # noqa : E401 +from .index import Seq # noqa : E401 +# ============================================================================= +# Interop module +# ============================================================================= +from .interop import AF_NUMBA_FOUND # noqa : E401 +from .interop import AF_NUMPY_FOUND # noqa : E401 +from .interop import AF_PYCUDA_FOUND # noqa : E401 +from .interop import AF_PYOPENCL_FOUND # noqa : E401 +from .interop import to_array # noqa : E401 +# ============================================================================= +# Lapack module +# ============================================================================= +from .lapack import cholesky # noqa : E401 +from .lapack import cholesky_inplace # noqa : E401 +from .lapack import det # noqa : E401 +from .lapack import inverse # noqa : E401 +from .lapack import is_lapack_available # noqa : E401 +from .lapack import lu # noqa : E401 +from .lapack import lu_inplace # noqa : E401 +from .lapack import norm # noqa : E401 +from .lapack import pinverse # noqa : E401 +from .lapack import qr # noqa : E401 +from .lapack import qr_inplace # noqa : E401 +from .lapack import rank # noqa : E401 +from .lapack import solve # noqa : E401 +from .lapack import solve_lu # noqa : E401 +from .lapack import svd # noqa : E401 +from .lapack import svd_inplace # noqa : E401 +# ============================================================================= +# Library module +# ============================================================================= +from .library import AF_VER_MAJOR # noqa : E401 +from .library import BACKEND # noqa : E401 +from .library import BINARYOP # noqa : E401 +from .library import CANNY_THRESHOLD # noqa : E401 +from .library import COLORMAP # noqa : E401 +from .library import CONNECTIVITY # noqa : E401 +from .library import CONV_DOMAIN # noqa : E401 +from .library import CONV_GRADIENT # noqa : E401 +from .library import CONV_MODE # noqa : E401 +from .library import CSPACE # noqa : E401 +from .library import DIFFUSION # noqa : E401 +from .library import ERR # noqa : E401 +from .library import FLUX # noqa : E401 +from .library import FORGE_VER_MAJOR # noqa : E401 +from .library import HOMOGRAPHY # noqa : E401 +from .library import IMAGE_FORMAT # noqa : E401 +from .library import INTERP # noqa : E401 +from .library import INVERSE_DECONV # noqa : E401 +from .library import ITERATIVE_DECONV # noqa : E401 +from .library import MARKER # noqa : E401 +from .library import MATCH # noqa : E401 +from .library import MATPROP # noqa : E401 +from .library import MOMENT # noqa : E401 +from .library import NORM # noqa : E401 +from .library import PAD # noqa : E401 +from .library import RANDOM_ENGINE # noqa : E401 +from .library import STORAGE # noqa : E401 +from .library import TOPK # noqa : E401 +from .library import VARIANCE # noqa : E401 +from .library import YCC_STD # noqa : E401 +from .library import Dtype # noqa : E401 +from .library import Source # noqa : E401 +from .library import get_active_backend # noqa : E401 +from .library import get_available_backends # noqa : E401 +from .library import get_backend # noqa : E401 +from .library import get_backend_count # noqa : E401 +from .library import get_backend_id # noqa : E401 +from .library import get_device_id # noqa : E401 +from .library import get_size_of # noqa : E401 +from .library import safe_call # noqa : E401 +from .library import set_backend # noqa : E401 +# ============================================================================= +# Machine Learning (ML) module +# ============================================================================= +from .ml import convolve2GradientNN # noqa : E401 +# ============================================================================= +# Random module +# ============================================================================= +from .random import Random_Engine # noqa : E401 +from .random import get_default_random_engine # noqa : E401 +from .random import get_seed # noqa : E401 +from .random import randn # noqa : E401 +from .random import randu # noqa : E401 +from .random import set_default_random_engine_type # noqa : E401 +from .random import set_seed # noqa : E401 +# ============================================================================= +# Signal module +# ============================================================================= +from .signal import approx1 # noqa : E401 +from .signal import approx1_uniform # noqa : E401 +from .signal import approx2 # noqa : E401 +from .signal import approx2_uniform # noqa : E401 +from .signal import convolve # noqa : E401 +from .signal import convolve1 # noqa : E401 +from .signal import convolve2 # noqa : E401 +from .signal import convolve2_separable # noqa : E401 +from .signal import convolve2NN # noqa : E401 +from .signal import convolve3 # noqa : E401 +from .signal import dft # noqa : E401 +from .signal import fft # noqa : E401 +from .signal import fft2 # noqa : E401 +from .signal import fft2_c2r # noqa : E401 +from .signal import fft2_inplace # noqa : E401 +from .signal import fft2_r2c # noqa : E401 +from .signal import fft3 # noqa : E401 +from .signal import fft3_c2r # noqa : E401 +from .signal import fft3_inplace # noqa : E401 +from .signal import fft3_r2c # noqa : E401 +from .signal import fft_c2r # noqa : E401 +from .signal import fft_convolve # noqa : E401 +from .signal import fft_convolve1 # noqa : E401 +from .signal import fft_convolve2 # noqa : E401 +from .signal import fft_convolve3 # noqa : E401 +from .signal import fft_inplace # noqa : E401 +from .signal import fft_r2c # noqa : E401 +from .signal import fir # noqa : E401 +from .signal import idft # noqa : E401 +from .signal import ifft # noqa : E401 +from .signal import ifft2 # noqa : E401 +from .signal import ifft2_inplace # noqa : E401 +from .signal import ifft3 # noqa : E401 +from .signal import ifft3_inplace # noqa : E401 +from .signal import ifft_inplace # noqa : E401 +from .signal import iir # noqa : E401 +from .signal import medfilt # noqa : E401 +from .signal import medfilt1 # noqa : E401 +from .signal import medfilt2 # noqa : E401 +from .signal import set_fft_plan_cache_size # noqa : E401 +# ============================================================================= +# Sparse module +# ============================================================================= +from .sparse import convert_sparse # noqa : E401 +from .sparse import convert_sparse_to_dense # noqa : E401 +from .sparse import create_sparse # noqa : E401 +from .sparse import create_sparse_from_dense # noqa : E401 +from .sparse import create_sparse_from_host # noqa : E401 +from .sparse import sparse_get_col_idx # noqa : E401 +from .sparse import sparse_get_info # noqa : E401 +from .sparse import sparse_get_nnz # noqa : E401 +from .sparse import sparse_get_row_idx # noqa : E401 +from .sparse import sparse_get_storage # noqa : E401 +from .sparse import sparse_get_values # noqa : E401 +# ============================================================================= +# Statistics module +# ============================================================================= +from .statistics import corrcoef # noqa : E401 +from .statistics import cov # noqa : E401 +from .statistics import mean # noqa : E401 +from .statistics import meanvar # noqa : E401 +from .statistics import median # noqa : E401 +from .statistics import stdev # noqa : E401 +from .statistics import topk # noqa : E401 +from .statistics import var # noqa : E401 +# ============================================================================= +# Timer module +# ============================================================================= +from .timer import timeit # noqa : E401 +# ============================================================================= +# Utils module +# ============================================================================= +from .util import dim4 # noqa : E401 +from .util import dim4_to_tuple # noqa : E401 +from .util import get_reversion # noqa : E401 +from .util import get_version # noqa : E401 +from .util import implicit_dtype # noqa : E401 +from .util import number_dtype # noqa : E401 +from .util import to_c_type # noqa : E401 +from .util import to_dtype # noqa : E401 +from .util import to_str # noqa : E401 +from .util import to_typecode # noqa : E401 try: # FIXME: pycuda imported but unused - import pycuda.autoinit + import pycuda.autoinit # noqa : E401 except ImportError: pass - - -__all__ = [ - # algorithm - "accum", "all_true", "allTrueByKey", "any_true", "anyTrueByKey", "count", "countByKey", - "diff1", "diff2", "imax", "imin", "max", "maxByKey", "min", "minByKey", "product", - "productByKey", "scan", "scan_by_key", "set_intersect", "set_union", "set_unique", - "sort", "sort_by_key", "sort_index", "sum", "sumByKey", "where", - # arith - "abs", "acos", "acosh", "arg", "asin", "asinh", "atan", "atan2", "atanh", - "cast", "cbrt", "ceil", "clamp", "conjg", "cos", "cosh", "cplx", "erf", - "erfc", "exp", "expm1", "factorial", "floor", "hypot", "imag", "isinf", - "isnan", "iszero", "lgamma", "log", "log1p", "log2", "log10", "maxof", - "minof", "mod", "pow", "pow2", "real", "rem", "root", "round", "rsqrt", - "sigmoid", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "tgamma", "trunc", - # array - "Array", "constant_array", "display", "get_display_dims_limit", "read_array", - "save_array", "set_display_dims_limit", "transpose", "transpose_inplace", - # base - "BaseArray", - # bcast - "broadcast", - # blas - "dot", "matmul", "matmulNT", "matmulTN", "matmulTT", "gemm", - #cuda - "get_native_id", "get_stream", "set_native_id", - # data - "constant", "diag", "flat", "flip", "identity", "iota", "join", "lookup", - "lower", "moddims", "pad", "range", "reorder", "replace", "select", - "shift", "tile", "upper", - # library - "BACKEND", "BINARYOP", "CANNY_THRESHOLD", "COLORMAP", "CONNECTIVITY", "CONV_DOMAIN", - "CONV_GRADIENT", "CONV_MODE", "CSPACE", "DIFFUSION", "ERR", "FLUX", "HOMOGRAPHY", - "IMAGE_FORMAT", "INTERP", "ITERATIVE_DECONV", "INVERSE_DECONV", "MARKER", "MATCH", - "MATPROP", "MOMENT", "NORM", "PAD", "RANDOM_ENGINE", "STORAGE", "TOPK", "VARIANCE", - "YCC_STD", "Dtype", "Source", "AF_VER_MAJOR", "FORGE_VER_MAJOR", - # device - "alloc_device", "alloc_host", "alloc_pinned", "device_gc", "device_info", "device_mem_info", - "eval", "free_device", "free_host", "free_pinned", "get_device", "get_device_count", - "get_device_ptr", "get_manual_eval_flag", "info", "info_str", "init", "is_dbl_supported", - "is_half_supported", "is_locked_array", "lock_array", "lock_device_ptr", "print_mem_info", - "set_device", "set_manual_eval_flag", "sync", "unlock_array", "unlock_device_ptr", - # graphics - "Window", - # image - "anisotropic_diffusion", "bilateral", "canny", "color_space", "confidenceCC", "dilate", "dilate3", - "erode", "erode3", "gaussian_kernel", "gradient", "gray2rgb", "hist_equal", "histogram", "hsv2rgb", - "is_image_io_available", "iterativeDeconv", "inverseDeconv", "load_image", "load_image_native", - "maxfilt", "mean_shift", "minfilt", "moments", "regions", "resize", "rgb2gray", "rgb2hsv", "rgb2ycbcr", - "rotate", "sat", "save_image", "save_image_native", "scale", "skew", "sobel_derivatives", "sobel_filter", - "transform", "translate", "unwrap", "wrap", "ycbcr2rgb", - # index - "Index", "ParallelRange", "Seq", - # interop - "AF_NUMBA_FOUND", "AF_NUMPY_FOUND", "AF_PYCUDA_FOUND", "AF_PYOPENCL_FOUND", "to_array", - # lapack - "cholesky", "cholesky_inplace", "det", "inverse", "is_lapack_available", "lu", "lu_inplace", - "norm", "pinverse", "qr", "qr_inplace", "rank", "solve", "solve_lu", "svd", "svd_inplace", - # library - "get_active_backend", "get_available_backends", "get_backend", "get_backend_count", - "get_backend_id", "get_device_id", "get_size_of", "safe_call", "set_backend", - # ml - "convolve2GradientNN", - # random - "Random_Engine", "get_default_random_engine", "get_seed", "randn", "randu", - "set_default_random_engine_type", "set_seed", - # signal - "approx1", "approx1_uniform", "approx2", "approx2_uniform", "convolve", "convolve1", - "convolve2", "convolve2NN", "convolve2_separable", "convolve3", "dft", "fft", - "fft2", "fft2_c2r", "fft2_inplace", "fft2_r2c", "fft3", "fft3_c2r", "fft3_inplace", - "fft3_r2c", "fft_c2r", "fft_convolve", "fft_convolve1", "fft_convolve2", "fft_convolve3", - "fft_inplace", "fft_r2c", "fir", "idft", "ifft", "ifft2", "ifft2_inplace", "ifft3", - "ifft3_inplace", "ifft_inplace", "iir", "medfilt", "medfilt1", "medfilt2", - "set_fft_plan_cache_size", - # sparse - "convert_sparse", "convert_sparse_to_dense", "create_sparse", "create_sparse_from_dense", - "create_sparse_from_host", "sparse_get_col_idx", "sparse_get_info", "sparse_get_nnz", - "sparse_get_row_idx", "sparse_get_storage", "sparse_get_values", - # statistics - "corrcoef", "cov", "mean", "meanvar", "median", "stdev", "topk", "var", - # timer - "timeit", - # util - "dim4", "dim4_to_tuple", "implicit_dtype", "number_dtype", "to_str", "get_reversion", - "get_version", "to_dtype", "to_typecode", "to_c_type" -] diff --git a/arrayfire/image.py b/arrayfire/image.py index 325ee909b..9e4de7fe0 100644 --- a/arrayfire/image.py +++ b/arrayfire/image.py @@ -1368,9 +1368,8 @@ def iterativeDeconv(image, psf, iterations, relax_factor, algo = ITERATIVE_DECON """ out = Array() - safe_call(backend.get(). - af_iterative_deconv(c_pointer(out.arr), image.arr, psf.arr, - c_uint_t(iterations), c_float_t(relax_factor), algo.value)) + safe_call(backend.get().af_iterative_deconv( + c_pointer(out.arr), image.arr, psf.arr, c_uint_t(iterations), c_float_t(relax_factor), algo.value)) return out def inverseDeconv(image, psf, gamma, algo = ITERATIVE_DECONV.DEFAULT): diff --git a/arrayfire/ml.py b/arrayfire/ml.py index 5f612ca59..d8249c1f8 100644 --- a/arrayfire/ml.py +++ b/arrayfire/ml.py @@ -17,7 +17,10 @@ from .library import backend, safe_call, c_pointer, CONV_GRADIENT from .util import dim4 -def convolve2GradientNN(incoming_gradient, original_signal, original_kernel, convolved_output, stride = (1, 1), padding = (0, 0), dilation = (1, 1), gradType = CONV_GRADIENT.DEFAULT): + +def convolve2GradientNN( + incoming_gradient, original_signal, original_kernel, convolved_output, stride=(1, 1), padding=(0, 0), + dilation=(1, 1), gradType=CONV_GRADIENT.DEFAULT): """ Function for calculating backward pass gradient of 2D convolution. @@ -66,19 +69,11 @@ def convolve2GradientNN(incoming_gradient, original_signal, original_kernel, con """ output = Array() - stride_dim = dim4(stride[0], stride[1]) - padding_dim = dim4(padding[0], padding[1]) + stride_dim = dim4(stride[0], stride[1]) + padding_dim = dim4(padding[0], padding[1]) dilation_dim = dim4(dilation[0], dilation[1]) safe_call(backend.get().af_convolve2_gradient_nn( - c_pointer(output.arr), - incoming_gradient.arr, - original_signal.arr, - original_kernel.arr, - convolved_output.arr, - 2, c_pointer(stride_dim), - 2, c_pointer(padding_dim), - 2, c_pointer(dilation_dim), - gradType.value)) + c_pointer(output.arr), incoming_gradient.arr, original_signal.arr, original_kernel.arr, convolved_output.arr, + 2, c_pointer(stride_dim), 2, c_pointer(padding_dim), 2, c_pointer(dilation_dim), gradType.value)) return output -