DynamicTensor¶
Usage
use DynamicTensor;
or
import DynamicTensor;
- config param maxRank = 6¶
- param defaultDetachedMode = true¶
- type Tensor = dynamicTensor(?)¶
- record dynamicTensor : serializable¶
- type eltType = real¶
- var meta : shared(TensorEssence(eltType))¶
- var runtimeRank : int = -1¶
- proc init(type eltType)¶
- proc init(type eltType, in meta: shared(TensorEssence(eltType)))
- proc init(in meta: shared(TensorEssence(?eltType)))
- proc init(t: staticTensor(?rank, ?eltType), detached: bool = dynamicTensor.detachMode())
- proc init(a: ndarray(?rank, ?eltType))
- proc init(arr: [] ?eltType)
- proc this(args ...)¶
- proc tensorize(param rank: int) : staticTensor(rank, eltType)¶
- proc resource(param rank: int) : shared(BaseTensorResource(eltType, rank))¶
- proc forceRank(param rank: int) : staticTensor(rank, eltType)¶
- proc forceRankMeta(param rank: int) : shared(BaseTensorResource(eltType, rank))¶
- proc hardCheckRank(param rank: int) : bool¶
- proc checkRank(param rank: int) : bool¶
- proc to(device: locale)¶
- proc device : locale¶
- proc array(param rank: int) ref : ndarray(rank, eltType)¶
- proc grad(param rank: int) ref : ndarray(rank, eltType)¶
- proc data(param rank: int) ref : [] eltType¶
- proc toNDArray(param rank: int) : ndarray(rank, eltType)¶
- proc toArray(param rank: int) : [] eltType¶
- proc detach() : dynamicTensor(eltType)¶
- operator :(in t: dynamicTensor(?eltType), type toType) : dynamicTensor(toType)¶
- proc type dynamicTensor.detachMode() param : bool¶
- proc type dynamicTensor.detachMode(detachMode: bool)
- proc ndarray.toTensor() : dynamicTensor(eltType)¶
- proc staticTensor.eraseRank(detach: bool = dynamicTensor.detachMode()) : dynamicTensor(eltType)¶
- operator :(t: staticTensor(?rank, ?eltType), type T: dynamicTensor(eltType)) : dynamicTensor(eltType)
- proc zipBinOp(param opName: string, a: dynamicTensor(?eltType), b: dynamicTensor(eltType)) : dynamicTensor(eltType)¶
- proc type dynamicTensor.loadFromNumpy(path: string) : dynamicTensor(real)¶
- operator +(a: dynamicTensor(?eltType), b: dynamicTensor(eltType)) : dynamicTensor(eltType)¶
- operator -(a: dynamicTensor(?eltType), b: dynamicTensor(eltType)) : dynamicTensor(eltType)¶
- operator *(a: dynamicTensor(?eltType), b: dynamicTensor(eltType)) : dynamicTensor(eltType)¶
- proc dynamicTensor.sum(axes: int ...?r) : dynamicTensor(eltType)¶
- proc dynamicTensor.relu() : dynamicTensor(eltType)¶
- proc dynamicTensor.max() : dynamicTensor(eltType)¶
- proc dynamicTensor.exp() : dynamicTensor(eltType)¶
- proc dynamicTensor.softmax() : dynamicTensor(eltType)¶
- proc dynamicTensor.maxPool(poolSize: int) : dynamicTensor(eltType)¶
- proc dynamicTensor.reshape(args ...) : dynamicTensor(eltType)¶
- proc dynamicTensor.slice(rngs: range ...?rank) : dynamicTensor(eltType)¶
- proc dynamicTensor.slice(dom: domain(?)) : dynamicTensor(eltType)
- proc dynamicTensor.flatten() : dynamicTensor(eltType)¶
- proc type dynamicTensor.matvecmul(m: dynamicTensor(?eltType), v: dynamicTensor(eltType)) : dynamicTensor(eltType)¶
- proc type dynamicTensor.matvecmulFast(m: dynamicTensor(?eltType), v: dynamicTensor(eltType)) : dynamicTensor(eltType)¶
- proc dynamicTensor.argmax() : int¶
- proc type dynamicTensor.convolve(features: dynamicTensor(?eltType), kernel: dynamicTensor(eltType), stride: int) : dynamicTensor(eltType)¶
- proc type dynamicTensor.convolve(features: dynamicTensor(?eltType), kernel: dynamicTensor(eltType), bias: dynamicTensor(eltType), stride: int) : dynamicTensor(eltType)
- proc type dynamicTensor.arange(args ...)¶
- proc type dynamicTensor.ones(args ...)¶
- proc type dynamicTensor.zeros(args ...)¶
- proc main()¶
- proc dynamicTensor.serialize(writer: IO.fileWriter(locking = false, IO.defaultSerializer), ref serializer: IO.defaultSerializer)¶
- proc dynamicTensor.serialize(writer: IO.fileWriter(?), ref serializer: ?srt2) where srt2 != IO.defaultSerializer
- proc dynamicTensor.write(fw: IO.fileWriter(?)) throws¶
- proc dynamicTensor.save(path: string)¶
- proc type dynamicTensor.multiReader(path: string)¶
- proc type dynamicTensor.load(path: string, param precision = 64) : dynamicTensor(real)¶
- proc type dynamicTensor.readInPlace(fr: IO.fileReader(?), param precision = 64) : dynamicTensor(real)¶