13:51:38 RRSAgent has joined #webmachinelearning 13:51:38 logging to https://www.w3.org/2019/06/06-webmachinelearning-irc 13:51:45 Zakim has joined #webmachinelearning 13:51:49 RRSAgent, make logs public 13:51:56 Meeting: WebML CG Teleconference – 6 June 2019 13:52:02 Chair: Anssi 13:52:06 Agenda: https://github.com/webmachinelearning/meetings/blob/master/telcons/2019-06-06-agenda.md 13:58:01 ningxin_hu has joined #webmachinelearning 13:58:47 Scribe: Anssi 13:58:53 RafaelCintron has joined #webmachinelearning 13:58:58 scribeNick: anssik 13:59:04 Present+ Anssi_Kostiainen 13:59:08 Present+ Rafael_Cintron 13:59:10 Rama has joined #webmachinelearning 13:59:16 Present+ Ganesan_Ramalingam 13:59:33 RRSAgent, draft minutes v2 13:59:33 I have made the request to generate https://www.w3.org/2019/06/06-webmachinelearning-minutes.html anssik 14:00:06 Present+ Ningxin_Hu 14:00:14 tomayac has joined #webmachinelearning 14:00:37 Hi there! 14:00:47 Present+ Thomas_Steiner 14:01:42 Jonathan has joined #webmachinelearning 14:03:01 TOPIC: Survey graph-building APIs from native ecosystem 14:05:17 ningxin_hu: first input on nGraph API, in Paul's comments nGraph is one exec provider 14:05:37 ... approach applied to try write as simple example code as possible 14:06:41 ... for WebNN vs. other native graph APIs comparison, reproducing the same example graph 14:07:56 ... highlights of evaluation: nGraph API uses no enums to represent op types, it uses constructors of different classes 14:08:32 ... notably, no addOperand call similar to WebNN POC 14:10:21 ... data provided by user code as a param at execution time 14:10:41 -> https://github.com/webmachinelearning/webnn/issues/20 Survey graph-building APIs from native ecosystem 14:13:48 [ningxin_hu explains the details of the example https://github.com/webmachinelearning/webnn/issues/20#issuecomment-496838734] 14:14:34 Rama: does nGraph has a notion of a subgraph used for control flow constructs? 14:14:42 s/has a/have a/ 14:15:01 ningxin_hu: has a concept of function, not sure about nesting, will investigate and come back 14:17:13 anssik: is the nGraph more expressive than WebNN API? 14:18:26 ningxin_hu: question is more about developer ergonomics, WebNN API is a C-style API so lacks object-oriented style 14:20:41 ningxin_hu: MPSNNGraph investigation done by my colleague 14:21:02 ... he is involved with WebNN POC implementation work, did MPS part of that 14:21:27 ... happy to share his experience, also welcome Apple reps' insights 14:22:07 ... highlight comparing with nGraph: no concept to distinguish between constants and inputs 14:23:00 [ ningxin_hu discussing example https://github.com/fujunwei/MPSNNGraph/blob/simple/MPSNNGraphSample/main.mm] 14:23:23 ... on API level not much diff between constants and inputs 14:24:43 ... the API uses different class types to distinguish ops, also MPSNNGraph takes images as input 14:25:05 ... nGraph OTOH has a helper for the same task 14:25:43 ... MPSNNGraph has a class to create a graph, you provide result image as a graph output 14:26:21 ... would like to get Apple reps insight on the MPSNNGraph 14:27:37 RafaelCintron: talking on behalf of paul 14:27:56 ... ONNX is an open source standard, standards body of the same name 14:28:22 ... ONNX runtime is an OSS project, implementation of the ONNX format 14:28:50 ... execution providers run the models, types for CPU, DirectML with compute shaders 14:29:27 anssik: shipping status? 14:29:46 RafaelCintron: DirectML shipping in upcoming Windows release 14:29:52 ... both public APIs 14:30:10 ... ONNX runtime has a CPU exec model only as of now 14:30:57 ningxin_hu: ONNX Runtime's main functionality to load the model and do the inference, is that correct? 14:31:01 RafaelCintron: correct 14:31:20 ningxin_hu: in Paul's comments, he provided a graph and edge reference, how that works with exec providers 14:31:48 ... question re the header file, is this an API for developers to call into, or an internal API for execution boundary 14:32:19 RafaelCintron: API that an exec provider would call into 14:32:48 ningxin_hu: to clarify, it is an API for an exec provider to use, not an application developer 14:32:54 RafaelCintron: correct 14:33:24 anssik: are there any web bindings to these APIs? 14:33:28 RafaelCintron: not in browsers no 14:35:11 Present+ Kai_Ninomiya 14:35:21 Present+ Jonathan_Bingham 14:35:28 Present+ Gabe_Esteven 14:35:45 RRSAgent, draft minutes v2 14:35:45 I have made the request to generate https://www.w3.org/2019/06/06-webmachinelearning-minutes.html anssik 14:36:36 Sorry, I don't know the answer 14:40:24 Android NNAPI has a C++ wrapper which should simply the code to use NN functionalities. My question is what's the status of that? Any code example available to compare with existing WebNN API (derived from NN C API)? 14:41:24 I agree with Anssi said earlier that we should combine all of the APIs into one. 14:41:51 The link of NNAPI C++ wrapper: https://android.googlesource.com/platform/frameworks/ml/+/refs/heads/master/nn/runtime/include/NeuralNetworksWrapper.h 14:44:08 ningxin_hu: based on the survey, my take is maybe we can focus on the aspects of the API itself, functionality of the APIs one by one 14:44:31 ... for each we can refer to each native API feature, and see what to absorb for the WebNN API improvement 14:44:55 ... goals to simplify web developers work, follow web API design conventions 14:46:12 ... propose continue discussion in that issue https://github.com/webmachinelearning/webnn/issues/16 14:46:36 a/that// 14:46:42 s/that// 14:47:19 ningxin_hu: in #16 there are already multiple design points, maybe split to focus discussion, then map one PR to one issue 14:48:28 TOPIC: Graph-building syntax simpler for web developers 14:48:33 -> https://github.com/webmachinelearning/webnn/issues/16 Graph-building syntax simpler for web developers 14:49:07 ningxin_hu: we should summarize discussion points in #16 and create separate issues for further discussion and eventual resolution and PRs 14:49:20 Rama: support splitting where it makes sense 14:49:56 anssik: please open issues as you see fit 14:50:40 ningxin_hu: I will summarize my position in that issues 14:51:26 TOPIC: Call schedule for the upcoming summer 14:51:41 anssik: unable to chair 20 June 2019, July holiday period, next telcons: 14:51:48 27 June 2019 14:52:01 15 August 2019 14:52:33 https://www.w3.org/2019/09/TPAC/schedule.html 14:52:50 WebML CG has F2F Tuesday 17 September https://www.w3.org/2019/09/TPAC/schedule.html#Tuesday 14:54:01 TOPIC: Adjust 14:54:23 RRSAgent, draft minutes v2 14:54:23 I have made the request to generate https://www.w3.org/2019/06/06-webmachinelearning-minutes.html anssik 17:09:36 Zakim has left #webmachinelearning