Documentation
¶
Index ¶
- func Backward[T candy.D](root *Tensor[T], store *GradStore[T]) error
- func MustReadNPZ(path string) map[string]*Tensor[float32]
- func MustWriteNPZ[T candy.D](path string, items map[string]*Tensor[T])
- func ReadNPZ[T candy.D](path string) (map[string]*Tensor[T], error)
- func WriteNPZ[T candy.D](path string, items map[string]*Tensor[T]) error
- type BackwardFunc
- func AbsBackward[T candy.D]() BackwardFunc[T]
- func AddBackward[T candy.D]() BackwardFunc[T]
- func AffineBackward[T candy.D](scale, bias float64) BackwardFunc[T]
- func AvgPool2dBackward[T candy.D](kH, kW, sH, sW int) BackwardFunc[T]
- func BroadcastAddBackward[T candy.D]() BackwardFunc[T]
- func BroadcastAsBackward[T candy.D](s *candy.Shape) BackwardFunc[T]
- func BroadcastDivBackward[T candy.D]() BackwardFunc[T]
- func BroadcastEqBackward[T candy.D]() BackwardFunc[T]
- func BroadcastGeBackward[T candy.D]() BackwardFunc[T]
- func BroadcastGtBackward[T candy.D]() BackwardFunc[T]
- func BroadcastLeBackward[T candy.D]() BackwardFunc[T]
- func BroadcastLtBackward[T candy.D]() BackwardFunc[T]
- func BroadcastMaximumBackward[T candy.D]() BackwardFunc[T]
- func BroadcastMinimumBackward[T candy.D]() BackwardFunc[T]
- func BroadcastMulBackward[T candy.D]() BackwardFunc[T]
- func BroadcastNeBackward[T candy.D]() BackwardFunc[T]
- func BroadcastSubBackward[T candy.D]() BackwardFunc[T]
- func CeilBackward[T candy.D]() BackwardFunc[T]
- func Conv1dBackward[T candy.D](p *candy.Conv1DParams) BackwardFunc[T]
- func Conv2dBackward[T candy.D](p *candy.Conv2DParams) BackwardFunc[T]
- func ConvTranspose1dBackward[T candy.D](p *candy.ConvT1DParams) BackwardFunc[T]
- func ConvTranspose2dBackward[T candy.D](p *candy.ConvT2DParams) BackwardFunc[T]
- func CopyBackward[T candy.D]() BackwardFunc[T]
- func CosBackward[T candy.D]() BackwardFunc[T]
- func DivBackward[T candy.D]() BackwardFunc[T]
- func DropoutBackward[T candy.D](mask **Tensor[T]) BackwardFunc[T]
- func EluBackward[T candy.D](alpha float64) BackwardFunc[T]
- func EqBackward[T candy.D]() BackwardFunc[T]
- func ErfBackward[T candy.D]() BackwardFunc[T]
- func ExpBackward[T candy.D]() BackwardFunc[T]
- func FastMaxBackward[T candy.D]() BackwardFunc[T]
- func FastMinBackward[T candy.D]() BackwardFunc[T]
- func FastSoftmaxBackward[T candy.D]() BackwardFunc[T]
- func FlattenBackward[T candy.D](s *candy.Shape) BackwardFunc[T]
- func FloorBackward[T candy.D]() BackwardFunc[T]
- func GatherBackward[T candy.D](dim int) BackwardFunc[T]
- func GeBackward[T candy.D]() BackwardFunc[T]
- func GeluBackward[T candy.D]() BackwardFunc[T]
- func GeluErfBackward[T candy.D]() BackwardFunc[T]
- func GtBackward[T candy.D]() BackwardFunc[T]
- func LeBackward[T candy.D]() BackwardFunc[T]
- func LogBackward[T candy.D]() BackwardFunc[T]
- func LtBackward[T candy.D]() BackwardFunc[T]
- func MatMulBackward[T candy.D]() BackwardFunc[T]
- func MaxPool2dBackward[T candy.D](kH, kW, sH, sW int) BackwardFunc[T]
- func MaximumBackward[T candy.D]() BackwardFunc[T]
- func MinimumBackward[T candy.D]() BackwardFunc[T]
- func MulBackward[T candy.D]() BackwardFunc[T]
- func NeBackward[T candy.D]() BackwardFunc[T]
- func NegBackward[T candy.D]() BackwardFunc[T]
- func NormcdfBackward[T candy.D]() BackwardFunc[T]
- func PowfBackward[T candy.D](p float64) BackwardFunc[T]
- func RecipBackward[T candy.D]() BackwardFunc[T]
- func ReduceMaxBackward[T candy.D](dim int, keepdim bool) BackwardFunc[T]
- func ReduceMeanBackward[T candy.D](dims []int, keepdim bool) BackwardFunc[T]
- func ReduceMinBackward[T candy.D](dim int, keepdim bool) BackwardFunc[T]
- func ReduceSumBackward[T candy.D](dims []int, keepdim bool) BackwardFunc[T]
- func ReluBackward[T candy.D]() BackwardFunc[T]
- func ReshapeBackward[T candy.D](s *candy.Shape) BackwardFunc[T]
- func RoundBackward[T candy.D]() BackwardFunc[T]
- func ScatterAddBackward[T candy.D](dim int) BackwardFunc[T]
- func ScatterBackward[T candy.D](dim int) BackwardFunc[T]
- func SigmoidBackward[T candy.D]() BackwardFunc[T]
- func SignBackward[T candy.D]() BackwardFunc[T]
- func SiluBackward[T candy.D]() BackwardFunc[T]
- func SinBackward[T candy.D]() BackwardFunc[T]
- func SqrBackward[T candy.D]() BackwardFunc[T]
- func SqrtBackward[T candy.D]() BackwardFunc[T]
- func SqueezeBackward[T candy.D](dim int) BackwardFunc[T]
- func SubBackward[T candy.D]() BackwardFunc[T]
- func TanhBackward[T candy.D]() BackwardFunc[T]
- func TransposeBackward[T candy.D](dim1, dim2 int) BackwardFunc[T]
- func UnsqueezeBackward[T candy.D](dim int) BackwardFunc[T]
- func UpsampleNearest2dBackward[T candy.D](h, w int) BackwardFunc[T]
- func WhereCondBackward[T candy.D](c *Tensor[T]) BackwardFunc[T]
- type ForwardFunc
- func AbsForward[T candy.D]() ForwardFunc[T]
- func AddForward[T candy.D]() ForwardFunc[T]
- func AffineForward[T candy.D](scale, bias float64) ForwardFunc[T]
- func AvgPool2dForward[T candy.D](kH, kW, sH, sW int) ForwardFunc[T]
- func BroadcastAddForward[T candy.D]() ForwardFunc[T]
- func BroadcastAsForward[T candy.D](s *candy.Shape) ForwardFunc[T]
- func BroadcastDivForward[T candy.D]() ForwardFunc[T]
- func BroadcastEqForward[T candy.D]() ForwardFunc[T]
- func BroadcastGeForward[T candy.D]() ForwardFunc[T]
- func BroadcastGtForward[T candy.D]() ForwardFunc[T]
- func BroadcastLeForward[T candy.D]() ForwardFunc[T]
- func BroadcastLtForward[T candy.D]() ForwardFunc[T]
- func BroadcastMaximumForward[T candy.D]() ForwardFunc[T]
- func BroadcastMinimumForward[T candy.D]() ForwardFunc[T]
- func BroadcastMulForward[T candy.D]() ForwardFunc[T]
- func BroadcastNeForward[T candy.D]() ForwardFunc[T]
- func BroadcastSubForward[T candy.D]() ForwardFunc[T]
- func CeilForward[T candy.D]() ForwardFunc[T]
- func Conv1dForward[T candy.D](p *candy.Conv1DParams) ForwardFunc[T]
- func Conv2dForward[T candy.D](p *candy.Conv2DParams) ForwardFunc[T]
- func ConvTranspose1dForward[T candy.D](p *candy.ConvT1DParams) ForwardFunc[T]
- func ConvTranspose2dForward[T candy.D](p *candy.ConvT2DParams) ForwardFunc[T]
- func CopyForward[T candy.D]() ForwardFunc[T]
- func CosForward[T candy.D]() ForwardFunc[T]
- func DivForward[T candy.D]() ForwardFunc[T]
- func DropoutForward[T candy.D](dropProb float64, mask **Tensor[T]) ForwardFunc[T]
- func EluForward[T candy.D](alpha float64) ForwardFunc[T]
- func EqForward[T candy.D]() ForwardFunc[T]
- func ErfForward[T candy.D]() ForwardFunc[T]
- func ExpForward[T candy.D]() ForwardFunc[T]
- func FastMaxForward[T candy.D]() ForwardFunc[T]
- func FastMinForward[T candy.D]() ForwardFunc[T]
- func FastSoftmaxForward[T candy.D]() ForwardFunc[T]
- func FlattenForward[T candy.D](s, e int) ForwardFunc[T]
- func FloorForward[T candy.D]() ForwardFunc[T]
- func GatherForward[T candy.D](dim int) ForwardFunc[T]
- func GeForward[T candy.D]() ForwardFunc[T]
- func GeluErfForward[T candy.D]() ForwardFunc[T]
- func GeluForward[T candy.D]() ForwardFunc[T]
- func GtForward[T candy.D]() ForwardFunc[T]
- func LeForward[T candy.D]() ForwardFunc[T]
- func LogForward[T candy.D]() ForwardFunc[T]
- func LtForward[T candy.D]() ForwardFunc[T]
- func MatMulForward[T candy.D]() ForwardFunc[T]
- func MaxPool2dForward[T candy.D](kH, kW, sH, sW int) ForwardFunc[T]
- func MaximumForward[T candy.D]() ForwardFunc[T]
- func MinimumForward[T candy.D]() ForwardFunc[T]
- func MulForward[T candy.D]() ForwardFunc[T]
- func NeForward[T candy.D]() ForwardFunc[T]
- func NegForward[T candy.D]() ForwardFunc[T]
- func NormcdfForward[T candy.D]() ForwardFunc[T]
- func PowfForward[T candy.D](p float64) ForwardFunc[T]
- func RecipForward[T candy.D]() ForwardFunc[T]
- func ReduceMaxForward[T candy.D](dim int, keepdim bool) ForwardFunc[T]
- func ReduceMeanForward[T candy.D](dims []int, keepdim bool) ForwardFunc[T]
- func ReduceMinForward[T candy.D](dim int, keepdim bool) ForwardFunc[T]
- func ReduceSumForward[T candy.D](dims []int, keepdim bool) ForwardFunc[T]
- func ReluForward[T candy.D]() ForwardFunc[T]
- func ReshapeForward[T candy.D](s *candy.Shape) ForwardFunc[T]
- func RoundForward[T candy.D]() ForwardFunc[T]
- func ScatterAddForward[T candy.D](dim int) ForwardFunc[T]
- func ScatterForward[T candy.D](dim int) ForwardFunc[T]
- func SigmoidForward[T candy.D]() ForwardFunc[T]
- func SignForward[T candy.D]() ForwardFunc[T]
- func SiluForward[T candy.D]() ForwardFunc[T]
- func SinForward[T candy.D]() ForwardFunc[T]
- func SqrForward[T candy.D]() ForwardFunc[T]
- func SqrtForward[T candy.D]() ForwardFunc[T]
- func SqueezeForward[T candy.D](dim int) ForwardFunc[T]
- func SubForward[T candy.D]() ForwardFunc[T]
- func TanhForward[T candy.D]() ForwardFunc[T]
- func TransposeForward[T candy.D](dim1, dim2 int) ForwardFunc[T]
- func UnsqueezeForward[T candy.D](dim int) ForwardFunc[T]
- func UpsampleNearest2dForward[T candy.D](h, w int) ForwardFunc[T]
- func WhereCondForward[T candy.D](c *Tensor[T]) ForwardFunc[T]
- type GradStore
- func (s *GradStore[T]) Clear()
- func (s *GradStore[T]) Delete(t *Tensor[T]) (*Tensor[T], bool)
- func (s *GradStore[T]) DeleteByID(id TensorID) (*Tensor[T], bool)
- func (s *GradStore[T]) Get(t *Tensor[T]) *Tensor[T]
- func (s *GradStore[T]) GetByID(id TensorID) *Tensor[T]
- func (s *GradStore[T]) GetOrCreate(t *Tensor[T]) (*Tensor[T], error)
- func (s *GradStore[T]) IDs() []TensorID
- func (s *GradStore[T]) Len() int
- func (s *GradStore[T]) Set(t *Tensor[T], grad *Tensor[T]) (*Tensor[T], bool)
- func (s *GradStore[T]) SetByID(id TensorID, grad *Tensor[T]) (*Tensor[T], bool)
- type Op
- type Tensor
- func ApplyOp[T candy.D](inputs []*Tensor[T], forward ForwardFunc[T], backward BackwardFunc[T]) (*Tensor[T], error)
- func Full[T candy.D](value float64, shape *candy.Shape, dev candy.Device) (*Tensor[T], error)
- func MustFull[T candy.D](value float64, shape *candy.Shape, dev candy.Device) *Tensor[T]
- func MustNew[T candy.D](data []T, shape *candy.Shape, dev candy.Device) *Tensor[T]
- func MustOnes[T candy.D](shape *candy.Shape, dev candy.Device) *Tensor[T]
- func MustRand[T candy.D](lo, up float64, shape *candy.Shape, dev candy.Device) *Tensor[T]
- func MustRandN[T candy.D](mean, std float64, shape *candy.Shape, dev candy.Device) *Tensor[T]
- func MustReadNPY[T candy.D](path string) *Tensor[T]
- func MustReadNPZByName(path string, names []string) []*Tensor[float32]
- func MustZeros[T candy.D](shape *candy.Shape, dev candy.Device) *Tensor[T]
- func New[T candy.D](data []T, shape *candy.Shape, dev candy.Device) (*Tensor[T], error)
- func NewFrom[T candy.D](storage candy.BackendStorage[T], layout *candy.Layout, dtype candy.DType, ...) *Tensor[T]
- func Ones[T candy.D](shape *candy.Shape, dev candy.Device) (*Tensor[T], error)
- func Rand[T candy.D](lo, up float64, shape *candy.Shape, dev candy.Device) (*Tensor[T], error)
- func RandN[T candy.D](mean, std float64, shape *candy.Shape, dev candy.Device) (*Tensor[T], error)
- func ReadNPY[T candy.D](path string) (*Tensor[T], error)
- func ReadNPZByName[T candy.D](path string, names []string) ([]*Tensor[T], error)
- func ReduceBroadcastGrad[T candy.D](g *Tensor[T], dims []int) (*Tensor[T], error)
- func ToDtype[T, U candy.D](t *Tensor[T], dtype candy.DType) (*Tensor[U], error)
- func Zeros[T candy.D](shape *candy.Shape, dev candy.Device) (*Tensor[T], error)
- func (t *Tensor[T]) Abs() (*Tensor[T], error)
- func (t *Tensor[T]) AdaptiveAvgPool2d(outH, outW int) (*Tensor[T], error)
- func (t *Tensor[T]) Add(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) AddScalar(s float64) (*Tensor[T], error)
- func (t *Tensor[T]) Affine(scale, bias float64) (*Tensor[T], error)
- func (t *Tensor[T]) AvgPool2d(kH, kW, sH, sW int) (*Tensor[T], error)
- func (t *Tensor[T]) Backward() (*GradStore[T], error)
- func (t *Tensor[T]) BroadcastAdd(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastAs(s *candy.Shape) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastClamp(minT, maxT *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastDiv(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastEq(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastGe(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastGt(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastLe(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastLeft(ld ...int) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastLt(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastMaximum(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastMinimum(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastMul(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastNe(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) BroadcastSub(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Ceil() (*Tensor[T], error)
- func (t *Tensor[T]) Clamp(minT, maxT *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Clone() (*Tensor[T], error)
- func (t *Tensor[T]) Conv1d(kernel *Tensor[T], params *candy.Conv1DParams) (*Tensor[T], error)
- func (t *Tensor[T]) Conv2d(kernel *Tensor[T], params *candy.Conv2DParams) (*Tensor[T], error)
- func (t *Tensor[T]) ConvTranspose1d(kernel *Tensor[T], params *candy.ConvT1DParams) (*Tensor[T], error)
- func (t *Tensor[T]) ConvTranspose2d(kernel *Tensor[T], params *candy.ConvT2DParams) (*Tensor[T], error)
- func (t *Tensor[T]) Copy() (*Tensor[T], error)
- func (t *Tensor[T]) Cos() (*Tensor[T], error)
- func (t *Tensor[T]) DType() candy.DType
- func (t *Tensor[T]) Data() []T
- func (t *Tensor[T]) Detach() *Tensor[T]
- func (t *Tensor[T]) Device() candy.Device
- func (t *Tensor[T]) Dim(dim int) int
- func (t *Tensor[T]) Dims() []int
- func (t *Tensor[T]) Dims0() error
- func (t *Tensor[T]) Dims1() (int, error)
- func (t *Tensor[T]) Dims2() (int, int, error)
- func (t *Tensor[T]) Dims3() (int, int, int, error)
- func (t *Tensor[T]) Dims4() (int, int, int, int, error)
- func (t *Tensor[T]) Dims5() (int, int, int, int, int, error)
- func (t *Tensor[T]) Div(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) DivScalar(s float64) (*Tensor[T], error)
- func (x *Tensor[T]) Dropout(dropProb float64) (*Tensor[T], error)
- func (t *Tensor[T]) Elu(alpha float64) (*Tensor[T], error)
- func (t *Tensor[T]) Eq(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Erf() (*Tensor[T], error)
- func (t *Tensor[T]) Exp() (*Tensor[T], error)
- func (t *Tensor[T]) Expand(s *candy.Shape) (*Tensor[T], error)
- func (t *Tensor[T]) FastMax() (*Tensor[T], error)
- func (t *Tensor[T]) FastMin() (*Tensor[T], error)
- func (t *Tensor[T]) FastSoftmax() (*Tensor[T], error)
- func (t *Tensor[T]) Flatten(start, end int) (*Tensor[T], error)
- func (t *Tensor[T]) FlattenAll() (*Tensor[T], error)
- func (t *Tensor[T]) Floor() (*Tensor[T], error)
- func (t *Tensor[T]) FullLike(value float64) (*Tensor[T], error)
- func (t *Tensor[T]) Gather(idx *Tensor[T], dim int) (*Tensor[T], error)
- func (t *Tensor[T]) Ge(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Gelu() (*Tensor[T], error)
- func (t *Tensor[T]) GeluErf() (*Tensor[T], error)
- func (t *Tensor[T]) Gt(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) ID() TensorID
- func (t *Tensor[T]) IsVar() bool
- func (t *Tensor[T]) Layout() *candy.Layout
- func (t *Tensor[T]) Le(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Log() (*Tensor[T], error)
- func (x *Tensor[T]) LogSoftmax(dim int) (*Tensor[T], error)
- func (t *Tensor[T]) Lt(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) MatMul(rhs *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Max(dim int) (*Tensor[T], error)
- func (t *Tensor[T]) MaxKeep(dim int) (*Tensor[T], error)
- func (t *Tensor[T]) MaxPool2d(kH, kW, sH, sW int) (*Tensor[T], error)
- func (t *Tensor[T]) Maximum(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Mean(dims []int) (*Tensor[T], error)
- func (t *Tensor[T]) MeanAll() (*Tensor[T], error)
- func (t *Tensor[T]) MeanKeep(dims []int) (*Tensor[T], error)
- func (t *Tensor[T]) Min(dim int) (*Tensor[T], error)
- func (t *Tensor[T]) MinKeep(dim int) (*Tensor[T], error)
- func (t *Tensor[T]) Minimum(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Mul(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) MulScalar(s float64) (*Tensor[T], error)
- func (t *Tensor[T]) MustAbs() *Tensor[T]
- func (t *Tensor[T]) MustAdaptiveAvgPool2d(outH, outW int) *Tensor[T]
- func (t *Tensor[T]) MustAdd(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustAddScalar(s float64) *Tensor[T]
- func (t *Tensor[T]) MustAffine(scale, bias float64) *Tensor[T]
- func (t *Tensor[T]) MustAvgPool2d(kH, kW, sH, sW int) *Tensor[T]
- func (t *Tensor[T]) MustBackward() *GradStore[T]
- func (t *Tensor[T]) MustBroadcastAdd(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastAs(s *candy.Shape) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastClamp(minT, maxT *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastDiv(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastEq(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastGe(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastGt(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastLe(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastLeft(ld ...int) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastLt(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastMaximum(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastMinimum(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastMul(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastNe(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustBroadcastSub(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustCeil() *Tensor[T]
- func (t *Tensor[T]) MustClamp(minT, maxT *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustClone() *Tensor[T]
- func (t *Tensor[T]) MustConv1d(kernel *Tensor[T], params *candy.Conv1DParams) *Tensor[T]
- func (t *Tensor[T]) MustConv2d(kernel *Tensor[T], params *candy.Conv2DParams) *Tensor[T]
- func (t *Tensor[T]) MustConvTranspose1d(kernel *Tensor[T], params *candy.ConvT1DParams) *Tensor[T]
- func (t *Tensor[T]) MustConvTranspose2d(kernel *Tensor[T], params *candy.ConvT2DParams) *Tensor[T]
- func (t *Tensor[T]) MustCopy() *Tensor[T]
- func (t *Tensor[T]) MustCos() *Tensor[T]
- func (t *Tensor[T]) MustDiv(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustDivScalar(s float64) *Tensor[T]
- func (t *Tensor[T]) MustDropout(dropProb float64) *Tensor[T]
- func (t *Tensor[T]) MustElu(alpha float64) *Tensor[T]
- func (t *Tensor[T]) MustEq(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustErf() *Tensor[T]
- func (t *Tensor[T]) MustExp() *Tensor[T]
- func (t *Tensor[T]) MustExpand(s *candy.Shape) *Tensor[T]
- func (t *Tensor[T]) MustFastMax() *Tensor[T]
- func (t *Tensor[T]) MustFastMin() *Tensor[T]
- func (t *Tensor[T]) MustFastSoftmax() *Tensor[T]
- func (t *Tensor[T]) MustFlatten(start, end int) *Tensor[T]
- func (t *Tensor[T]) MustFlattenAll() *Tensor[T]
- func (t *Tensor[T]) MustFloor() *Tensor[T]
- func (t *Tensor[T]) MustFullLike(value float64) *Tensor[T]
- func (t *Tensor[T]) MustGather(idx *Tensor[T], dim int) *Tensor[T]
- func (t *Tensor[T]) MustGe(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustGelu() *Tensor[T]
- func (t *Tensor[T]) MustGeluErf() *Tensor[T]
- func (t *Tensor[T]) MustGt(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustLe(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustLog() *Tensor[T]
- func (t *Tensor[T]) MustLogSoftmax(dim int) *Tensor[T]
- func (t *Tensor[T]) MustLt(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustMatMul(rhs *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustMax(dim int) *Tensor[T]
- func (t *Tensor[T]) MustMaxKeep(dim int) *Tensor[T]
- func (t *Tensor[T]) MustMaxPool2d(kH, kW, sH, sW int) *Tensor[T]
- func (t *Tensor[T]) MustMaximum(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustMean(dims []int) *Tensor[T]
- func (t *Tensor[T]) MustMeanAll() *Tensor[T]
- func (t *Tensor[T]) MustMeanKeep(dims []int) *Tensor[T]
- func (t *Tensor[T]) MustMin(dim int) *Tensor[T]
- func (t *Tensor[T]) MustMinKeep(dim int) *Tensor[T]
- func (t *Tensor[T]) MustMinimum(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustMul(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustMulScalar(s float64) *Tensor[T]
- func (t *Tensor[T]) MustNe(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustNeg() *Tensor[T]
- func (t *Tensor[T]) MustNormcdf() *Tensor[T]
- func (t *Tensor[T]) MustOnesLike() *Tensor[T]
- func (t *Tensor[T]) MustPowf(p float64) *Tensor[T]
- func (t *Tensor[T]) MustRandLike(lo, up float64) *Tensor[T]
- func (t *Tensor[T]) MustRandNLike(mean, std float64) *Tensor[T]
- func (t *Tensor[T]) MustRecip() *Tensor[T]
- func (t *Tensor[T]) MustReduceMax(dim int, keep bool) *Tensor[T]
- func (t *Tensor[T]) MustReduceMean(dims []int, keep bool) *Tensor[T]
- func (t *Tensor[T]) MustReduceMin(dim int, keep bool) *Tensor[T]
- func (t *Tensor[T]) MustReduceSum(dims []int, keep bool) *Tensor[T]
- func (t *Tensor[T]) MustRelu() *Tensor[T]
- func (t *Tensor[T]) MustReshape(d ...int) *Tensor[T]
- func (t *Tensor[T]) MustRound() *Tensor[T]
- func (t *Tensor[T]) MustScatter(idx *Tensor[T], src *Tensor[T], dim int) *Tensor[T]
- func (t *Tensor[T]) MustScatterAdd(idx *Tensor[T], src *Tensor[T], dim int) *Tensor[T]
- func (t *Tensor[T]) MustSigmoid() *Tensor[T]
- func (t *Tensor[T]) MustSign() *Tensor[T]
- func (t *Tensor[T]) MustSilu() *Tensor[T]
- func (t *Tensor[T]) MustSin() *Tensor[T]
- func (t *Tensor[T]) MustSoftmax(dim int) *Tensor[T]
- func (t *Tensor[T]) MustSqr() *Tensor[T]
- func (t *Tensor[T]) MustSqrt() *Tensor[T]
- func (t *Tensor[T]) MustSqueeze(dim int) *Tensor[T]
- func (t *Tensor[T]) MustSub(other *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustSubScalar(s float64) *Tensor[T]
- func (t *Tensor[T]) MustSum(dims []int) *Tensor[T]
- func (t *Tensor[T]) MustSumAll() *Tensor[T]
- func (t *Tensor[T]) MustSumKeep(dims []int) *Tensor[T]
- func (t *Tensor[T]) MustT() *Tensor[T]
- func (t *Tensor[T]) MustTanh() *Tensor[T]
- func (t *Tensor[T]) MustToFloat32() *Tensor[float32]
- func (t *Tensor[T]) MustToFloat64() *Tensor[float64]
- func (t *Tensor[T]) MustToInt64() *Tensor[int64]
- func (t *Tensor[T]) MustToUint32() *Tensor[uint32]
- func (t *Tensor[T]) MustToUint8() *Tensor[uint8]
- func (t *Tensor[T]) MustTranspose(d1, d2 int) *Tensor[T]
- func (t *Tensor[T]) MustUnsqueeze(dim int) *Tensor[T]
- func (t *Tensor[T]) MustUpsampleNearest2d(h, w int) *Tensor[T]
- func (t *Tensor[T]) MustWhereCond(trueV, falseV *Tensor[T]) *Tensor[T]
- func (t *Tensor[T]) MustWriteNPY(path string)
- func (t *Tensor[T]) MustZerosLike() *Tensor[T]
- func (t *Tensor[T]) Ne(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) Neg() (*Tensor[T], error)
- func (t *Tensor[T]) Normcdf() (*Tensor[T], error)
- func (t *Tensor[T]) Numel() int
- func (t *Tensor[T]) OnesLike() (*Tensor[T], error)
- func (t *Tensor[T]) Op() *Op[T]
- func (t *Tensor[T]) Powf(p float64) (*Tensor[T], error)
- func (t *Tensor[T]) RandLike(lo, up float64) (*Tensor[T], error)
- func (t *Tensor[T]) RandNLike(mean, std float64) (*Tensor[T], error)
- func (t *Tensor[T]) Rank() int
- func (t *Tensor[T]) Recip() (*Tensor[T], error)
- func (t *Tensor[T]) ReduceMax(dim int, keep bool) (*Tensor[T], error)
- func (t *Tensor[T]) ReduceMean(dims []int, keep bool) (*Tensor[T], error)
- func (t *Tensor[T]) ReduceMin(dim int, keep bool) (*Tensor[T], error)
- func (t *Tensor[T]) ReduceSum(dims []int, keep bool) (*Tensor[T], error)
- func (t *Tensor[T]) Relu() (*Tensor[T], error)
- func (t *Tensor[T]) RequiresGrad() *Tensor[T]
- func (t *Tensor[T]) Reshape(d ...int) (*Tensor[T], error)
- func (t *Tensor[T]) Round() (*Tensor[T], error)
- func (t *Tensor[T]) Scatter(idx *Tensor[T], src *Tensor[T], dim int) (*Tensor[T], error)
- func (t *Tensor[T]) ScatterAdd(idx *Tensor[T], src *Tensor[T], dim int) (*Tensor[T], error)
- func (t *Tensor[T]) SetDType(d candy.DType) *Tensor[T]
- func (t *Tensor[T]) SetDevice(d candy.Device) *Tensor[T]
- func (t *Tensor[T]) SetIsVar(v bool) *Tensor[T]
- func (t *Tensor[T]) SetLayout(l *candy.Layout) *Tensor[T]
- func (t *Tensor[T]) SetOp(o *Op[T]) *Tensor[T]
- func (t *Tensor[T]) SetStorage(s candy.BackendStorage[T]) *Tensor[T]
- func (t *Tensor[T]) Shape() *candy.Shape
- func (t *Tensor[T]) Sigmoid() (*Tensor[T], error)
- func (t *Tensor[T]) Sign() (*Tensor[T], error)
- func (t *Tensor[T]) Silu() (*Tensor[T], error)
- func (t *Tensor[T]) Sin() (*Tensor[T], error)
- func (x *Tensor[T]) Softmax(dim int) (*Tensor[T], error)
- func (t *Tensor[T]) Sqr() (*Tensor[T], error)
- func (t *Tensor[T]) Sqrt() (*Tensor[T], error)
- func (t *Tensor[T]) Squeeze(dim int) (*Tensor[T], error)
- func (t *Tensor[T]) SqueezeDims(dims []int) (*Tensor[T], error)
- func (t *Tensor[T]) Storage() candy.BackendStorage[T]
- func (t *Tensor[T]) Stride() []int
- func (t *Tensor[T]) String() string
- func (t *Tensor[T]) Sub(other *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) SubScalar(s float64) (*Tensor[T], error)
- func (t *Tensor[T]) Sum(dims []int) (*Tensor[T], error)
- func (t *Tensor[T]) SumAll() (*Tensor[T], error)
- func (t *Tensor[T]) SumKeep(dims []int) (*Tensor[T], error)
- func (t *Tensor[T]) T() (*Tensor[T], error)
- func (t *Tensor[T]) Tanh() (*Tensor[T], error)
- func (t *Tensor[T]) ToFloat32() (*Tensor[float32], error)
- func (t *Tensor[T]) ToFloat64() (*Tensor[float64], error)
- func (t *Tensor[T]) ToInt64() (*Tensor[int64], error)
- func (t *Tensor[T]) ToUint32() (*Tensor[uint32], error)
- func (t *Tensor[T]) ToUint8() (*Tensor[uint8], error)
- func (t *Tensor[T]) Transpose(d1, d2 int) (*Tensor[T], error)
- func (t *Tensor[T]) Unsqueeze(dim int) (*Tensor[T], error)
- func (t *Tensor[T]) UpsampleNearest2d(h, w int) (*Tensor[T], error)
- func (t *Tensor[T]) WhereCond(trueV, falseV *Tensor[T]) (*Tensor[T], error)
- func (t *Tensor[T]) WriteNPY(path string) error
- func (t *Tensor[T]) ZerosLike() (*Tensor[T], error)
- type TensorID
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BackwardFunc ¶
BackwardFunc defines a backward pass function for computing gradients.
func AbsBackward ¶
func AbsBackward[T candy.D]() BackwardFunc[T]
AbsBackward returns a BackwardFunc for absolute value gradients: ∂|x|/∂x = sign(x).
func AddBackward ¶
func AddBackward[T candy.D]() BackwardFunc[T]
AddBackward returns a BackwardFunc for addition gradients: ∂z/∂x = 1, ∂z/∂y = 1.
func AffineBackward ¶
func AffineBackward[T candy.D](scale, bias float64) BackwardFunc[T]
AffineBackward returns a BackwardFunc for affine transformation gradients: ∂y/∂x = scale.
func AvgPool2dBackward ¶
func AvgPool2dBackward[T candy.D](kH, kW, sH, sW int) BackwardFunc[T]
AvgPool2dBackward returns a BackwardFunc for 2D average pooling gradients.
func BroadcastAddBackward ¶
func BroadcastAddBackward[T candy.D]() BackwardFunc[T]
BroadcastAddBackward returns a BackwardFunc for broadcasted addition gradients: ∂z/∂x = 1, ∂z/∂y = 1.
func BroadcastAsBackward ¶
func BroadcastAsBackward[T candy.D](s *candy.Shape) BackwardFunc[T]
BroadcastAsBackward returns a BackwardFunc for broadcasting gradients.
func BroadcastDivBackward ¶
func BroadcastDivBackward[T candy.D]() BackwardFunc[T]
BroadcastDivBackward returns a BackwardFunc for broadcasted division gradients: ∂z/∂x = 1/y, ∂z/∂y = -x/y².
func BroadcastEqBackward ¶
func BroadcastEqBackward[T candy.D]() BackwardFunc[T]
BroadcastEqBackward returns a BackwardFunc for broadcasted equality gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func BroadcastGeBackward ¶
func BroadcastGeBackward[T candy.D]() BackwardFunc[T]
BroadcastGeBackward returns a BackwardFunc for broadcasted greater-than-or-equal gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func BroadcastGtBackward ¶
func BroadcastGtBackward[T candy.D]() BackwardFunc[T]
BroadcastGtBackward returns a BackwardFunc for broadcasted greater-than gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func BroadcastLeBackward ¶
func BroadcastLeBackward[T candy.D]() BackwardFunc[T]
BroadcastLeBackward returns a BackwardFunc for broadcasted less-than-or-equal gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func BroadcastLtBackward ¶
func BroadcastLtBackward[T candy.D]() BackwardFunc[T]
BroadcastLtBackward returns a BackwardFunc for broadcasted less-than gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func BroadcastMaximumBackward ¶
func BroadcastMaximumBackward[T candy.D]() BackwardFunc[T]
BroadcastMaximumBackward returns a BackwardFunc for broadcasted maximum gradients.
func BroadcastMinimumBackward ¶
func BroadcastMinimumBackward[T candy.D]() BackwardFunc[T]
BroadcastMinimumBackward returns a BackwardFunc for broadcasted minimum gradients.
func BroadcastMulBackward ¶
func BroadcastMulBackward[T candy.D]() BackwardFunc[T]
BroadcastMulBackward returns a BackwardFunc for broadcasted multiplication gradients: ∂z/∂x = y, ∂z/∂y = x.
func BroadcastNeBackward ¶
func BroadcastNeBackward[T candy.D]() BackwardFunc[T]
BroadcastNeBackward returns a BackwardFunc for broadcasted inequality gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func BroadcastSubBackward ¶
func BroadcastSubBackward[T candy.D]() BackwardFunc[T]
BroadcastSubBackward returns a BackwardFunc for broadcasted subtraction gradients: ∂z/∂x = 1, ∂z/∂y = -1.
func CeilBackward ¶
func CeilBackward[T candy.D]() BackwardFunc[T]
CeilBackward returns a BackwardFunc for ceiling gradients: ∂ceil(x)/∂x = 0.
func Conv1dBackward ¶
func Conv1dBackward[T candy.D](p *candy.Conv1DParams) BackwardFunc[T]
Conv1dBackward returns a BackwardFunc for 1D convolution gradients.
func Conv2dBackward ¶
func Conv2dBackward[T candy.D](p *candy.Conv2DParams) BackwardFunc[T]
Conv2dBackward returns a BackwardFunc for 2D convolution gradients.
func ConvTranspose1dBackward ¶
func ConvTranspose1dBackward[T candy.D](p *candy.ConvT1DParams) BackwardFunc[T]
ConvTranspose1dBackward returns a BackwardFunc for 1D transposed convolution gradients.
func ConvTranspose2dBackward ¶
func ConvTranspose2dBackward[T candy.D](p *candy.ConvT2DParams) BackwardFunc[T]
ConvTranspose2dBackward returns a BackwardFunc for 2D transposed convolution gradients.
func CopyBackward ¶
func CopyBackward[T candy.D]() BackwardFunc[T]
CopyBackward returns a BackwardFunc for clone gradients: ∂y/∂x = 1.
func CosBackward ¶
func CosBackward[T candy.D]() BackwardFunc[T]
CosBackward returns a BackwardFunc for cosine gradients: ∂cos(x)/∂x = -sin(x).
func DivBackward ¶
func DivBackward[T candy.D]() BackwardFunc[T]
DivBackward returns a BackwardFunc for division gradients: ∂z/∂x = 1/y, ∂z/∂y = -x/y².
func DropoutBackward ¶
func DropoutBackward[T candy.D](mask **Tensor[T]) BackwardFunc[T]
DropoutBackward returns a BackwardFunc for dropout gradients.
func EluBackward ¶
func EluBackward[T candy.D](alpha float64) BackwardFunc[T]
EluBackward returns a BackwardFunc for ELU gradients: ∂elu(x)/∂x = 1 if x >= 0, alpha*exp(x) if x < 0.
func EqBackward ¶
func EqBackward[T candy.D]() BackwardFunc[T]
EqBackward returns a BackwardFunc for equality gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func ErfBackward ¶
func ErfBackward[T candy.D]() BackwardFunc[T]
ErfBackward returns a BackwardFunc for error function gradients: ∂erf(x)/∂x = (2/√π)exp(-x²).
func ExpBackward ¶
func ExpBackward[T candy.D]() BackwardFunc[T]
ExpBackward returns a BackwardFunc for exponential gradients: ∂exp(x)/∂x = exp(x).
func FastMaxBackward ¶
func FastMaxBackward[T candy.D]() BackwardFunc[T]
FastMaxBackward returns a BackwardFunc for maximum gradients over the last dimension.
func FastMinBackward ¶
func FastMinBackward[T candy.D]() BackwardFunc[T]
FastMinBackward returns a BackwardFunc for minimum gradients over the last dimension.
func FastSoftmaxBackward ¶
func FastSoftmaxBackward[T candy.D]() BackwardFunc[T]
FastSoftmaxBackward returns a BackwardFunc for softmax gradients.
func FlattenBackward ¶
func FlattenBackward[T candy.D](s *candy.Shape) BackwardFunc[T]
FlattenBackward returns a BackwardFunc for flatten gradients.
func FloorBackward ¶
func FloorBackward[T candy.D]() BackwardFunc[T]
FloorBackward returns a BackwardFunc for floor gradients: ∂floor(x)/∂x = 0.
func GatherBackward ¶
func GatherBackward[T candy.D](dim int) BackwardFunc[T]
GatherBackward returns a BackwardFunc for gather gradients.
func GeBackward ¶
func GeBackward[T candy.D]() BackwardFunc[T]
GeBackward returns a BackwardFunc for greater-than-or-equal gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func GeluBackward ¶
func GeluBackward[T candy.D]() BackwardFunc[T]
GeluBackward returns a BackwardFunc for GELU gradients.
func GeluErfBackward ¶
func GeluErfBackward[T candy.D]() BackwardFunc[T]
GeluErfBackward returns a BackwardFunc for GELU (erf-based) gradients.
func GtBackward ¶
func GtBackward[T candy.D]() BackwardFunc[T]
GtBackward returns a BackwardFunc for greater-than gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func LeBackward ¶
func LeBackward[T candy.D]() BackwardFunc[T]
LeBackward returns a BackwardFunc for less-than-or-equal gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func LogBackward ¶
func LogBackward[T candy.D]() BackwardFunc[T]
LogBackward returns a BackwardFunc for logarithm gradients: ∂log(x)/∂x = 1/x.
func LtBackward ¶
func LtBackward[T candy.D]() BackwardFunc[T]
LtBackward returns a BackwardFunc for less-than gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func MatMulBackward ¶
func MatMulBackward[T candy.D]() BackwardFunc[T]
MatMulBackward returns a BackwardFunc for matrix multiplication gradients: ∂z/∂x = g @ yᵀ, ∂z/∂y = xᵀ @ g.
func MaxPool2dBackward ¶
func MaxPool2dBackward[T candy.D](kH, kW, sH, sW int) BackwardFunc[T]
MaxPool2dBackward returns a BackwardFunc for 2D max pooling gradients.
func MaximumBackward ¶
func MaximumBackward[T candy.D]() BackwardFunc[T]
MaximumBackward returns a BackwardFunc for maximum gradients: ∂z/∂x = (x >= y) ? g : 0, ∂z/∂y = (y > x) ? g : 0.
func MinimumBackward ¶
func MinimumBackward[T candy.D]() BackwardFunc[T]
MinimumBackward returns a BackwardFunc for minimum gradients: ∂z/∂x = (x <= y) ? g : 0, ∂z/∂y = (y < x) ? g : 0.
func MulBackward ¶
func MulBackward[T candy.D]() BackwardFunc[T]
MulBackward returns a BackwardFunc for multiplication gradients: ∂z/∂x = y, ∂z/∂y = x.
func NeBackward ¶
func NeBackward[T candy.D]() BackwardFunc[T]
NeBackward returns a BackwardFunc for inequality gradients: ∂z/∂x = 0, ∂z/∂y = 0.
func NegBackward ¶
func NegBackward[T candy.D]() BackwardFunc[T]
NegBackward returns a BackwardFunc for negation gradients: ∂(-x)/∂x = -1.
func NormcdfBackward ¶
func NormcdfBackward[T candy.D]() BackwardFunc[T]
NormcdfBackward returns a BackwardFunc for normal CDF gradients: ∂Φ(x)/∂x = φ(x) = (1/√(2π))exp(-x²/2).
func PowfBackward ¶
func PowfBackward[T candy.D](p float64) BackwardFunc[T]
PowfBackward returns a BackwardFunc for power gradients: ∂(x^param)/∂x = param*x^(param-1).
func RecipBackward ¶
func RecipBackward[T candy.D]() BackwardFunc[T]
RecipBackward returns a BackwardFunc for reciprocal gradients: ∂(1/x)/∂x = -1/x².
func ReduceMaxBackward ¶
func ReduceMaxBackward[T candy.D](dim int, keepdim bool) BackwardFunc[T]
ReduceMaxBackward returns a BackwardFunc for maximum gradients along a specified dimension.
func ReduceMeanBackward ¶
func ReduceMeanBackward[T candy.D](dims []int, keepdim bool) BackwardFunc[T]
ReduceMeanBackward returns a BackwardFunc for mean gradients along specified dimensions.
func ReduceMinBackward ¶
func ReduceMinBackward[T candy.D](dim int, keepdim bool) BackwardFunc[T]
ReduceMinBackward returns a BackwardFunc for minimum gradients along a specified dimension.
func ReduceSumBackward ¶
func ReduceSumBackward[T candy.D](dims []int, keepdim bool) BackwardFunc[T]
ReduceSumBackward returns a BackwardFunc for sum gradients.
func ReluBackward ¶
func ReluBackward[T candy.D]() BackwardFunc[T]
ReluBackward returns a BackwardFunc for ReLU gradients: ∂relu(x)/∂x = x > 0 ? 1 : 0.
func ReshapeBackward ¶
func ReshapeBackward[T candy.D](s *candy.Shape) BackwardFunc[T]
ReshapeBackward returns a BackwardFunc for reshape gradients.
func RoundBackward ¶
func RoundBackward[T candy.D]() BackwardFunc[T]
RoundBackward returns a BackwardFunc for rounding gradients: ∂round(x)/∂x = 0.
func ScatterAddBackward ¶
func ScatterAddBackward[T candy.D](dim int) BackwardFunc[T]
ScatterAddBackward returns a BackwardFunc for scatter-add gradients.
func ScatterBackward ¶
func ScatterBackward[T candy.D](dim int) BackwardFunc[T]
ScatterBackward returns a BackwardFunc for scatter gradients.
func SigmoidBackward ¶
func SigmoidBackward[T candy.D]() BackwardFunc[T]
SigmoidBackward returns a BackwardFunc for sigmoid gradients: ∂σ(x)/∂x = σ(x)*(1-σ(x)).
func SignBackward ¶
func SignBackward[T candy.D]() BackwardFunc[T]
SignBackward returns a BackwardFunc for sign gradients: ∂sign(x)/∂x = 0.
func SiluBackward ¶
func SiluBackward[T candy.D]() BackwardFunc[T]
SiluBackward returns a BackwardFunc for SiLU gradients: ∂silu(x)/∂x = sigmoid(x) + x*sigmoid(x)*(1-sigmoid(x)).
func SinBackward ¶
func SinBackward[T candy.D]() BackwardFunc[T]
SinBackward returns a BackwardFunc for sine gradients: ∂sin(x)/∂x = cos(x).
func SqrBackward ¶
func SqrBackward[T candy.D]() BackwardFunc[T]
SqrBackward returns a BackwardFunc for square gradients: ∂(x²)/∂x = 2x.
func SqrtBackward ¶
func SqrtBackward[T candy.D]() BackwardFunc[T]
SqrtBackward returns a BackwardFunc for square root gradients: ∂√x/∂x = 1/(2√x).
func SqueezeBackward ¶
func SqueezeBackward[T candy.D](dim int) BackwardFunc[T]
SqueezeBackward returns a BackwardFunc for squeeze gradients.
func SubBackward ¶
func SubBackward[T candy.D]() BackwardFunc[T]
SubBackward returns a BackwardFunc for subtraction gradients: ∂z/∂x = 1, ∂z/∂y = -1.
func TanhBackward ¶
func TanhBackward[T candy.D]() BackwardFunc[T]
TanhBackward returns a BackwardFunc for hyperbolic tangent gradients: ∂tanh(x)/∂x = 1 - tanh²(x).
func TransposeBackward ¶
func TransposeBackward[T candy.D](dim1, dim2 int) BackwardFunc[T]
TransposeBackward returns a BackwardFunc for transpose gradients.
func UnsqueezeBackward ¶
func UnsqueezeBackward[T candy.D](dim int) BackwardFunc[T]
UnsqueezeBackward returns a BackwardFunc for unsqueeze gradients.
func UpsampleNearest2dBackward ¶
func UpsampleNearest2dBackward[T candy.D](h, w int) BackwardFunc[T]
UpsampleNearest2dBackward returns a BackwardFunc for 2D nearest neighbor upsampling gradients.
func WhereCondBackward ¶
func WhereCondBackward[T candy.D](c *Tensor[T]) BackwardFunc[T]
WhereCondBackward returns a BackwardFunc for conditional selection gradients.
type ForwardFunc ¶
ForwardFunc defines a forward pass function for tensor operations.
func AbsForward ¶
func AbsForward[T candy.D]() ForwardFunc[T]
AbsForward returns a ForwardFunc for element-wise absolute value: |x|.
func AddForward ¶
func AddForward[T candy.D]() ForwardFunc[T]
AddForward returns a ForwardFunc for element-wise addition: x + y.
func AffineForward ¶
func AffineForward[T candy.D](scale, bias float64) ForwardFunc[T]
AffineForward returns a ForwardFunc for affine transformation: y = scale * x + bias.
func AvgPool2dForward ¶
func AvgPool2dForward[T candy.D](kH, kW, sH, sW int) ForwardFunc[T]
AvgPool2dForward returns a ForwardFunc for 2D average pooling.
func BroadcastAddForward ¶
func BroadcastAddForward[T candy.D]() ForwardFunc[T]
BroadcastAddForward returns a ForwardFunc for broadcasted addition: x + y.
func BroadcastAsForward ¶
func BroadcastAsForward[T candy.D](s *candy.Shape) ForwardFunc[T]
BroadcastAsForward returns a ForwardFunc for broadcasting to a target shape.
func BroadcastDivForward ¶
func BroadcastDivForward[T candy.D]() ForwardFunc[T]
BroadcastDivForward returns a ForwardFunc for broadcasted division: x / y.
func BroadcastEqForward ¶
func BroadcastEqForward[T candy.D]() ForwardFunc[T]
BroadcastEqForward returns a ForwardFunc for broadcasted equality: x == y.
func BroadcastGeForward ¶
func BroadcastGeForward[T candy.D]() ForwardFunc[T]
BroadcastGeForward returns a ForwardFunc for broadcasted greater-than-or-equal: x >= y.
func BroadcastGtForward ¶
func BroadcastGtForward[T candy.D]() ForwardFunc[T]
BroadcastGtForward returns a ForwardFunc for broadcasted greater-than: x > y.
func BroadcastLeForward ¶
func BroadcastLeForward[T candy.D]() ForwardFunc[T]
BroadcastLeForward returns a ForwardFunc for broadcasted less-than-or-equal: x <= y.
func BroadcastLtForward ¶
func BroadcastLtForward[T candy.D]() ForwardFunc[T]
BroadcastLtForward returns a ForwardFunc for broadcasted less-than: x < y.
func BroadcastMaximumForward ¶
func BroadcastMaximumForward[T candy.D]() ForwardFunc[T]
BroadcastMaximumForward returns a ForwardFunc for broadcasted maximum: max(x, y).
func BroadcastMinimumForward ¶
func BroadcastMinimumForward[T candy.D]() ForwardFunc[T]
BroadcastMinimumForward returns a ForwardFunc for broadcasted minimum: min(x, y).
func BroadcastMulForward ¶
func BroadcastMulForward[T candy.D]() ForwardFunc[T]
BroadcastMulForward returns a ForwardFunc for broadcasted multiplication: x * y.
func BroadcastNeForward ¶
func BroadcastNeForward[T candy.D]() ForwardFunc[T]
BroadcastNeForward returns a ForwardFunc for broadcasted inequality: x != y.
func BroadcastSubForward ¶
func BroadcastSubForward[T candy.D]() ForwardFunc[T]
BroadcastSubForward returns a ForwardFunc for broadcasted subtraction: x - y.
func CeilForward ¶
func CeilForward[T candy.D]() ForwardFunc[T]
CeilForward returns a ForwardFunc for element-wise ceiling: ceil(x).
func Conv1dForward ¶
func Conv1dForward[T candy.D](p *candy.Conv1DParams) ForwardFunc[T]
Conv1dForward returns a ForwardFunc for 1D convolution.
func Conv2dForward ¶
func Conv2dForward[T candy.D](p *candy.Conv2DParams) ForwardFunc[T]
Conv2dForward returns a ForwardFunc for 2D convolution.
func ConvTranspose1dForward ¶
func ConvTranspose1dForward[T candy.D](p *candy.ConvT1DParams) ForwardFunc[T]
ConvTranspose1dForward returns a ForwardFunc for 1D transposed convolution.
func ConvTranspose2dForward ¶
func ConvTranspose2dForward[T candy.D](p *candy.ConvT2DParams) ForwardFunc[T]
ConvTranspose2dForward returns a ForwardFunc for 2D transposed convolution.
func CopyForward ¶
func CopyForward[T candy.D]() ForwardFunc[T]
CopyForward returns a ForwardFunc for tensor cloning: y = x.
func CosForward ¶
func CosForward[T candy.D]() ForwardFunc[T]
CosForward returns a ForwardFunc for element-wise cosine: cos(x).
func DivForward ¶
func DivForward[T candy.D]() ForwardFunc[T]
DivForward returns a ForwardFunc for element-wise division: x / y.
func DropoutForward ¶
func DropoutForward[T candy.D](dropProb float64, mask **Tensor[T]) ForwardFunc[T]
DropoutForward returns a ForwardFunc for dropout.
func EluForward ¶
func EluForward[T candy.D](alpha float64) ForwardFunc[T]
EluForward returns a ForwardFunc for element-wise ELU: x if x >= 0, alpha*(exp(x)-1) if x < 0.
func EqForward ¶
func EqForward[T candy.D]() ForwardFunc[T]
EqForward returns a ForwardFunc for element-wise equality: x == y.
func ErfForward ¶
func ErfForward[T candy.D]() ForwardFunc[T]
ErfForward returns a ForwardFunc for element-wise error function: erf(x).
func ExpForward ¶
func ExpForward[T candy.D]() ForwardFunc[T]
ExpForward returns a ForwardFunc for element-wise exponential: exp(x).
func FastMaxForward ¶
func FastMaxForward[T candy.D]() ForwardFunc[T]
FastMaxForward returns a ForwardFunc for maximum over the last dimension.
func FastMinForward ¶
func FastMinForward[T candy.D]() ForwardFunc[T]
FastMinForward returns a ForwardFunc for minimum over the last dimension.
func FastSoftmaxForward ¶
func FastSoftmaxForward[T candy.D]() ForwardFunc[T]
FastSoftmaxForward returns a ForwardFunc for softmax along the last dimension.
func FlattenForward ¶
func FlattenForward[T candy.D](s, e int) ForwardFunc[T]
FlattenForward returns a ForwardFunc for flattening from start to end dimension.
func FloorForward ¶
func FloorForward[T candy.D]() ForwardFunc[T]
FloorForward returns a ForwardFunc for element-wise floor: floor(x).
func GatherForward ¶
func GatherForward[T candy.D](dim int) ForwardFunc[T]
GatherForward returns a ForwardFunc for gathering elements along a dimension.
func GeForward ¶
func GeForward[T candy.D]() ForwardFunc[T]
GeForward returns a ForwardFunc for element-wise greater-than-or-equal: x >= y.
func GeluErfForward ¶
func GeluErfForward[T candy.D]() ForwardFunc[T]
GeluErfForward returns a ForwardFunc for element-wise GELU (erf-based): gelu_erf(x).
func GeluForward ¶
func GeluForward[T candy.D]() ForwardFunc[T]
GeluForward returns a ForwardFunc for element-wise GELU: gelu(x).
func GtForward ¶
func GtForward[T candy.D]() ForwardFunc[T]
GtForward returns a ForwardFunc for element-wise greater-than: x > y.
func LeForward ¶
func LeForward[T candy.D]() ForwardFunc[T]
LeForward returns a ForwardFunc for element-wise less-than-or-equal: x <= y.
func LogForward ¶
func LogForward[T candy.D]() ForwardFunc[T]
LogForward returns a ForwardFunc for element-wise natural logarithm: log(x).
func LtForward ¶
func LtForward[T candy.D]() ForwardFunc[T]
LtForward returns a ForwardFunc for element-wise less-than: x < y.
func MatMulForward ¶
func MatMulForward[T candy.D]() ForwardFunc[T]
MatMulForward returns a ForwardFunc for matrix multiplication: x @ y.
func MaxPool2dForward ¶
func MaxPool2dForward[T candy.D](kH, kW, sH, sW int) ForwardFunc[T]
MaxPool2dForward returns a ForwardFunc for 2D max pooling.
func MaximumForward ¶
func MaximumForward[T candy.D]() ForwardFunc[T]
MaximumForward returns a ForwardFunc for element-wise maximum: max(x, y).
func MinimumForward ¶
func MinimumForward[T candy.D]() ForwardFunc[T]
MinimumForward returns a ForwardFunc for element-wise minimum: min(x, y).
func MulForward ¶
func MulForward[T candy.D]() ForwardFunc[T]
MulForward returns a ForwardFunc for element-wise multiplication: x * y.
func NeForward ¶
func NeForward[T candy.D]() ForwardFunc[T]
NeForward returns a ForwardFunc for element-wise inequality: x != y.
func NegForward ¶
func NegForward[T candy.D]() ForwardFunc[T]
NegForward returns a ForwardFunc for element-wise negation: -x.
func NormcdfForward ¶
func NormcdfForward[T candy.D]() ForwardFunc[T]
NormcdfForward returns a ForwardFunc for element-wise normal CDF: Φ(x).
func PowfForward ¶
func PowfForward[T candy.D](p float64) ForwardFunc[T]
PowfForward returns a ForwardFunc for element-wise power: x^param.
func RecipForward ¶
func RecipForward[T candy.D]() ForwardFunc[T]
RecipForward returns a ForwardFunc for element-wise reciprocal: 1/x.
func ReduceMaxForward ¶
func ReduceMaxForward[T candy.D](dim int, keepdim bool) ForwardFunc[T]
ReduceMaxForward returns a ForwardFunc for computing the maximum along a specified dimension.
func ReduceMeanForward ¶
func ReduceMeanForward[T candy.D](dims []int, keepdim bool) ForwardFunc[T]
ReduceMeanForward returns a ForwardFunc for computing the mean along specified dimensions.
func ReduceMinForward ¶
func ReduceMinForward[T candy.D](dim int, keepdim bool) ForwardFunc[T]
ReduceMinForward returns a ForwardFunc for computing the minimum along a specified dimension.
func ReduceSumForward ¶
func ReduceSumForward[T candy.D](dims []int, keepdim bool) ForwardFunc[T]
ReduceSumForward returns a ForwardFunc for summing along specified dimensions.
func ReluForward ¶
func ReluForward[T candy.D]() ForwardFunc[T]
ReluForward returns a ForwardFunc for element-wise ReLU: max(0, x).
func ReshapeForward ¶
func ReshapeForward[T candy.D](s *candy.Shape) ForwardFunc[T]
ReshapeForward returns a ForwardFunc for reshaping to a new shape.
func RoundForward ¶
func RoundForward[T candy.D]() ForwardFunc[T]
RoundForward returns a ForwardFunc for element-wise rounding: round(x).
func ScatterAddForward ¶
func ScatterAddForward[T candy.D](dim int) ForwardFunc[T]
func ScatterForward ¶
func ScatterForward[T candy.D](dim int) ForwardFunc[T]
ScatterForward returns a ForwardFunc for scattering source elements into a destination tensor along a dimension.
func SigmoidForward ¶
func SigmoidForward[T candy.D]() ForwardFunc[T]
SigmoidForward returns a ForwardFunc for element-wise sigmoid: σ(x) = 1/(1+exp(-x)).
func SignForward ¶
func SignForward[T candy.D]() ForwardFunc[T]
SignForward returns a ForwardFunc for element-wise sign: sign(x).
func SiluForward ¶
func SiluForward[T candy.D]() ForwardFunc[T]
SiluForward returns a ForwardFunc for element-wise SiLU: x * sigmoid(x).
func SinForward ¶
func SinForward[T candy.D]() ForwardFunc[T]
SinForward returns a ForwardFunc for element-wise sine: sin(x).
func SqrForward ¶
func SqrForward[T candy.D]() ForwardFunc[T]
SqrForward returns a ForwardFunc for element-wise square: x².
func SqrtForward ¶
func SqrtForward[T candy.D]() ForwardFunc[T]
SqrtForward returns a ForwardFunc for element-wise square root: √x.
func SqueezeForward ¶
func SqueezeForward[T candy.D](dim int) ForwardFunc[T]
SqueezeForward returns a ForwardFunc for squeezing a dimension.
func SubForward ¶
func SubForward[T candy.D]() ForwardFunc[T]
SubForward returns a ForwardFunc for element-wise subtraction: x - y.
func TanhForward ¶
func TanhForward[T candy.D]() ForwardFunc[T]
TanhForward returns a ForwardFunc for element-wise hyperbolic tangent: tanh(x).
func TransposeForward ¶
func TransposeForward[T candy.D](dim1, dim2 int) ForwardFunc[T]
TransposeForward returns a ForwardFunc for transposing dimensions.
func UnsqueezeForward ¶
func UnsqueezeForward[T candy.D](dim int) ForwardFunc[T]
UnsqueezeForward returns a ForwardFunc for unsqueezing a dimension.
func UpsampleNearest2dForward ¶
func UpsampleNearest2dForward[T candy.D](h, w int) ForwardFunc[T]
UpsampleNearest2dForward returns a ForwardFunc for 2D nearest neighbor upsampling.
func WhereCondForward ¶
func WhereCondForward[T candy.D](c *Tensor[T]) ForwardFunc[T]
WhereCondForward returns a ForwardFunc for conditional selection: c ? t : f.
type GradStore ¶
GradStore maps tensor IDs to their gradient tensors for backpropagation.
func NewGradStore ¶
NewGradStore returns a new gradient store.
func (*GradStore[T]) Clear ¶
func (s *GradStore[T]) Clear()
Clear removes all gradient tensors from the store.
func (*GradStore[T]) Delete ¶
Delete deletes the gradient tensor for the given tensor, returning it and whether it existed.
func (*GradStore[T]) DeleteByID ¶
DeleteByID deletes the gradient tensor for the given ID, returning it and whether it existed.
func (*GradStore[T]) Get ¶
Get returns the gradient tensor for the given tensor, or nil if not found.
func (*GradStore[T]) GetByID ¶
GetByID returns the gradient tensor for the given ID, or nil if not found.
func (*GradStore[T]) GetOrCreate ¶
GetOrCreate returns the gradient tensor for the given tensor, creating a zero-filled tensor if none exists.
type Op ¶
Op holds the computation graph node for automatic differentiation.
type Tensor ¶
Tensor is a multi-dimensional array supporting autograd.
func ApplyOp ¶
func ApplyOp[T candy.D](inputs []*Tensor[T], forward ForwardFunc[T], backward BackwardFunc[T]) (*Tensor[T], error)
ApplyOp applies a forward function and builds the computation graph if needed.
func NewFrom ¶
func NewFrom[T candy.D](storage candy.BackendStorage[T], layout *candy.Layout, dtype candy.DType, dev candy.Device) *Tensor[T]
NewFrom creates a tensor from storage and layout.
func ReadNPZByName ¶
func ReduceBroadcastGrad ¶
ReduceBroadcastGrad reduces a broadcasted gradient to the target shape.
func (*Tensor[T]) AdaptiveAvgPool2d ¶
AdaptiveAvgPool2d computes kernel and stride to produce exact outH×outW output, then calls AvgPool2d.
func (*Tensor[T]) BroadcastAdd ¶
BroadcastAdd adds with broadcast.
func (*Tensor[T]) BroadcastAs ¶
BroadcastAs broadcasts to shape.
func (*Tensor[T]) BroadcastClamp ¶
BroadcastClamp clamps values between broadcastable tensor bounds.
func (*Tensor[T]) BroadcastDiv ¶
BroadcastDiv divides with broadcast.
func (*Tensor[T]) BroadcastEq ¶
BroadcastEq equals with broadcast.
func (*Tensor[T]) BroadcastGe ¶
BroadcastGe greater-equal with broadcast.
func (*Tensor[T]) BroadcastGt ¶
BroadcastGt greater-than with broadcast.
func (*Tensor[T]) BroadcastLe ¶
BroadcastLe less-equal with broadcast.
func (*Tensor[T]) BroadcastLeft ¶
BroadcastLeft adds left dims for broadcast.
func (*Tensor[T]) BroadcastLt ¶
BroadcastLt less-than with broadcast.
func (*Tensor[T]) BroadcastMaximum ¶
BroadcastMaximum takes max with broadcast.
func (*Tensor[T]) BroadcastMinimum ¶
BroadcastMinimum takes min with broadcast.
func (*Tensor[T]) BroadcastMul ¶
BroadcastMul multiplies with broadcast.
func (*Tensor[T]) BroadcastNe ¶
BroadcastNe not equals with broadcast.
func (*Tensor[T]) BroadcastSub ¶
BroadcastSub subtracts with broadcast.
func (*Tensor[T]) ConvTranspose1d ¶
func (t *Tensor[T]) ConvTranspose1d(kernel *Tensor[T], params *candy.ConvT1DParams) (*Tensor[T], error)
ConvTranspose1d applies 1D transposed convolution.
func (*Tensor[T]) ConvTranspose2d ¶
func (t *Tensor[T]) ConvTranspose2d(kernel *Tensor[T], params *candy.ConvT2DParams) (*Tensor[T], error)
ConvTranspose2d applies 2D transposed convolution.
func (*Tensor[T]) Data ¶
func (t *Tensor[T]) Data() []T
Data returns CPU data slice, panics if not CPU.
func (*Tensor[T]) Dropout ¶
Dropout randomly zeroes elements with probability dropProb and rescales the remainder.
func (*Tensor[T]) FastSoftmax ¶
FastSoftmax soft maxes over last dim.
func (*Tensor[T]) FlattenAll ¶
FlattenAll flattens to 1D.
func (*Tensor[T]) LogSoftmax ¶
LogSoftmax computes the log-softmax along the specified dimension.
func (*Tensor[T]) MustAdaptiveAvgPool2d ¶
MustAdaptiveAvgPool2d applies AdaptiveAvgPool2d and panics on error.
func (*Tensor[T]) MustAddScalar ¶
MustAddScalar adds scalar, panics on error.
func (*Tensor[T]) MustAffine ¶
MustAffine applies affine, panics on error.
func (*Tensor[T]) MustAvgPool2d ¶
MustAvgPool2d applies 2D average pooling, panics on error.
func (*Tensor[T]) MustBackward ¶
MustBackward computes gradients, panics on error.
func (*Tensor[T]) MustBroadcastAdd ¶
MustBroadcastAdd adds with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastAs ¶
MustBroadcastAs broadcasts to shape, panics on error.
func (*Tensor[T]) MustBroadcastClamp ¶
MustBroadcastClamp clamps between broadcastable bounds, panics on error.
func (*Tensor[T]) MustBroadcastDiv ¶
MustBroadcastDiv divides with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastEq ¶
MustBroadcastEq equals with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastGe ¶
MustBroadcastGe greater-equal with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastGt ¶
MustBroadcastGt greater-than with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastLe ¶
MustBroadcastLe less-equal with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastLeft ¶
MustBroadcastLeft adds left dims, panics on error.
func (*Tensor[T]) MustBroadcastLt ¶
MustBroadcastLt less-than with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastMaximum ¶
MustBroadcastMaximum takes max with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastMinimum ¶
MustBroadcastMinimum takes min with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastMul ¶
MustBroadcastMul multiplies with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastNe ¶
MustBroadcastNe not equals with broadcast, panics on error.
func (*Tensor[T]) MustBroadcastSub ¶
MustBroadcastSub subtracts with broadcast, panics on error.
func (*Tensor[T]) MustConv1d ¶
func (t *Tensor[T]) MustConv1d(kernel *Tensor[T], params *candy.Conv1DParams) *Tensor[T]
MustConv1d applies 1D convolution, panics on error.
func (*Tensor[T]) MustConv2d ¶
func (t *Tensor[T]) MustConv2d(kernel *Tensor[T], params *candy.Conv2DParams) *Tensor[T]
MustConv2d applies 2D convolution, panics on error.
func (*Tensor[T]) MustConvTranspose1d ¶
func (t *Tensor[T]) MustConvTranspose1d(kernel *Tensor[T], params *candy.ConvT1DParams) *Tensor[T]
MustConvTranspose1d applies 1D transposed convolution, panics on error.
func (*Tensor[T]) MustConvTranspose2d ¶
func (t *Tensor[T]) MustConvTranspose2d(kernel *Tensor[T], params *candy.ConvT2DParams) *Tensor[T]
MustConvTranspose2d applies 2D transposed convolution, panics on error.
func (*Tensor[T]) MustDivScalar ¶
MustDivScalar divides by scalar, panics on error.
func (*Tensor[T]) MustDropout ¶
MustDropout drops out values, panics on error.
func (*Tensor[T]) MustExpand ¶
MustExpand expands to shape, panics on error.
func (*Tensor[T]) MustFastMax ¶
MustFastMax maxes over last dim, panics on error.
func (*Tensor[T]) MustFastMin ¶
MustFastMin mins over last dim, panics on error.
func (*Tensor[T]) MustFastSoftmax ¶
MustFastSoftmax soft maxes, panics on error.
func (*Tensor[T]) MustFlatten ¶
MustFlatten flattens range, panics on error.
func (*Tensor[T]) MustFlattenAll ¶
MustFlattenAll flattens to 1D, panics on error.
func (*Tensor[T]) MustFullLike ¶
MustFullLike creates like t filled with value, panics on error.
func (*Tensor[T]) MustGather ¶
MustGather gathers along dimension, panics on error.
func (*Tensor[T]) MustGeluErf ¶
MustGeluErf applies ERF GELU, panics on error.
func (*Tensor[T]) MustLogSoftmax ¶
MustLogSoftmax log soft maxes, panics on error.
func (*Tensor[T]) MustMatMul ¶
MustMatMul multiplies matrices, panics on error.
func (*Tensor[T]) MustMaxKeep ¶
MustMaxKeep computes maximum along dims, panics on error.
func (*Tensor[T]) MustMaxPool2d ¶
MustMaxPool2d applies 2D max pooling, panics on error.
func (*Tensor[T]) MustMaximum ¶
MustMaximum takes element-wise max, panics on error.
func (*Tensor[T]) MustMeanAll ¶
MustMeanAll computes mean of all elements, panics on error.
func (*Tensor[T]) MustMeanKeep ¶
MustMeanKeep computes mean along dims, panics on error.
func (*Tensor[T]) MustMinKeep ¶
MustMinKeep computes minimum along dims, panics on error.
func (*Tensor[T]) MustMinimum ¶
MustMinimum takes element-wise min, panics on error.
func (*Tensor[T]) MustMulScalar ¶
MustMulScalar multiplies by scalar, panics on error.
func (*Tensor[T]) MustNormcdf ¶
MustNormcdf normal CDFs, panics on error.
func (*Tensor[T]) MustOnesLike ¶
MustOnesLike creates like t filled with ones, panics on error.
func (*Tensor[T]) MustRandLike ¶
MustRandLike creates like t with uniform samples, panics on error.
func (*Tensor[T]) MustRandNLike ¶
MustRandNLike creates like t with normal samples, panics on error.
func (*Tensor[T]) MustReduceMax ¶
MustReduceMax computes maximum along dims, panics on error.
func (*Tensor[T]) MustReduceMean ¶
MustReduceMean computes mean along dims, panics on error.
func (*Tensor[T]) MustReduceMin ¶
MustReduceMin computes minimum along dims, panics on error.
func (*Tensor[T]) MustReduceSum ¶
MustReduceSum computes sum along dims, panics on error.
func (*Tensor[T]) MustReshape ¶
MustReshape reshapes, panics on error.
func (*Tensor[T]) MustScatter ¶
MustScatter scatters along dimension, panics on error.
func (*Tensor[T]) MustScatterAdd ¶
MustScatterAdd performs scatter-add operation, panics on error.
func (*Tensor[T]) MustSigmoid ¶
MustSigmoid applies sigmoid, panics on error.
func (*Tensor[T]) MustSoftmax ¶
MustSoftmax soft maxes, panics on error.
func (*Tensor[T]) MustSqueeze ¶
MustSqueeze squeezes dim, panics on error.
func (*Tensor[T]) MustSubScalar ¶
MustSubScalar subtracts scalar, panics on error.
func (*Tensor[T]) MustSumAll ¶
MustSumAll computes sum of all elements, panics on error.
func (*Tensor[T]) MustSumKeep ¶
MustSumKeep computes sum along dims, panics on error.
func (*Tensor[T]) MustToFloat32 ¶
MustToFloat32 converts to float32, panics on error.
func (*Tensor[T]) MustToFloat64 ¶
MustToFloat64 converts to float64, panics on error.
func (*Tensor[T]) MustToInt64 ¶
MustToInt64 converts to int64, panics on error.
func (*Tensor[T]) MustToUint32 ¶
MustToUint32 converts to uint32, panics on error.
func (*Tensor[T]) MustToUint8 ¶
MustToUint8 converts to uint8, panics on error.
func (*Tensor[T]) MustTranspose ¶
MustTranspose transposes, panics on error.
func (*Tensor[T]) MustUnsqueeze ¶
MustUnsqueeze inserts dim, panics on error.
func (*Tensor[T]) MustUpsampleNearest2d ¶
MustUpsampleNearest2d upsamples 2D, panics on error.
func (*Tensor[T]) MustWhereCond ¶
MustWhereCond selects, panics on error.
func (*Tensor[T]) MustWriteNPY ¶
func (*Tensor[T]) MustZerosLike ¶
MustZerosLike creates like t filled with zeros, panics on error.
func (*Tensor[T]) ReduceMean ¶
ReduceMean computes mean along dims, keepdim retains size 1.
func (*Tensor[T]) RequiresGrad ¶
RequiresGrad marks for gradient, returns self.
func (*Tensor[T]) ScatterAdd ¶
ScatterAdd performs scatter-add operation: adds src values to dst at indices along dimension.
func (*Tensor[T]) SetStorage ¶
func (t *Tensor[T]) SetStorage(s candy.BackendStorage[T]) *Tensor[T]
SetStorage sets storage, returns self.
func (*Tensor[T]) SqueezeDims ¶
SqueezeDims squeezes multiple dims if size 1.
func (*Tensor[T]) Storage ¶
func (t *Tensor[T]) Storage() candy.BackendStorage[T]
Storage returns the backend storage.
func (*Tensor[T]) String ¶
String returns a compact, PyTorch-style string representation of the tensor.
Example (Empty) ¶
ExampleTensor_String_empty demonstrates formatting an empty tensor.
package main
import (
"fmt"
"github.com/gocnn/candy"
"github.com/gocnn/candy/tensor"
)
func main() {
t := tensor.MustZeros[float32](candy.NewShape(0), candy.CPU)
fmt.Println("\n", t)
}
Output: tensor([], shape=[0], dtype=float32, device=cpu)
Example (Matrix) ¶
ExampleTensor_String_matrix demonstrates formatting a 2D tensor (matrix).
package main
import (
"fmt"
"github.com/gocnn/candy"
"github.com/gocnn/candy/tensor"
)
func main() {
t := tensor.MustNew([]float32{
1.0, 2.0, 3.0,
4.0, 5.0, 6.0,
}, candy.NewShape(2, 3), candy.CPU)
fmt.Println("\n", t)
}
Output: tensor([[1., 2., 3.], [4., 5., 6.]], shape=[2 3], dtype=float32, device=cpu)
Example (Scalar) ¶
ExampleTensor_String_scalar demonstrates formatting a scalar tensor.
package main
import (
"fmt"
"github.com/gocnn/candy"
"github.com/gocnn/candy/tensor"
)
func main() {
t := tensor.MustNew([]float32{3.14159}, candy.NewShape(), candy.CPU)
fmt.Println("\n", t)
}
Output: tensor(3.14159, shape=[], dtype=float32, device=cpu)
Example (Special) ¶
ExampleTensor_String_special demonstrates formatting with NaN, infinity, and extreme values.
package main
import (
"fmt"
"math"
"github.com/gocnn/candy"
"github.com/gocnn/candy/tensor"
)
func main() {
data := []float64{
math.NaN(), math.Inf(1), math.Inf(-1), math.MaxFloat64, // NaN, +Inf, -Inf, MaxFloat64
-math.MaxFloat64, 2.2250738585072014e-308, 4.9406564584124654e-324, 0.0, // -MaxFloat64, MinNormalFloat64, SmallestNonzeroFloat64, Zero
0.0, 42.0, -999999999999.999, 0.000000000000001, // Negative zero, normal, large negative, tiny positive
}
t := tensor.MustNew(data, candy.NewShape(3, 4), candy.CPU)
fmt.Println("\n", t)
}
Output: tensor([[ nan, inf, -inf, 1.7977e+308], [-1.7977e+308, 2.2251e-308, 4.9407e-324, 0.], [ 0., 42., -1e+12, 1e-15]], shape=[3 4], dtype=float64, device=cpu)
Example (Vector) ¶
ExampleTensor_String_vector demonstrates formatting a 1D tensor (vector).
package main
import (
"fmt"
"github.com/gocnn/candy"
"github.com/gocnn/candy/tensor"
)
func main() {
t := tensor.MustNew([]float32{1.0, 2.5, 3.0, 4.25, 5.0}, candy.NewShape(5), candy.CPU)
fmt.Println("\n", t)
}
Output: tensor([ 1., 2.5, 3., 4.25, 5.], shape=[5], dtype=float32, device=cpu)
func (*Tensor[T]) UpsampleNearest2d ¶
UpsampleNearest2d upsamples 2D with nearest neighbor.