case class STen extends Product with Serializable
Memory managed, off-heap, GPU and CPU compatible N-dimensional array.
This class is a wrapper around aten.Tensor providing a more convenient API. All allocating operations require an implicit lamp.Scope.
STen instances are associated with a device which determines where the memory is allocated, and where the operations are performed. Operations on multiple tensors expect that all the arguments reside on the same device.
lamp.STen.options returns a lamp.STenOptions which describes the device, shape, data type and storage layout of a tensor. Most factory methods in the companion object in turn require a lamp.STenOptions to specify the device, data types and storage layout.
Naming convention of most operations follows libtorch. Operations return
their result in a copy, i.e. not in place. These operations need a
lamp.Scope. Operations whose name ends with an underscore are in place.
Operations whose name contains out
will write their results into the
specified output tensor, these are in the companion object. Some operations
are exempt from this naming rule, e.g. +=
, -=
, *=
etc.
Semantics of operations follow those of libtorch with the same name. Many of the operations broadcasts. See https://numpy.org/doc/stable/user/basics.broadcasting.html#general-broadcasting-rules for broadcasting rules. In short:
- shapes are aligned from the right, extending with ones to the left as needed. 2. If two aligned dimensions are not matching but one of them is 1, then it is expanded to the size of the other dimension, pretending a copy of all its values. If two aligned dimension are not matching and neither of them is 1, then the operation fails.
Examples
Scope.root { implicit scope => val sum = Scope { implicit scope => val ident = STen.eye(3, STenOptions.d) val ones = STen.ones(List(3, 3), STenOptions.d) ident + ones } assert(sum.toMat == mat.ones(3, 3) + mat.ident(3)) }
Broadcasting examples
// successful 3 x 4 x 6 A 4 x 6 B 3 x 4 x 6 Result // B is repeated 3 times first dimensions // successful 3 x 4 x 6 A 3 x 1 x 6 B 3 x 4 x 6 Result // B's second dimension is repeated 4 times // fail 3 x 4 x 6 A 3 x 2 x 6 B 3 x 4 x 6 Result // 2 != 4
The companion object contains various factories which copy data from the JVM memory to STen tensors.
- Alphabetic
- By Inheritance
- STen
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def *[S](other: Double)(implicit arg0: Sc[S]): STen
Multiplication
- def *[S](other: Tensor)(implicit arg0: Sc[S]): STen
Multiplication
- def *[S](other: Long)(implicit arg0: Sc[S]): STen
- def *[S](other: STen)(implicit arg0: Sc[S]): STen
Multiplication
- def *=(other: Long): Unit
In place multiplication.
- def *=(other: Double): Unit
In place multiplication.
- def *=(other: STen): Unit
In place multiplication.
- def +[S](other: Long)(implicit arg0: Sc[S]): STen
Adds a scalar to all elements.
- def +[S](other: Double)(implicit arg0: Sc[S]): STen
Adds a scalar to all elements.
- def +[S](other: STen)(implicit arg0: Sc[S]): STen
Adds to tensors.
- def +=(other: Long): Unit
In place add.
- def +=(other: Double): Unit
In place add.
- def +=(other: STen): Unit
In place add.
- def -[S](other: STen)(implicit arg0: Sc[S]): STen
Subtracts other.
- def -=(other: STen): Unit
Subtracts other in place.
- def /[S](other: Long)(implicit arg0: Sc[S]): STen
Division.
- def /[S](other: Double)(implicit arg0: Sc[S]): STen
Division.
- def /[S](other: Tensor)(implicit arg0: Sc[S]): STen
Division.
- def /[S](other: STen)(implicit arg0: Sc[S]): STen
Division.
- def /=(other: STen): Unit
In place division.
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def abs[S](implicit arg0: Sc[S]): STen
- def abs_(): Unit
- def acos[S](implicit arg0: Sc[S]): STen
- def acos_(): Unit
- def add[S](other: Double, alpha: Double)(implicit arg0: Sc[S]): STen
Adds a value multipled by a scalar
(a + alpha * b)
. - def add[S](other: STen, alpha: Double)(implicit arg0: Sc[S]): STen
Adds an other tensor multipled by a scalar
(a + alpha * b)
. - def add_l[S](other: STen)(implicit arg0: Sc[S]): STen
Adds to tensors.
- def addcmul[S](tensor1: STen, tensor2: STen, alpha: Double)(implicit arg0: Sc[S]): STen
Elementwise
this + alpha * tensor1 * tensor2
- def addcmulSelf(tensor1: STen, tensor2: Tensor, alpha: Double): Unit
Elementwise in place
this + alpha * tensor1 * tensor2
- def addcmulSelf(tensor1: STen, tensor2: STen, alpha: Double): Unit
Elementwise in place
this + alpha * tensor1 * tensor2
- def addmm[S](mat1: STen, mat2: STen, beta: Double, alpha: Double)(implicit arg0: Sc[S]): STen
beta * this + alpha * (mat1 matmul mat2)
- def all[S](dim: Int, keepDim: Boolean)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating that all of the elements are true in the respective dimension
- def all[S](implicit arg0: Sc[S]): STen
Return a boolean scalar tensor indicating that all of the elements are true
- def any[S](dim: Int, keepDim: Boolean)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating that any of the elements true in the respective dimension
- def any[S](implicit arg0: Sc[S]): STen
Return a boolean scalar tensor indicating that any of the elements is true
- def argmax[S](dim: Long, keepDim: Boolean)(implicit arg0: Sc[S]): STen
Reduces the given dimension with the index of its maximum element.
Reduces the given dimension with the index of its maximum element.
- keepDim
if true then the reduced dimension is kept with size 1
- def argmin[S](dim: Long, keepDim: Boolean)(implicit arg0: Sc[S]): STen
Reduces the given dimension with the index of its minimum element.
Reduces the given dimension with the index of its minimum element.
- keepDim
if true then the reduced dimension is kept with size 1
- def argsort[S](stable: Boolean, dim: Int, descending: Boolean)(implicit arg0: Sc[S]): STen
Returns a long tensors with the argsort of the given dimension.
Returns a long tensors with the argsort of the given dimension.
Indexing the given dimension by the returned tensor would result in a sorted order.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asin[S](implicit arg0: Sc[S]): STen
- def asin_(): Unit
- def atan[S](implicit arg0: Sc[S]): STen
- def atan_(): Unit
- def baddbmm[S](batch1: STen, batch2: STen, beta: Double, alpha: Double)(implicit arg0: Sc[S]): STen
Batched add mm.
- def bincount[S](weights: Option[STen], minLength: Int = 0)(implicit arg0: Sc[S]): STen
- def bmm[S](other: STen)(implicit arg0: Sc[S]): STen
Batched matrix multiplication.
Batched matrix multiplication. Maps to Aten.bmm.
Performs the same matrix multiplication along multiple batches. Batch dimensions do not broadcast.
- def castToBool[S](implicit arg0: Sc[S]): STen
Casts to bool
- def castToByte[S](implicit arg0: Sc[S]): STen
Casts to byte.
Casts to byte. signed 8-bit integer (like Scala's Byte) This is called Char in libtorch
- def castToDouble[S](implicit arg0: Sc[S]): STen
Casts to double
- def castToFloat[S](implicit arg0: Sc[S]): STen
Casts to float
- def castToHalf[S](implicit arg0: Sc[S]): STen
Casts to half
- def castToInt[S](implicit arg0: Sc[S]): STen
Casts to int
- def castToLong[S](implicit arg0: Sc[S]): STen
Casts to long
- def castToShort[S](implicit arg0: Sc[S]): STen
Casts to short
- def castToType[S](scalarType: Byte)(implicit arg0: Sc[S]): STen
- def cat[S](other: STen, dim: Long)(implicit arg0: Sc[S]): STen
Concatenates two tensors along the given dimension.
Concatenates two tensors along the given dimension. Other dimensions must conform.
- def ceil[S](implicit arg0: Sc[S]): STen
- def ceil_(): Unit
- def cholesky[S](upper: Boolean)(implicit arg0: Sc[S]): STen
- def choleskyInverse[S](upper: Boolean)(implicit arg0: Sc[S]): STen
- def choleskyLower[S](implicit arg0: Sc[S]): STen
- def choleskySolve[S](choleskyFactor: STen, upper: Boolean)(implicit arg0: Sc[S]): STen
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def cloneTensor[S](implicit arg0: Sc[S]): STen
Returns a copy of this tensor
- def coalesce[S](implicit arg0: Sc[S]): STen
- def colSum[S](implicit arg0: Sc[S]): STen
Sum over the first dimension
- def cond[S](norm: String)(implicit arg0: Sc[S]): STen
- def copyFrom(source: STen, nonBlocking: Boolean): Unit
Overwrites the contents of this tensor with the contents of an other.
Overwrites the contents of this tensor with the contents of an other. Must conform.
- def copyFrom(source: STen): Unit
Overwrites the contents of this tensor with the contents of an other.
Overwrites the contents of this tensor with the contents of an other. Must conform. non blocking is true
- def copyFrom(source: Tensor, nonBlocking: Boolean = true): Unit
Overwrites the contents of this tensor with the contents of an other.
Overwrites the contents of this tensor with the contents of an other. Must conform.
- def copyTo[S](options: STenOptions)(implicit arg0: Sc[S]): STen
Returns a copy of this tensor adapted to the given options
- def copyToDevice(device: Device)(implicit scope: Scope): STen
Returns a copy of this tensor on the given device
- def cos[S](implicit arg0: Sc[S]): STen
- def cos_(): Unit
- def cross[S](other: STen, dim: Int)(implicit arg0: Sc[S]): STen
- def det[S](implicit arg0: Sc[S]): STen
- def device: Product with Device with Serializable
Returns the Device this tensor resides on
- def deviceIndex: Int
Returns the device index.
Returns the device index. Only for Cuda tensors.
- def diag[S](diagonal: Long)(implicit arg0: Sc[S]): STen
- def diagonalView[S](offset: Int = 0, dim1: Int = 0, dim2: Int = 1)(implicit arg0: Sc[S]): STen
- def dot[S](other: STen)(implicit arg0: Sc[S]): STen
- def dropout_(p: Double, training: Boolean): Unit
- def eigh[S](uplo: String)(implicit arg0: Sc[S]): (STen, STen)
- def eigvalsh[S](uplo: String)(implicit arg0: Sc[S]): STen
- def elementSize: Long
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equ[S](other: Long)(implicit arg0: Sc[S]): STen
Returns a boolean tensors of the same shape, indicating equality with the other value.
- def equ[S](other: Double)(implicit arg0: Sc[S]): STen
Returns a boolean tensors of the same shape, indicating equality with the other value.
- def equ[S](other: STen)(implicit arg0: Sc[S]): STen
Returns a boolean tensors of the same shape, indicating equality with the other tensor.
- def equalDeep(input2: STen): Boolean
Return a boolean tensor indicating element-wise equality.
Return a boolean tensor indicating element-wise equality. Maps to Aten.equal
- def exp[S](implicit arg0: Sc[S]): STen
- def exp_(): Unit
- def expand(shape: List[Long])(implicit scope: Scope): STen
- def expandAs[S](other: STen)(implicit arg0: Sc[S]): STen
- def expm1[S](implicit arg0: Sc[S]): STen
- def fill_(v: STen): Unit
In place fills with the given tensor.
- def fill_(v: Double): Unit
In place fills the tensors with the given value
- def flatten[S](startDim: Long, endDim: Long)(implicit arg0: Sc[S]): STen
Flattens between the given dimensions.
Flattens between the given dimensions. Inclusive.
- def floor[S](implicit arg0: Sc[S]): STen
- def floor_(): Unit
- def frobeniusNorm[S](dim: Seq[Int], keepDim: Boolean)(implicit arg0: Sc[S]): STen
- def gather[S](dim: Long, index: STen)(implicit arg0: Sc[S]): STen
- def gather[S](dim: Long, index: Tensor)(implicit arg0: Sc[S]): STen
- def ge[S](other: Double)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise greater-or-equal.
- def ge[S](other: STen)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise greater-or-equal.
- def gelu[S](implicit arg0: Sc[S]): STen
Gaussian Error Linear Unit
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def gt[S](other: Double)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise greater-than.
- def gt[S](other: STen)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise greater-than.
- def hardSwish[S](implicit arg0: Sc[S]): STen
- def index[S](indices: STen*)(implicit arg0: Sc[S]): STen
Indexes with the given tensors along multiple dimensions.
- def indexAdd[S](dim: Long, index: Tensor, source: STen)(implicit arg0: Sc[S]): STen
- def indexAdd[S](dim: Long, index: STen, source: STen)(implicit arg0: Sc[S]): STen
- def indexCopy[S](dim: Int, index: STen, source: STen)(implicit arg0: Sc[S]): STen
- def indexFill[S](dim: Long, index: Tensor, source: Double)(implicit arg0: Sc[S]): STen
- def indexFill[S](dim: Long, index: STen, source: Double)(implicit arg0: Sc[S]): STen
- def indexFill[S](dim: Long, index: STen, source: STen)(implicit arg0: Sc[S]): STen
- def indexPut[S](indices: List[STen], values: STen, accumulate: Boolean)(implicit arg0: Sc[S]): STen
- def indexSelect[S](dim: Long, index: Tensor)(implicit arg0: Sc[S]): STen
Selects along the given dimension with indices in the supplied long tensor.
- def indexSelect[S](dim: Long, index: STen)(implicit arg0: Sc[S]): STen
Selects along the given dimension with indices in the supplied long tensor.
- def indices[S](implicit arg0: Sc[S]): STen
Returns indices.
Returns indices. Only for sparse tensors
- def inner[S](other: STen)(implicit arg0: Sc[S]): STen
- def inv[S](implicit arg0: Sc[S]): STen
- def isCPU: Boolean
Returns true if device is CPU
- def isCuda: Boolean
Returns true if device is Cuda
- def isDouble: Boolean
Returns true if data type is double
- def isFloat: Boolean
Returns true if data type is float
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isInt: Boolean
Returns true if data type is int
- def isLong: Boolean
Returns true if data type is long
- def isPinned: Boolean
- def isShort: Boolean
Returns true if data type is short
- def isSparse: Boolean
Returns true if this is sparse tensor
- def isfinite[S](implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise is-finite.
- def isnan[S](implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise is-nan.
- def le[S](other: Double)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise less-or-equal.
- def le[S](other: STen)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise less-or-equal.
- def leakyRelu[S](negativeSlope: Double)(implicit arg0: Sc[S]): STen
Leaky rectified linear unit
- def leakyRelu_(negativeSlope: Double): Unit
In place leaky rectified linear unit
- def log[S](implicit arg0: Sc[S]): STen
- def log10[S](implicit arg0: Sc[S]): STen
- def log1p[S](implicit arg0: Sc[S]): STen
- def log1p_(): Unit
- def logSoftMax[S](dim: Int)(implicit arg0: Sc[S]): STen
Reduces the given dimension with the log-softmax of its elements.
- def log_(): Unit
- def logicalAnd[S](other: STen)(implicit arg0: Sc[S]): STen
Return a boolean tensor with element-wise logical and.
- def logicalNot[S](implicit arg0: Sc[S]): STen
Return a boolean tensor with element-wise logical not.
- def logicalOr[S](other: STen)(implicit arg0: Sc[S]): STen
Return a boolean tensor with element-wise logical or.
- def logicalXor[S](other: STen)(implicit arg0: Sc[S]): STen
Return a boolean tensor with element-wise logical xor.
- def lt[S](other: Double)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise greater-than.
- def lt[S](other: STen)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise less-than.
- def maskFill[S](mask: STen, fill: Long)(implicit arg0: Sc[S]): STen
Fills the tensor with the given
fill
value in the locations indicated by themask
boolean mask. - def maskFill[S](mask: STen, fill: Double)(implicit arg0: Sc[S]): STen
Fills the tensor with the given
fill
value in the locations indicated by themask
boolean mask. - def maskedFill[S](mask: Tensor, fill: Double)(implicit arg0: Sc[S]): STen
Fills with the given value according to the boolean mask.
- def maskedFill[S](mask: STen, fill: Double)(implicit arg0: Sc[S]): STen
Fills with the given value according to the boolean mask.
- def maskedScatter[S](mask: STen, src: STen)(implicit arg0: Sc[S]): STen
- def maskedSelect[S](mask: Tensor)(implicit arg0: Sc[S]): STen
Selects the elements according to the boolean mask.
Selects the elements according to the boolean mask. Returns a 1D tensor.
- def maskedSelect[S](mask: STen)(implicit arg0: Sc[S]): STen
Selects the elements according to the boolean mask.
Selects the elements according to the boolean mask. Returns a 1D tensor.
- def matmul[S](other: STen)(implicit arg0: Sc[S]): STen
- def matrixPower[S](n: Int)(implicit arg0: Sc[S]): STen
- def matrixRank[S](hermitian: Boolean)(implicit arg0: Sc[S]): STen
- def matrixRank[S](tol: STen, symmetric: Boolean)(implicit arg0: Sc[S]): STen
- def max[S](dim: Int, keepDim: Boolean)(implicit arg0: Sc[S]): (STen, STen)
Reduces the given dimension with its max.
- def max[S](other: STen)(implicit arg0: Sc[S]): STen
Return the elementwise max.
- def max[S](implicit arg0: Sc[S]): STen
- def mean[S](dim: Int, keepDim: Boolean)(implicit arg0: Sc[S]): STen
- def mean[S](dim: Seq[Int], keepDim: Boolean)(implicit arg0: Sc[S]): STen
Reduces the given dimensions with their mean.
- def mean[S](implicit arg0: Sc[S]): STen
- def median[S](dim: Int, keepDim: Boolean)(implicit arg0: Sc[S]): (STen, STen)
Reduces the given dimension with its median.
- def median[S](implicit arg0: Sc[S]): STen
- def min[S](dim: Int, keepDim: Boolean)(implicit arg0: Sc[S]): (STen, STen)
Reduces the given dimension with its max.
- def min[S](other: STen)(implicit arg0: Sc[S]): STen
Return the elementwise minimum.
- def min[S](implicit arg0: Sc[S]): STen
- def mm[S](other: STen)(implicit arg0: Sc[S]): STen
Matrix multiplication.
Matrix multiplication. Maps to Aten.mm.
- def mode[S](dim: Int, keepDim: Boolean)(implicit arg0: Sc[S]): (STen, STen)
Reduces the given dimension with its mode.
- def multiply[S](other: Long)(implicit arg0: Sc[S]): STen
- def nanToNum[S](implicit arg0: Sc[S]): STen
Replaces NaNs with zeros
- def narrow[S](dim: Int, start: STen, length: Long)(implicit arg0: Sc[S]): STen
- def narrow[S](dim: Int, start: Long, length: Long)(implicit arg0: Sc[S]): STen
Returns a tensor with a subset of its elements.
Returns a tensor with a subset of its elements.
The returned tensor includes elements from
start
tostart+length
along the given dimension.No copy is made, storage is shared.
- def ne[S](other: Double)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise less-or-equal.
- def ne[S](other: STen)(implicit arg0: Sc[S]): STen
Return a boolean tensor indicating element-wise not-equal.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def neg[S](implicit arg0: Sc[S]): STen
Returns the negation (not applicable for Boolean).
- def norm2[S](dim: Seq[Int], keepDim: Boolean)(implicit arg0: Sc[S]): STen
Reduces the given dimensions with their L2 norm.
- def not[S](implicit arg0: Sc[S]): STen
Returns the logical negation (applicable for Boolean).
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def numBytes: Long
- def numel: Long
Returns the number of elements in the tensor
- def oneHot[S](numClasses: Int)(implicit arg0: Sc[S]): STen
- def options[S](implicit arg0: Sc[S]): STenOptions
Returns the associated STenOptions
- def outer[S](other: STen)(implicit arg0: Sc[S]): STen
- def pin[S](implicit arg0: Sc[S]): STen
- def pinv[S](hermitian: Boolean)(implicit arg0: Sc[S]): STen
- def pinverse[S](rcond: Double)(implicit arg0: Sc[S]): STen
- def pow[S](exponent: STen)(implicit arg0: Sc[S]): STen
- def pow[S](exponent: Double)(implicit arg0: Sc[S]): STen
- def pow_(exponent: Double): Unit
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def put[S](index: STen, values: STen, accumulate: Boolean)(implicit arg0: Sc[S]): STen
- def qr[S](mode: String)(implicit arg0: Sc[S]): (STen, STen)
- def reciprocal[S](implicit arg0: Sc[S]): STen
- def reciprocal_(): Unit
- def relu[S](implicit arg0: Sc[S]): STen
Rectified linear unit
- def relu_(): Unit
In place rectified linear unit
- def remainder[S](other: Double)(implicit arg0: Sc[S]): STen
- def remainder[S](other: STen)(implicit arg0: Sc[S]): STen
- def repeat[S](dims: List[Long])(implicit arg0: Sc[S]): STen
- def repeatInterleave[S](implicit arg0: Sc[S]): STen
- def repeatInterleave[S](repeats: Long, dim: Int)(implicit arg0: Sc[S]): STen
- def repeatInterleave[S](repeats: STen, dim: Int)(implicit arg0: Sc[S]): STen
- def reshape[S](dims: Long*)(implicit arg0: Sc[S]): STen
Returns a tensor with a new shape.
Returns a tensor with a new shape. May copy.
- def round[S](implicit arg0: Sc[S]): STen
- def rowSum[S](implicit arg0: Sc[S]): STen
Sum over the second dimension
- def scalarTypeByte: Byte
Returns the byte representation of the data type
Returns the byte representation of the data type
The mapping is:
- 1 for Byte
- 2 for Short
- 3 for Int
- 4 for Long
- 5 for Half
- 6 for Float
- 7 for Double
- def scatter[S](dim: Long, index: STen, source: Double)(implicit arg0: Sc[S]): STen
- def scatter[S](dim: Long, index: STen, source: STen)(implicit arg0: Sc[S]): STen
- def scatterAdd[S](dim: Long, index: STen, source: STen)(implicit arg0: Sc[S]): STen
- def select[S](dim: Long, index: Long)(implicit arg0: Sc[S]): STen
Selects a scalar element or a tensor in the given dimension and index.
- def shape: List[Long]
Returns the shape of the tensor
- def sigmoid[S](implicit arg0: Sc[S]): STen
Sigmoid funtion
- def sigmoid_(): Unit
In place sigmoid funtion
- def sign[S](implicit arg0: Sc[S]): STen
- def sign_(): Unit
- def sin[S](implicit arg0: Sc[S]): STen
- def sin_(): Unit
- def sizes: List[Long]
Returns the shape of the tensor
- def slice[S](dim: Long, start: Long, end: Long, step: Long)(implicit arg0: Sc[S]): STen
Returns a slice over the selected dimension
- def slice[S](dim: Int, start: Long, end: Long, step: Long)(implicit arg0: Sc[S]): STen
Returns a slice over the selected dimension
- def slogdet[S](implicit arg0: Sc[S]): (STen, STen)
- def softplus[S](beta: Double, threshold: Double)(implicit arg0: Sc[S]): STen
- def solve[S](other: Tensor)(implicit arg0: Sc[S]): STen
- def sort[S](dim: Int, descending: Boolean)(implicit arg0: Sc[S]): (STen, STen)
- def sqrt[S](implicit arg0: Sc[S]): STen
- def sqrt_(): Unit
- def square[S](implicit arg0: Sc[S]): STen
- def square_(): Unit
- def squeeze[S](implicit arg0: Sc[S]): STen
Removes dimensions of size=1 from the shape
- def squeeze[S](dim: Int)(implicit arg0: Sc[S]): STen
Removes dimensions of size=1 from the shape
- def std[S](dim: Int, unbiased: Boolean, keepDim: Boolean)(implicit arg0: Sc[S]): STen
- def std[S](dim: Seq[Int], unbiased: Boolean, keepDim: Boolean)(implicit arg0: Sc[S]): STen
Reduces the given dimensions with their standard deviation.
- def std[S](unbiased: Boolean)(implicit arg0: Sc[S]): STen
- def stdAndMean[S](dim: Seq[Int], unbiased: Boolean, keepDim: Boolean)(implicit arg0: Sc[S]): (STen, STen)
- def stdAndMean[S](unbiased: Boolean)(implicit arg0: Sc[S]): (STen, STen)
- def sub[S](other: Double, alpha: Double)(implicit arg0: Sc[S]): STen
Subtracts other after multiplying with a number.
- def sub[S](other: STen, alpha: Double)(implicit arg0: Sc[S]): STen
Subtracts other after multiplying with a number.
- def sub_l[S](other: STen)(implicit arg0: Sc[S]): STen
Subtracts other.
- def sum[S](dim: Int, keepDim: Boolean)(implicit arg0: Sc[S]): STen
- def sum[S](dim: Seq[Int], keepDim: Boolean)(implicit arg0: Sc[S]): STen
Reduces the given dimensions with the sum of their elements.
Reduces the given dimensions with the sum of their elements.
- keepDim
if true then the reduced dimensions are kept with size 1
- def sum[S](implicit arg0: Sc[S]): STen
- def svd[S](fullMatrices: Boolean = false)(implicit arg0: Sc[S]): (STen, STen, STen)
- fullMatrices
whether to return reduced or full matrices (in case of non-square input)
- returns
(U,S,Vh) , Vh being the conjugate transpose of V ; input = U diag(S) Vh
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def t[S](implicit arg0: Sc[S]): STen
Transposes the first two dimensions.
- def tan[S](implicit arg0: Sc[S]): STen
- def tan_(): Unit
- def tanh[S](implicit arg0: Sc[S]): STen
- def tanh_(): Unit
- def tensordot[S](other: STen, dims: List[Int], dimsOther: List[Int])(implicit arg0: Sc[S]): STen
- def tensorinv[S](int: Int)(implicit arg0: Sc[S]): STen
- def tensorsolve[S](other: Tensor)(implicit arg0: Sc[S]): STen
- def to[S](options: STenOptions, nonBlocking: Boolean, copy: Boolean)(implicit arg0: Sc[S]): STen
- def toByteArray: Array[Byte]
- def toDense[S](implicit arg0: Sc[S]): STen
- def toDoubleArray: Array[Double]
- def toFloatArray: Array[Float]
- def toIntArray: Array[Int]
- def toLongArray: Array[Long]
- def toShortArray: Array[Short]
- def toString(): String
- Definition Classes
- STen → AnyRef → Any
- def topk[S](k: Int, dim: Int, largest: Boolean, sorted: Boolean)(implicit arg0: Sc[S]): (STen, STen)
Selects the top k elements along the given dimension
Selects the top k elements along the given dimension
- k
How many elements to select
- dim
which dimension to select in
- largest
if true, then the highest k element is selected
- sorted
if true, the selected elements are further sorted
- returns
a pair of (value,index) tensors where value holds the selected elements and index holds the indices of the selected elements
- def trace[S](implicit arg0: Sc[S]): STen
- def transpose[S](dim1: Int, dim2: Int)(implicit arg0: Sc[S]): STen
Transposes the given dimensions.
- def tril[S](diagonal: Int = 0)(implicit arg0: Sc[S]): STen
- def tril_(diagonal: Int = 0): Unit
- def unbroadcast[S](sizes: Seq[Long])(implicit arg0: Sc[S]): STen
- def unique[S](dim: Int, sorted: Boolean, returnInverse: Boolean, returnCounts: Boolean)(implicit arg0: Sc[S]): (STen, STen, STen)
- def unique[S](sorted: Boolean, returnInverse: Boolean, returnCounts: Boolean)(implicit arg0: Sc[S]): (STen, STen, STen)
- def unique[S](sorted: Boolean, returnInverse: Boolean)(implicit arg0: Sc[S]): (STen, STen)
- def uniqueConsecutive[S](dim: Int, returnInverse: Boolean = false, returnCounts: Boolean = false)(implicit arg0: Sc[S]): (STen, STen, STen)
- def unsqueeze[S](dim: Int)(implicit arg0: Sc[S]): STen
Inserts a dimension of size=1 in the given position
- val value: Tensor
- def values[S](implicit arg0: Sc[S]): STen
Returns values.
Returns values. Only for sparse tensors
- def varAndMean[S](dim: Seq[Int], unbiased: Boolean, keepDim: Boolean)(implicit arg0: Sc[S]): (STen, STen)
- def varAndMean[S](unbiased: Boolean)(implicit arg0: Sc[S]): (STen, STen)
- def variance[S](dim: Int, unbiased: Boolean, keepDim: Boolean)(implicit arg0: Sc[S]): STen
- def variance[S](dim: Seq[Int], unbiased: Boolean, keepDim: Boolean)(implicit arg0: Sc[S]): STen
Reduces the given dimensions with their variance.
- def variance[S](unbiased: Boolean)(implicit arg0: Sc[S]): STen
- def view[S](dims: Long*)(implicit arg0: Sc[S]): STen
Returns a tensor with a new shape.
Returns a tensor with a new shape.
No data is copied. The new shape must be compatible with the number of elements and the stride of the tensor.
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def where[S](implicit arg0: Sc[S]): List[STen]
Returns the indices of non-zero values
- def zero_(): Unit
In place fills with zeros.
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)