import Tensor, { Activation, DType, PadMode, TensorValues } from '../../types'; import { MemoryEntry } from './memory'; import { CPUTensor } from '../cpu/tensor'; import REGL from 'regl'; import { DTypeGpu, GPUTensorI } from './interface'; export declare class GPUTensor extends Tensor implements GPUTensorI { shape: readonly number[]; static range(start: number, limit: number, delta: number, dtype?: DTypeGpu): GPUTensor; memory: MemoryEntry; size: number; deleted: boolean; constructor(values: number[] | MemoryEntry, shape: readonly number[], dtype?: DTpe); static fromData(data: REGL.TextureImageData): GPUTensor<"float32">; cast(dtype: DTpe2): Tensor; getValues(): Promise; getShape(): readonly number[]; constantLike(value: number): Tensor; singleConstant(value: number): Tensor; delete(): void; copy(): Tensor; exp(): Tensor; log(): Tensor; sqrt(): Tensor; abs(): Tensor; sin(): Tensor; cos(): Tensor; tan(): Tensor; asin(): Tensor; acos(): Tensor; atan(): Tensor; sinh(): Tensor; cosh(): Tensor; tanh(): Tensor; asinh(): Tensor; acosh(): Tensor; atanh(): Tensor; sigmoid(): Tensor; hardSigmoid(alpha: number, beta: number): Tensor; floor(): Tensor; ceil(): Tensor; round(): Tensor; negate(): Tensor; addMultiplyScalar(factor: number, add: number): Tensor; powerScalar(power: number, factor: number): Tensor; sign(): Tensor; setValues(values: Tensor, starts: number[]): Tensor; add_impl(th: Tensor, tensor: Tensor, resultShape: readonly number[], alpha: number, beta: number): Tensor; subtract_impl(th: Tensor, tensor: Tensor, resultShape: readonly number[], alpha: number, beta: number): Tensor; multiply_impl(th: Tensor, tensor: Tensor, resultShape: readonly number[], alpha: number): Tensor; divide_impl(th: Tensor, tensor: Tensor, resultShape: readonly number[], alpha: number): Tensor; power_impl(th: Tensor, tensor: Tensor, resultShape: readonly number[]): Tensor; matMul(tensor: Tensor): Tensor; gemm_impl(b: Tensor, aTranspose: boolean, bTranspose: boolean, alpha: number, beta: number, c?: Tensor): Tensor; sum_impl(axes: number[], keepDims: boolean): Tensor; sumSquare_impl(axes: number[], keepDims: boolean): Tensor; reduceMean_impl(axes: number[], keepDims: boolean): Tensor; reduceMeanSquare_impl(axes: number[], keepDims: boolean): Tensor; protected reduceLogSum_impl(axes: number[], keepDims: boolean): Tensor; protected reduceLogSumExp_impl(axes: number[], keepDims: boolean): Tensor; product_impl(axes: number[], keepDims: boolean): Tensor; max_impl(axes: number[], keepDims: boolean): Tensor; min_impl(axes: number[], keepDims: boolean): Tensor; conv_impl(kernel: Tensor, dilations: number[], group: number, pads: number[], strides: number[], activation?: Activation, bias?: Tensor): Tensor; protected convTranspose_impl(kernel: Tensor, dilations: number[], group: number, pads: number[], strides: number[]): Tensor; averagePool_impl(kernelShape: number[], pads: number[], strides: number[], includePad: boolean): Tensor; reshape_impl(shape: number[], _copy: boolean): Tensor; concat(tensor: Tensor, axis: number): Tensor; transpose_impl(permutation: number[]): Tensor; clip(min?: number, max?: number): Tensor; clipBackward(grad: Tensor, min?: number, max?: number): Tensor; repeat(repeats: number[]): Tensor; expand(shape: readonly number[]): Tensor; pad_impl(pads: number[], mode: PadMode, value: number): Tensor; gather(axis: number, indices: CPUTensor<'uint32'>): Tensor; slice_impl(starts: number[], ends: number[], axes: number[], steps: number[]): Tensor; upsample(scales: number[]): Tensor; normalize(mean: Tensor, variance: Tensor, epsilon: number, scale: Tensor, bias: Tensor): Tensor; } export declare function gpuConstructor(a: MemoryEntry, b: readonly number[], dtype: DTpe): GPUTensor;