-
Node.js (10.13.0+): https://nodejs.org/en/ - (Optional) Use nvm (Windows / Mac/Linux) to install Node.js
-
Python (2.7 or 3.6+): https://www.python.org/downloads/
- python should be added to the PATH environment variable
-
Visual Studio Code: https://code.visualstudio.com/
- required extension: TSLint
- required extension: Clang-Format
- required extension: Debugger for Chrome
-
Chrome Browser
-
(Optional) Netron: https://lutzroeder.github.io/Netron/
Please follow the following steps to running tests:
- run
npm ci
in the root folder of the repo. - (Optional) run
npm run build
in the root folder of the repo to enable WebAssebmly features. - run
npm test
to run suite0 test cases and check the console output.- if (2) is not run, please run
npm test -- -b=cpu,webgl
to skip WebAssebmly tests
- if (2) is not run, please run
To debug the code from test-runner on Chrome:
- make sure
npm ci
executed at least once. - use vscode to open the root folder.
- run
npm test -- <your-args> --debug
to run one or more test cases. - in the open Chrome browser, click the
DEBUG
button on the top-right of the page. - in VSCode, click [menu]->Debug->Start Debugging or press F5, select
Karma DEBUG RUNNER
to attach. - put breakpoints in source code, and Refresh the page to reload.
Note: run npm test -- --help
for a full CLI instruction.
To debug on an Apple iOS device, please refer to the following steps:
- install RemoteDebug iOS WebKit Adapter by following its instructions.
- launch the adapter in commandline:
remotedebug_ios_webkit_adapter --port=9000
. - in VSCode, select debug configuration
Remote Browser via Webkit Adaptor
. - follow the steps above to debug.
To debug on an Android device, please refer to the following steps:
- Install Android SDK Platform Tools and make sure
adb
is ready to use. - Follow instructions in Remote Debugging on Android to launch
adb
. Make sure to use port 9000 so that the existing debug configuration works. - in VSCode, select debug configuration
Remote Browser via Webkit Adaptor
. - follow the steps above to debug.
To profile the kernel level execution time, please run the following command:
npm test -- model <model_name> --profile
It generates raw perf data for each kernel, you may want use tools/parse-profiler.ts to parse it.