정의
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()노드마다 TypeShade 커널 함수가 있고, TypeNN이 Resident 배열에 대해 호출합니다.
Tensor graph → kernel functionsfuse 범위 하나가 선택된 실행 계층에서 필요한 커널을 실행합니다.
CPU · WebGPU · WebGL2** WebGL2와 CPU 계층은 같은 커널 함수를 따로 실행합니다. elementwise 연쇄를 디스패치 하나로 퓨전하는 것은 WebGPU뿐입니다.
TypeNN 살펴보기
브라우저에서 행렬 연산을 실행한 뒤 실행 그래프, 자동 미분, 모델 학습 가이드를 확인하세요.
현재 구현 상태
data() 호출마다 TypeShade fuse 범위 하나가 실행되고, device.lastReport가 그 계획을 보여 줍니다. SGD와 Adam은 파라미터를 장치에서 갱신합니다. 타일 MatMul은 앞으로의 과제입니다.