Deep.Net


ShapeSpec

Namespace: SymTensor

shape specification of a tensor

Nested types and modules

TypeDescription
SolutionT

Functions and values

Function or valueDescription
broadcast sa dim size
Signature: sa:ShapeSpecT -> dim:int -> size:SizeSpecT -> ShapeSpecT
broadcastToSame mustEqual sa sb
Signature: mustEqual:bool -> sa:ShapeSpecT -> sb:ShapeSpecT -> ShapeSpecT * ShapeSpecT
broadcastToSameInDims (...)
Signature: dims:seq<int> -> mustEqual:bool -> saIn:ShapeSpecT -> sbIn:ShapeSpecT -> ShapeSpecT * ShapeSpecT
broadcastToSameInDimsMany (...)
Signature: dims:seq<int> -> mustEqual:bool -> sas:ShapeSpecT list -> ShapeSpecT list
broadcastToSameMany mustEqual sas
Signature: mustEqual:bool -> sas:ShapeSpecT list -> ShapeSpecT list
broadcastToShape trgtShp saIn
Signature: trgtShp:ShapeSpecT -> saIn:ShapeSpecT -> ShapeSpecT
canEval sa
Signature: sa:ShapeSpecT -> bool

true if evaluation to numeric shape is possible

concat sa sb
Signature: sa:ShapeSpecT -> sb:ShapeSpecT -> ShapeSpecT
disableAllBroadcasts sa
Signature: sa:SizeSpecT list -> ShapeSpecT
disableBroadcast dim sa
Signature: dim:int -> sa:ShapeSpecT -> ShapeSpecT
emptyVector
Signature: ShapeSpecT
enableBroadcast dim sa
Signature: dim:int -> sa:ShapeSpecT -> ShapeSpecT
equalWithBroadcastability sa sb
Signature: sa:ShapeSpecT -> sb:ShapeSpecT -> bool

True if both shape have the same number of elements and are both broadcastable or non-broadcastable in each dimension.

equalWithoutBroadcastability sa sb
Signature: sa:ShapeSpecT -> sb:ShapeSpecT -> bool

True if both shapes have the same number of elements in each dimension. Broadcastable and non-broadcastable are treated as equal.

eval sa
Signature: sa:ShapeSpecT -> NShapeSpecT

evaluates shape to numeric shape

flatten sa
Signature: sa:ShapeSpecT -> ShapeSpecT
insertAxis ax ss sa
Signature: ax:int -> ss:SizeSpecT -> sa:ShapeSpecT -> ShapeSpecT
insertBroadcastAxis ax sa
Signature: ax:int -> sa:ShapeSpecT -> ShapeSpecT
matrix sr sc
Signature: sr:SizeSpecT -> sc:SizeSpecT -> ShapeSpecT
nDim sa
Signature: sa:ShapeSpecT -> int
nElem sa
Signature: sa:ShapeSpecT -> SizeSpecT
padLeft sa
Signature: sa:ShapeSpecT -> ShapeSpecT

pads shape by inserting broadcast dimension on the left

padRight sa
Signature: sa:ShapeSpecT -> ShapeSpecT

pads shape by inserting broadcast dimension on the right

padTo dims saIn
Signature: dims:int -> saIn:ShapeSpecT -> ShapeSpecT

pads shape from the left to specified number of dimensions

padToSame sa sb
Signature: sa:ShapeSpecT -> sb:ShapeSpecT -> ShapeSpecT * ShapeSpecT

pads shapes from the left until they have same rank

padToSameMany sas
Signature: sas:ShapeSpecT list -> ShapeSpecT list

pads shapes from the left until they have same rank

permuteAxes permut sa
Signature: permut:int list -> sa:ShapeSpecT -> ShapeSpecT

Permutes the axes as specified.

scalar
Signature: ShapeSpecT
set ax size sa
Signature: ax:int -> size:SizeSpecT -> sa:ShapeSpecT -> ShapeSpecT
solve left right
Signature: left:ShapeSpecT -> right:SizeSymbolT list -> SolutionT
substSymbols symVals sa
Signature: symVals:Map<SizeSymbolT,SizeSpecT> -> sa:ShapeSpecT -> ShapeSpecT

substitute the symbols into the ShapeSpec and simplifies it

swap ax1 ax2 sa
Signature: ax1:int -> ax2:int -> sa:ShapeSpecT -> ShapeSpecT
transpose sa
Signature: sa:ShapeSpecT -> ShapeSpecT
tryEval sa
Signature: sa:ShapeSpecT -> NShapeSpecT option

evaluates shape to numeric shape, if possible

vector ss
Signature: ss:SizeSpecT -> ShapeSpecT
withoutAxis ax sa
Signature: ax:int -> sa:ShapeSpecT -> ShapeSpecT
Fork me on GitHub