---
title: BNNSGraph.Builder.Tensor
framework: accelerate
role: symbol
role_heading: Structure
path: accelerate/bnnsgraph/builder/tensor
---

# BNNSGraph.Builder.Tensor

A structure that represents an abstract handle to a tensor that you use within a BNNSGraph.makeContext closure.

## Declaration

```swift
struct Tensor<T> where T : BNNSScalar
```

## Topics

### Operators

- [.!(_:)](accelerate/bnnsgraph/builder/tensor/'.!(_:).md)
- [.!=(_:_:)](accelerate/bnnsgraph/builder/tensor/'.!=(_:_:).md)
- [.&(_:_:)](accelerate/bnnsgraph/builder/tensor/'.&(_:_:).md)
- [.==(_:_:)](accelerate/bnnsgraph/builder/tensor/'.==(_:_:).md)
- [.|(_:_:)](accelerate/bnnsgraph/builder/tensor/'._(_:_:)-171l2.md)
- [.<(_:_:)](accelerate/bnnsgraph/builder/tensor/'._(_:_:)-6sgl6.md)
- [.^(_:_:)](accelerate/bnnsgraph/builder/tensor/'._(_:_:)-6soc4.md)
- [.>(_:_:)](accelerate/bnnsgraph/builder/tensor/'._(_:_:)-9vd51.md)
- [.<=(_:_:)](accelerate/bnnsgraph/builder/tensor/'._=(_:_:)-20vpj.md)
- [.>=(_:_:)](accelerate/bnnsgraph/builder/tensor/'._=(_:_:)-6gvvh.md)

### Instance Properties

- [dataType](accelerate/bnnsgraph/builder/tensor/datatype.md)
- [description](accelerate/bnnsgraph/builder/tensor/description.md)
- [rank](accelerate/bnnsgraph/builder/tensor/rank.md)
- [shape](accelerate/bnnsgraph/builder/tensor/shape.md)
- [stride](accelerate/bnnsgraph/builder/tensor/stride.md)

### Instance Methods

- [abs()](accelerate/bnnsgraph/builder/tensor/abs().md)
- [acos()](accelerate/bnnsgraph/builder/tensor/acos().md)
- [acosh()](accelerate/bnnsgraph/builder/tensor/acosh().md)
- [argMax(axis:keepDimension:)](accelerate/bnnsgraph/builder/tensor/argmax(axis:keepdimension:).md)
- [argMin(axis:keepDimension:)](accelerate/bnnsgraph/builder/tensor/argmin(axis:keepdimension:).md)
- [argSort(axis:sortOrder:)](accelerate/bnnsgraph/builder/tensor/argsort(axis:sortorder:).md)
- [asin()](accelerate/bnnsgraph/builder/tensor/asin().md)
- [asinh()](accelerate/bnnsgraph/builder/tensor/asinh().md)
- [atan()](accelerate/bnnsgraph/builder/tensor/atan().md)
- [atanh()](accelerate/bnnsgraph/builder/tensor/atanh().md)
- [batchNorm(mean:variance:epsilon:)](accelerate/bnnsgraph/builder/tensor/batchnorm(mean:variance:epsilon:).md)
- [batchNorm(mean:variance:weight:bias:epsilon:)](accelerate/bnnsgraph/builder/tensor/batchnorm(mean:variance:weight:bias:epsilon:).md)
- [bidirectionalLSTM(initialHiddenStates:initialCellStates:inputHiddenWeight:hiddenHiddenWeight:bias:inputHiddenWeightBack:hiddenHiddenWeightBack:biasBack:activation:recurrentActivation:cellActivation:outputSequence:)](accelerate/bnnsgraph/builder/tensor/bidirectionallstm(initialhiddenstates:initialcellstates:inputhiddenweight:hiddenhiddenweight:bias:inputhiddenweightback:hiddenhiddenweightback:biasback:activation:recurrentactivation:cellactivation:outputsequence:).md)
- [cast(to:)](accelerate/bnnsgraph/builder/tensor/cast(to:).md)
- [ceil()](accelerate/bnnsgraph/builder/tensor/ceil().md)
- [channelNorm(epsilon:)](accelerate/bnnsgraph/builder/tensor/channelnorm(epsilon:).md)
- [channelNorm(weight:bias:epsilon:)](accelerate/bnnsgraph/builder/tensor/channelnorm(weight:bias:epsilon:).md)
- [clampedReLU(alpha:beta:)](accelerate/bnnsgraph/builder/tensor/clampedrelu(alpha:beta:).md)
- [clip(to:)](accelerate/bnnsgraph/builder/tensor/clip(to:).md)
- [conv(weight:strides:bias:padding:dilations:groupCount:)](accelerate/bnnsgraph/builder/tensor/conv(weight:strides:bias:padding:dilations:groupcount:).md)
- [conv(weight:strides:padding:dilations:groupCount:)](accelerate/bnnsgraph/builder/tensor/conv(weight:strides:padding:dilations:groupcount:).md)
- [convTranspose(weight:strides:bias:padding:outputPaddingValues:dilations:groupCount:)](accelerate/bnnsgraph/builder/tensor/convtranspose(weight:strides:bias:padding:outputpaddingvalues:dilations:groupcount:).md)
- [convTranspose(weight:strides:padding:outputPaddingValues:dilations:groupCount:)](accelerate/bnnsgraph/builder/tensor/convtranspose(weight:strides:padding:outputpaddingvalues:dilations:groupcount:).md)
- [cos()](accelerate/bnnsgraph/builder/tensor/cos().md)
- [cosh()](accelerate/bnnsgraph/builder/tensor/cosh().md)
- [cumulativeSum(axis:)](accelerate/bnnsgraph/builder/tensor/cumulativesum(axis:).md)
- [elu(alpha:)](accelerate/bnnsgraph/builder/tensor/elu(alpha:).md)
- [erf()](accelerate/bnnsgraph/builder/tensor/erf().md)
- [exp()](accelerate/bnnsgraph/builder/tensor/exp().md)
- [exp2()](accelerate/bnnsgraph/builder/tensor/exp2().md)
- [floor()](accelerate/bnnsgraph/builder/tensor/floor().md)
- [fma(y:z:)](accelerate/bnnsgraph/builder/tensor/fma(y:z:).md)
- [gather(indices:axis:batchDimensionCount:)](accelerate/bnnsgraph/builder/tensor/gather(indices:axis:batchdimensioncount:).md)
- [gatherAlongAxis(indices:axis:)](accelerate/bnnsgraph/builder/tensor/gatheralongaxis(indices:axis:).md)
- [gatherND(indices:batchDimensionCount:)](accelerate/bnnsgraph/builder/tensor/gathernd(indices:batchdimensioncount:).md)
- [gelu()](accelerate/bnnsgraph/builder/tensor/gelu().md)
- [geluSigmoidApproximation()](accelerate/bnnsgraph/builder/tensor/gelusigmoidapproximation().md)
- [geluTanhApproximation()](accelerate/bnnsgraph/builder/tensor/gelutanhapproximation().md)
- [gru(initialHiddenStates:inputHiddenWeight:hiddenHiddenWeight:bias:inputBias:direction:activation:recurrentActivation:applyResetGateAfterMatMul:outputSequence:)](accelerate/bnnsgraph/builder/tensor/gru(initialhiddenstates:inputhiddenweight:hiddenhiddenweight:bias:inputbias:direction:activation:recurrentactivation:applyresetgateaftermatmul:outputsequence:).md)
- [hardSigmoid(alpha:beta:)](accelerate/bnnsgraph/builder/tensor/hardsigmoid(alpha:beta:).md)
- [hardSwish()](accelerate/bnnsgraph/builder/tensor/hardswish().md)
- [instanceNorm(epsilon:)](accelerate/bnnsgraph/builder/tensor/instancenorm(epsilon:).md)
- [instanceNorm(weight:bias:epsilon:)](accelerate/bnnsgraph/builder/tensor/instancenorm(weight:bias:epsilon:).md)
- [l1Norm(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/l1norm(axes:keepdimensions:).md)
- [l2Norm(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/l2norm(axes:keepdimensions:).md)
- [l2Norm(epsilon:)](accelerate/bnnsgraph/builder/tensor/l2norm(epsilon:).md)
- [layerNorm(axes:epsilon:)](accelerate/bnnsgraph/builder/tensor/layernorm(axes:epsilon:).md)
- [layerNorm(weight:bias:axes:epsilon:)](accelerate/bnnsgraph/builder/tensor/layernorm(weight:bias:axes:epsilon:).md)
- [leakyReLU(alpha:)](accelerate/bnnsgraph/builder/tensor/leakyrelu(alpha:).md)
- [linear(weight:)](accelerate/bnnsgraph/builder/tensor/linear(weight:).md)
- [linear(weight:bias:)](accelerate/bnnsgraph/builder/tensor/linear(weight:bias:).md)
- [log(epsilon:)](accelerate/bnnsgraph/builder/tensor/log(epsilon:).md)
- [logSoftmax(axis:)](accelerate/bnnsgraph/builder/tensor/logsoftmax(axis:).md)
- [logSum(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/logsum(axes:keepdimensions:).md)
- [logSumExp(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/logsumexp(axes:keepdimensions:).md)
- [lstm(initialHiddenStates:initialCellStates:inputHiddenWeight:hiddenHiddenWeight:bias:direction:activation:recurrentActivation:cellActivation:outputSequence:)](accelerate/bnnsgraph/builder/tensor/lstm(initialhiddenstates:initialcellstates:inputhiddenweight:hiddenhiddenweight:bias:direction:activation:recurrentactivation:cellactivation:outputsequence:).md)
- [matmul(transpose:other:transposeOther:)](accelerate/bnnsgraph/builder/tensor/matmul(transpose:other:transposeother:).md)
- [matmul(transpose:other:transposeOther:bias:)](accelerate/bnnsgraph/builder/tensor/matmul(transpose:other:transposeother:bias:).md)
- [max(y:)](accelerate/bnnsgraph/builder/tensor/max(y:).md)
- [maximum(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/maximum(axes:keepdimensions:).md)
- [mean(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/mean(axes:keepdimensions:).md)
- [min(y:)](accelerate/bnnsgraph/builder/tensor/min(y:).md)
- [minimum(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/minimum(axes:keepdimensions:).md)
- [pad(_:padding:)](accelerate/bnnsgraph/builder/tensor/pad(_:padding:).md)
- [pooling(_:kernelSize:strides:padding:ceilingMode:)](accelerate/bnnsgraph/builder/tensor/pooling(_:kernelsize:strides:padding:ceilingmode:).md)
- [pow(y:)](accelerate/bnnsgraph/builder/tensor/pow(y:).md)
- [prelu(alpha:)](accelerate/bnnsgraph/builder/tensor/prelu(alpha:).md)
- [product(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/product(axes:keepdimensions:).md)
- [reciprocal(epsilon:)](accelerate/bnnsgraph/builder/tensor/reciprocal(epsilon:).md)
- [relu()](accelerate/bnnsgraph/builder/tensor/relu().md)
- [relu6()](accelerate/bnnsgraph/builder/tensor/relu6().md)
- [reshape(to:)](accelerate/bnnsgraph/builder/tensor/reshape(to:)-5oniw.md)
- [reshape(to:)](accelerate/bnnsgraph/builder/tensor/reshape(to:)-9stle.md)
- [rmsNorm(scale:epsilon:)](accelerate/bnnsgraph/builder/tensor/rmsnorm(scale:epsilon:).md)
- [rnn(initialHiddenStates:inputHiddenWeight:hiddenHiddenWeight:bias:direction:activation:outputSequence:)](accelerate/bnnsgraph/builder/tensor/rnn(initialhiddenstates:inputhiddenweight:hiddenhiddenweight:bias:direction:activation:outputsequence:).md)
- [round()](accelerate/bnnsgraph/builder/tensor/round().md)
- [rsqrt(epsilon:)](accelerate/bnnsgraph/builder/tensor/rsqrt(epsilon:).md)
- [scaledTanh(alpha:beta:)](accelerate/bnnsgraph/builder/tensor/scaledtanh(alpha:beta:).md)
- [scatter(updates:indices:mode:axis:)](accelerate/bnnsgraph/builder/tensor/scatter(updates:indices:mode:axis:).md)
- [scatterAlongAxis(updates:indices:mode:axis:)](accelerate/bnnsgraph/builder/tensor/scatteralongaxis(updates:indices:mode:axis:).md)
- [scatterND(updates:indices:mode:)](accelerate/bnnsgraph/builder/tensor/scatternd(updates:indices:mode:).md)
- [select(_:_:)](accelerate/bnnsgraph/builder/tensor/select(_:_:)-1fiqe.md)
- [select(_:_:)](accelerate/bnnsgraph/builder/tensor/select(_:_:)-3ha1f.md)
- [select(_:_:)](accelerate/bnnsgraph/builder/tensor/select(_:_:)-77itm.md)
- [sigmoid()](accelerate/bnnsgraph/builder/tensor/sigmoid().md)
- [silu()](accelerate/bnnsgraph/builder/tensor/silu().md)
- [sin()](accelerate/bnnsgraph/builder/tensor/sin().md)
- [sinh()](accelerate/bnnsgraph/builder/tensor/sinh().md)
- [softmax(axis:)](accelerate/bnnsgraph/builder/tensor/softmax(axis:).md)
- [softplus(alpha:)](accelerate/bnnsgraph/builder/tensor/softplus(alpha:).md)
- [softsign()](accelerate/bnnsgraph/builder/tensor/softsign().md)
- [sqrt()](accelerate/bnnsgraph/builder/tensor/sqrt().md)
- [squeeze(axis:)](accelerate/bnnsgraph/builder/tensor/squeeze(axis:).md)
- [sum(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/sum(axes:keepdimensions:).md)
- [sumOfSquares(axes:keepDimensions:)](accelerate/bnnsgraph/builder/tensor/sumofsquares(axes:keepdimensions:).md)
- [tan()](accelerate/bnnsgraph/builder/tensor/tan().md)
- [tanh()](accelerate/bnnsgraph/builder/tensor/tanh().md)
- [tensorShape()](accelerate/bnnsgraph/builder/tensor/tensorshape().md)
- [threshold(to:)](accelerate/bnnsgraph/builder/tensor/threshold(to:).md)
- [thresholdedReLU(alpha:)](accelerate/bnnsgraph/builder/tensor/thresholdedrelu(alpha:).md)
- [topK(_:axis:findLargest:)](accelerate/bnnsgraph/builder/tensor/topk(_:axis:findlargest:).md)
- [transpose(axes:)](accelerate/bnnsgraph/builder/tensor/transpose(axes:).md)
- [unsqueeze(axis:)](accelerate/bnnsgraph/builder/tensor/unsqueeze(axis:).md)

### Subscripts

- [subscript(_:)](accelerate/bnnsgraph/builder/tensor/subscript(_:).md)

### Default Implementations

- [OperationParameter Implementations](accelerate/bnnsgraph/builder/tensor/operationparameter-implementations.md)

## Relationships

### Conforms To

- [BNNSGraph.Builder.OperationParameter](accelerate/bnnsgraph/builder/operationparameter.md)
- [BNNSGraph.TensorDescriptor](accelerate/bnnsgraph/tensordescriptor.md)
- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Escapable](swift/escapable.md)

## See Also

### Building graphs in Swift

- [makeContext(options:_:)](accelerate/bnnsgraph/makecontext(options:_:).md)
- [BNNSGraph.Builder](accelerate/bnnsgraph/builder.md)
- [Supporting real-time ML inference on the CPU](accelerate/supporting-real-time-ml-inference-on-the-cpu.md)
