정의
Tensor 호출이 Shape와 연산을 표현합니다. TypeNN은 그래프 노드를 기록합니다.
tensor.matmul(weight).relu()TypeScript 신경망 프레임워크
TypeNN은 Tensor와 Module 연산을 지연 그래프로 구성합니다. TypeShade는 커널을 컴파일하고 CPU와 지원되는 GPU 백엔드에서 실행합니다.
프리릴리스 · 현재 사용법은 저장소 소스와 예제를 기준으로 확인할 수 있습니다.
import * as nn from "typenn";
const device = await nn.device();
const input = device.tensor([1, 2, 3, 4], { shape: [2, 2] });
const weight = device.tensor([5, 6, 7, 8], { shape: [2, 2] });
const output = input.matmul(weight).relu();
console.log(await output.data());
// Float32Array [19, 22, 43, 50]
await output.disposeGraph();
await device.dispose();[19, 22, 43, 50]예시 출력TypeScript에서 실행까지
Tensor 호출이 Shape와 연산을 표현합니다. TypeNN은 그래프 노드를 기록합니다.
tensor.matmul(weight).relu()TypeNN이 그래프 연산을 TypeShade 커널 프로그램에 연결합니다.
Tensor graph → kernel programTypeShade가 선택된 실행 계층에서 그래프에 필요한 작업을 디스패치합니다.
CPU · WebGPU · WebGL2** WebGL2는 제한된 compute lowering 경로입니다. Frame에 디스패치를 모아도 커널이 퓨전되는 것은 아닙니다.
TypeNN 살펴보기
브라우저에서 행렬 연산을 실행한 뒤 실행 그래프, 자동 미분, 모델 학습 가이드를 확인하세요.
현재 구현 상태
GPU 학습에서는 기울기와 Adam 상태를 Resident로 유지하고 TypeShade 커널로 파라미터를 갱신합니다. Tensor 그래프 연산별 디스패치는 유지되며 그래프 퓨전과 타일 MatMul은 아직 구현되지 않았습니다.