참조

API 참조

현재 예제에서 사용하는 공개 API를 정리했습니다. 정확한 overload와 옵션은 소스 선언을 확인하세요.

Device와 Tensor 수명주기

생성, 실행, 해제device.ts
const device = await nn.device({ device: "auto" });
const x = device.tensor([1, 2, 3, 4], { shape: [2, 2] });
const y = x.relu().softmax();
const values = await y.data();

await y.disposeGraph();
await device.dispose();
  • device(options?)auto, cpu, webgpu, webgl2 중 선택하여 Device를 엽니다.
  • Device.tensor(values, { shape })Shape를 검사한 입력 Tensor를 생성합니다.
  • Tensor.data()요청 그래프를 실행하고 호스트 값으로 반환합니다.
  • Tensor.disposeGraph(preserve?)지정한 Tensor를 보존하면서 그래프 값을 해제합니다.
  • Device.dispose()대기 중 작업을 기다린 뒤 런타임 자원을 정리합니다.

Tensor 연산

선형 대수

matmul(other, options?)
전치 옵션이 있는 rank-2 행렬 곱입니다.

Elementwise

add, sub, mul, div, maximum, minimum, pow와 지원 activation입니다.

Reduction과 정규화

sum, mean, max, min, argMax, softmax, logSoftmax.

Loss와 기울기

softmaxCrossEntropyWithLogits, backward()와 일부 Tensor 그래프 미분 규칙입니다.

Module과 Optimizer

  • Module하위 계층을 등록하고 파라미터를 조회하며 train/eval 모드를 설정합니다.
  • Sequential, Linear, Flatten, ReLU, Dropout현재 예제에서 사용하는 기본 계층입니다.
  • optim.SGD, optim.AdamDevice 계층에 따라 CPU 배열 또는 GPU 커널로 파라미터를 갱신합니다.
  • CrossEntropyLossMNIST 경로에서 logits와 정수 클래스 레이블을 받습니다.

TypeShade의 순수 함수 shadeGrad와 TypeNN Tensor 그래프 자동 미분은 서로 다른 기능입니다.

소스 선언 살펴보기 ↗