import type { Deviceish } from "./device"; import type { Dtype } from "./dtype"; import { Tensor } from "./tensor"; import type { TensorData, TensorSpec } from "./tensor"; export declare function cat(inputs: Tensor[], dim: number): Tensor; /** * Applies a 2D convolution over an input image composed of several input planes. * * #### Forward * ``` * output[y, x] = sum(Ky, sum(Kx, input[y + ky, x + kx] * weight[ky, kx])) + bias * ``` * * @param input input tensor of shape [B, inChannels, iH, iW] * @param weight filters of shape [outChannels, inChannels, kH, kW] * @param bias optional bias tensor of shape [outChannels] * @param stride the stride of the convolving kernel. Can be a single number or a tuple (sH, sW). Default: 1 * @param padding implicit padding on both sides of the kernel. Can be a single number or a tuple (padH, padW). Default: 0 * `padding="valid"` is the same as no padding. `padding="same"` pads the input so the output has the shape as the input. * However, this mode can only be used when `stride` is 1. * @returns */ export declare function conv2d(input: Tensor, weight: Tensor, bias?: Tensor, stride?: number | [number, number], padding?: number | [number, number] | "valid" | "same"): Tensor; export declare function mm(input: Tensor, other: Tensor): Tensor; export declare function t(input: Tensor): Tensor; export declare function tensor(spec: TensorSpec): Tensor; export declare function tensor(array: TensorData, dtype?: Dtype, device?: Deviceish, requiresGrad?: boolean): Tensor;