arrayfire.array module¶
Array class and helper functions.
- 
class arrayfire.array.Array(src=None, dims=None, dtype=None, is_device=False, offset=None, strides=None)[source]¶
- Bases: - arrayfire.base.BaseArray- A multi dimensional array container. - Parameters
- srcoptional: array.array, list or C buffer. default: None.
- When src is array.array or list, the data is copied to create the Array() 
- When src is None, an empty buffer is created. 
 
- dimsoptional: tuple of ints. default: (0,)
- When using the default values of dims, the dims are caclulated as len(src) 
 
- dtype: optional: str or arrayfire.Dtype. default: None.
- if str, must be one of the following:
- ‘f’ for float 
- ‘d’ for double 
- ‘b’ for bool 
- ‘B’ for unsigned char 
- ‘h’ for signed 16 bit integer 
- ‘H’ for unsigned 16 bit integer 
- ‘i’ for signed 32 bit integer 
- ‘I’ for unsigned 32 bit integer 
- ‘l’ for signed 64 bit integer 
- ‘L’ for unsigned 64 bit integer 
- ‘F’ for 32 bit complex number 
- ‘D’ for 64 bit complex number 
 
 
- if arrayfire.Dtype, must be one of the following:
- Dtype.f32 for float 
- Dtype.f64 for double 
- Dtype.b8 for bool 
- Dtype.u8 for unsigned char 
- Dtype.s16 for signed 16 bit integer 
- Dtype.u16 for unsigned 16 bit integer 
- Dtype.s32 for signed 32 bit integer 
- Dtype.u32 for unsigned 32 bit integer 
- Dtype.s64 for signed 64 bit integer 
- Dtype.u64 for unsigned 64 bit integer 
- Dtype.c32 for 32 bit complex number 
- Dtype.c64 for 64 bit complex number 
 
 
 - if None, Dtype.f32 is assumed 
 
 
 - Examples - Creating an af.Array() from array.array() - >>> import arrayfire as af >>> import array >>> a = array.array('f', (1, 2, 3, 4)) >>> b = af.Array(a, (2,2)) >>> af.display(b) [2 2 1 1] 1.0000 3.0000 2.0000 4.0000 - Creating an af.Array() from a list - >>> import arrayfire as af >>> import array >>> a = [1, 2, 3, 4] >>> b = af.Array(a) >>> af.display(b) [4 1 1 1] 1.0000 2.0000 3.0000 4.0000 - Creating an af.Array() from numpy.array() - >>> import numpy as np >>> import arrayfire as af >>> a = np.random.random((2,2)) >>> a array([[ 0.33042524, 0.36135449], [ 0.86748649, 0.42199135]]) >>> b = af.Array(a.ctypes.data, a.shape, a.dtype.char) >>> af.display(b) [2 2 1 1] 0.3304 0.8675 0.3614 0.4220 - Attributes
- arr: ctypes.c_void_p
- ctypes variable containing af_array from arrayfire library. 
 
 - Methods - Returns the number of bytes allocated by the memory manager for the array. - as_type(ty)- Cast current array to a specified data type - copy()- Performs a deep copy of the array. - Return the device pointer exclusively held by the array. - dims()- Return the shape of the array as a tuple. - dtype()- Return the data type as a arrayfire.Dtype enum value. - elements()- Return the number of elements in the array. - is_bool()- Check if the array is of type b8. - Check if the array is a column i.e. it has a shape of (rows, 1). - Check if the array is of complex type. - Check if the array is of double precision floating point type. - is_empty()- Check if the array is empty i.e. it has no elements. - Check if the array is of floating point type. - is_half()- Check if the array is of half floating point type (fp16). - Check if the array is of integer type. - Check if all elements of the array are contiguous. - is_owner()- Check if the array owns the raw pointer or is a derived array. - is_real()- Check if the array is not of complex type. - Check if the array is real and of floating point type. - is_row()- Check if the array is a row i.e. it has a shape of (1, cols). - Check if the array is scalar i.e. it has only one element. - Check if the array is of single precision floating point type. - Check if the array is a sparse matrix. - Check if the array is a vector i.e. it has a shape of one of the following: - (rows, 1) - (1, cols) - (1, 1, vols) - (1, 1, 1, batch). - logical_and(other)- Return self && other. - Return ~self - logical_or(other)- Return self || other. - numdims()- Return the number of dimensions of the array. - offset()- Return the offset, of the first element relative to the raw pointer. - raw_ptr()- Return the device pointer held by the array. - scalar()- Return the first element of the array - strides()- Return the distance in bytes between consecutive elements for each dimension. - to_array([row_major, return_shape])- Return the data as array.array - to_ctype([row_major, return_shape])- Return the data as a ctype C array after copying to host memory - to_list([row_major])- Return the data as list - to_ndarray([output])- Parameters
 - type()- Return the data type as an int. - 
property H¶
- Return the hermitian transpose of the array 
 - 
property T¶
- Return the transpose of the array 
 - 
copy()[source]¶
- Performs a deep copy of the array. - Returns
- out: af.Array()
- An identical copy of self. 
 
 
 - 
device_ptr()[source]¶
- Return the device pointer exclusively held by the array. - Returns
- ptrint
- Contains location of the device pointer 
 
 
 - 
is_vector()[source]¶
- Check if the array is a vector i.e. it has a shape of one of the following: - (rows, 1) - (1, cols) - (1, 1, vols) - (1, 1, 1, batch) 
 - 
offset()[source]¶
- Return the offset, of the first element relative to the raw pointer. - Returns
- offsetint
- The offset in number of elements 
 
 
 - 
raw_ptr()[source]¶
- Return the device pointer held by the array. - Returns
- ptrint
- Contains location of the device pointer 
 
 
 - 
property shape¶
- The shape of the array 
 - 
strides()[source]¶
- Return the distance in bytes between consecutive elements for each dimension. - Returns
- stridestuple
- The strides for each dimension 
 
 
 - 
to_array(row_major=False, return_shape=False)[source]¶
- Return the data as array.array - Parameters
- row_major: optional: bool. default: False.
- Specifies if a transpose needs to occur before copying to host memory. 
- return_shape: optional: bool. default: False.
- Specifies if the shape of the array needs to be returned. 
 
- Returns
- If return_shape is False:
- res: array.array of the appropriate type and length. 
- else :
- (res, dims): array.array and the shape of the array 
 
 
 - 
to_ctype(row_major=False, return_shape=False)[source]¶
- Return the data as a ctype C array after copying to host memory - Parameters
- row_major: optional: bool. default: False.
- Specifies if a transpose needs to occur before copying to host memory. 
- return_shape: optional: bool. default: False.
- Specifies if the shape of the array needs to be returned. 
 
- Returns
- If return_shape is False:
- res: The ctypes array of the appropriate type and length. 
- else :
- (res, dims): tuple of the ctypes array and the shape of the array 
 
 
 - 
to_list(row_major=False)[source]¶
- Return the data as list - Parameters
- row_major: optional: bool. default: False.
- Specifies if a transpose needs to occur before copying to host memory. 
- return_shape: optional: bool. default: False.
- Specifies if the shape of the array needs to be returned. 
 
- Returns
- If return_shape is False:
- res: list of the appropriate type and length. 
- else :
- (res, dims): list and the shape of the array 
 
 
 
- 
arrayfire.array.constant_array(val, d0, d1=None, d2=None, d3=None, dtype=<Dtype.f32: 0>)[source]¶
- Internal function to create a C array. Should not be used externall. 
- 
arrayfire.array.display(a, precision=4)[source]¶
- Displays the contents of an array. - Parameters
- aaf.Array
- Multi dimensional arrayfire array 
- precision: int. optional.
- Specifies the number of precision bits to display 
 
 
- 
arrayfire.array.get_display_dims_limit()[source]¶
- Gets the dimension limit after which array’s data won’t get presented to the result of str(arr). - Default is None, which means there is no limit. - Returns
- tuple of the current limit
- None is there is no limit 
 
 
 
 
- 
arrayfire.array.read_array(filename, index=None, key=None)[source]¶
- Read an array from disk. - Parameters
- filenamestr
- Location of the data file. 
- indexint. Optional. Default: None.
- The index of the array stored in the file. 
- If None, key is used. 
 
- keystr. Optional. Default: None.
- A name / key associated with the array 
- If None, index is used. 
 
 
 
- 
arrayfire.array.save_array(key, a, filename, append=False)[source]¶
- Save an array to disk. - Parameters
- keystr
- A name / key associated with the array 
- aaf.Array
- The array to be stored to disk 
- filenamestr
- Location of the data file. 
- appendBoolean. optional. default: False.
- If the file already exists, specifies if the data should be appended or overwritten. 
 
- Returns
- indexint
- The index of the array stored in the file. 
 
 
- 
arrayfire.array.set_display_dims_limit(*dims)[source]¶
- Sets the dimension limit after which array’s data won’t get presented to the result of str(arr). - Default is None, which means there is no limit. - Parameters
- *dimsdimension limit args
 
 
- 
arrayfire.array.transpose(a, conj=False)[source]¶
- Perform the transpose on an input. - Parameters
- aaf.Array
- Multi dimensional arrayfire array. 
- conjoptional: bool. default: False.
- Flag to specify if a complex conjugate needs to applied for complex inputs. 
 
- Returns
- outaf.Array
- Containing the tranpose of a for all batches. 
 
 
