v1.1.0
Highlights
Support Dynamic Computation Graph
Dynamic computation graph like RNN is supported, and some interfaces in descriptor runner are changed.
//v1.0.0:
let runner = await WebDNN.prepareAll(modelPath);
let x = await runner.getInputViews()[0];
let y = await runner.getOutputViews()[0];
x.set(loadImageData());
await runner.run()
print('result:', y);
//v1.1.0:
// "WebDNN.prepareAll()" is removed. Please use "WebDNN.load"
let runner = await WebDNN.load(modelPath);
// You can can get input and output views synchronously
let x = runner.getInputViews()[0];
let y = runner.getOutputViews()[0];
// You can modify dynamic hyper parameter at run-time (ex: length of input time series)
runner.setPlaceholderValue({ T: 8 });
x.set(loadTextData());
await runner.run();
//Because "runner.getInputViews()" and "runner.getOutputViews()" return "SymbolicArrayBufferView",
//To get actual ArrayBufferView, you need to convert them explicitly.
print('result:', y.toActual());
(#305, #306, #307, #320, #338)
Update Documents
Reference document is updated (#342)
Support WebGPU Backend in iOS
From iOS 11, WebGPU is also supported in mobile safari (with experimental flag). WebDNN supports these environment. (#330)
Add Operators
- Zeropad #341
- LSTM #300 #301 #337 #340
- Dilated convolution #326
- Softmax #325
- Sigmoid #324
- Softplus #324
- Sigmoid #324
- Clipped ReLU #324
- Hard Sigmoid #324
- Leaky ReLU #324
Fix Many Bugs
Enormous number of bugs are fixed!