TensorFlow.js는 머신러닝 모델을 훈련하고 배포하기 위한 오픈 소스 하드웨어 가속 JavaScript 라이브러리입니다.
브라우저에서 ML 개발
유연하고 직관적인 API를 사용하여 하위 수준 JavaScript 선형 대수 라이브러리 또는 상위 수준 레이어 API를 사용하여 처음부터 모델을 구축하세요.
Node.js에서 ML 개발
Node.js 런타임에서 동일한 TensorFlow.js API를 사용하여 기본 TensorFlow를 실행하세요.
기존 모델 실행
TensorFlow.js 모델 변환기를 사용하여 브라우저에서 바로 기존 TensorFlow 모델을 실행하세요.
기존 모델 재교육
브라우저에 연결된 센서 데이터 또는 기타 클라이언트 측 데이터를 사용하여 기존 ML 모델을 다시 교육합니다.
이 저장소에는 여러 패키지를 결합하는 논리와 스크립트가 포함되어 있습니다.
아피스:
백엔드/플랫폼:
번들 크기가 중요하다면 해당 패키지를 개별적으로 가져올 수 있습니다.
Node.js 지원을 찾고 있다면 TensorFlow.js Node 디렉터리를 확인하세요.
예제 저장소와 튜토리얼을 확인해 보세요.
TensorFlow.js와 관련된 모든 프로젝트의 갤러리를 꼭 확인해 보세요.
NPM에서 사전 훈련된 모델을 호스팅하는 모델 저장소도 확인해 보세요.
JavaScript 프로젝트에서 TensorFlow.js를 가져오는 두 가지 주요 방법은 스크립트 태그를 통 하거나 NPM에서 설치하고 Parcel, WebPack 또는 Rollup과 같은 빌드 도구를 사용하는 것입니다.
HTML 파일에 다음 코드를 추가합니다.
< html >
< head >
<!-- Load TensorFlow.js -->
< script src =" https://cdn.jsdelivr.net/npm/@tensorflow/tfjs/dist/tf.min.js " > </ script >
<!-- Place your code in the script tag below. You can also use an external .js file -->
< script >
// Notice there is no 'import' statement. 'tf' is available on the index-page
// because of the script tag above.
// Define a model for linear regression.
const model = tf . sequential ( ) ;
model . add ( tf . layers . dense ( { units : 1 , inputShape : [ 1 ] } ) ) ;
// Prepare the model for training: Specify the loss and the optimizer.
model . compile ( { loss : 'meanSquaredError' , optimizer : 'sgd' } ) ;
// Generate some synthetic data for training.
const xs = tf . tensor2d ( [ 1 , 2 , 3 , 4 ] , [ 4 , 1 ] ) ;
const ys = tf . tensor2d ( [ 1 , 3 , 5 , 7 ] , [ 4 , 1 ] ) ;
// Train the model using the data.
model . fit ( xs , ys ) . then ( ( ) => {
// Use the model to do inference on a data point the model hasn't seen before:
// Open the browser devtools to see the output
model . predict ( tf . tensor2d ( [ 5 ] , [ 1 , 1 ] ) ) . print ( ) ;
} ) ;
</ script >
</ head >
< body >
</ body >
</ html >
브라우저에서 해당 HTML 파일을 열면 코드가 실행됩니다!
Yarn 또는 npm을 사용하여 프로젝트에 TensorFlow.js를 추가합니다. 참고: ES2017 구문(예: import
)을 사용하기 때문에 이 워크플로에서는 코드를 이전 브라우저가 이해할 수 있는 코드로 변환하기 위해 최신 브라우저나 번들러/트랜스파일러를 사용한다고 가정합니다. Parcel을 사용하여 코드를 작성하는 방법을 보려면 예제를 참조하세요. 그러나 원하는 빌드 도구를 자유롭게 사용할 수 있습니다.
import * as tf from '@tensorflow/tfjs' ;
// Define a model for linear regression.
const model = tf . sequential ( ) ;
model . add ( tf . layers . dense ( { units : 1 , inputShape : [ 1 ] } ) ) ;
// Prepare the model for training: Specify the loss and the optimizer.
model . compile ( { loss : 'meanSquaredError' , optimizer : 'sgd' } ) ;
// Generate some synthetic data for training.
const xs = tf . tensor2d ( [ 1 , 2 , 3 , 4 ] , [ 4 , 1 ] ) ;
const ys = tf . tensor2d ( [ 1 , 3 , 5 , 7 ] , [ 4 , 1 ] ) ;
// Train the model using the data.
model . fit ( xs , ys ) . then ( ( ) => {
// Use the model to do inference on a data point the model hasn't seen before:
model . predict ( tf . tensor2d ( [ 5 ] , [ 1 , 1 ] ) ) . print ( ) ;
} ) ;
자세한 내용은 튜토리얼, 예제 및 문서를 참조하세요.
우리는 다음에서 사전 훈련된 모델 포팅을 지원합니다.
아래를 참조하세요:
TensorFlow.js는 TensorFlow 생태계의 일부입니다. 더 많은 정보를 원하시면:
tfjs
태그를 사용하세요.테스트 지원을 제공해 주신 BrowserStack에게 감사드립니다.