NNBlocks: a Blockly framework for AI computing

Deep learning compiler tool, Tensor Virtual Machine (TVM), has excellent deployment, compilation, and optimization capabilities supported by the industry following the vigorous growth in neural networks (NN). It has a unified intermediate representation (IR) format that can provide efficient compilation and portability. However, its high operational complexity requires considerable effort in development. For beginners with programming backgrounds, a new and easy-to-use design approach is needed. This paper proposes a visual concept approach that can execute artificial intelligence (AI) computing using block-based tools with AI knowledge. This research also develops a web-based NNBlocks framework that uses this approach to integrate with TVM. We conduct experiments to evaluate this approach: (1) interviewees assessed intuition through operating. (2) Interviewees answered a Usability Metric for User Experience (UMUX) to evaluate usability. (3) Interviewees answered the significance of the theme survey assessment. (4) The impact on the system was evaluated through experiments. The results indicate that interviewees respond positively to the intuitiveness of the framework. The usability evaluation of UMUX meets expectations. The theme survey shows that the framework is significant for AI learning. The experiments of the impact indicate that the framework will not burden the system.

[1]  Zheng Zhang,et al.  MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems , 2015, ArXiv.

[2]  Felienne Hermans,et al.  How Kids Code and How We Know: An Exploratory Study on the Scratch Repository , 2016, ICER.

[3]  Takuya Akiba,et al.  Chainer: A Deep Learning Framework for Accelerating the Research Cycle , 2019, KDD.

[4]  Chris Johnson,et al.  Blocks in, blocks out: A language for 3D models , 2015, 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond).

[5]  David Weintrop,et al.  Comparing Block-Based and Text-Based Programming in High School Computer Science Classrooms , 2017, ACM Trans. Comput. Educ..

[6]  Diana Franklin,et al.  Blockly goes to work: Block-based programming for industrial robots , 2017, 2017 IEEE Blocks and Beyond Workshop (B&B).

[7]  Azeddine Bilami,et al.  MsM: A microservice middleware for smart WSN-based IoT application , 2019, J. Netw. Comput. Appl..

[8]  Haichen Shen,et al.  TVM: An Automated End-to-End Optimizing Compiler for Deep Learning , 2018, OSDI.

[9]  Pablo Orduña,et al.  New Approach for Conversational Agent Definition by Non-Programmers: A Visual Domain-Specific Language , 2019, IEEE Access.

[10]  Kristy Elizabeth Boyer,et al.  Toward a Responsive Interface to Support Novices in Block-Based Programming , 2019, 2019 IEEE Blocks and Beyond Workshop (B&B).

[11]  Kaj Grønbæk,et al.  A visual programming approach based on domain ontologies for configuring industrial IoT installations , 2017, IOT.

[12]  Christian Moll,et al.  Kniwwelino: A Lightweight and WiFi Enabled Prototyping Platform for Children , 2018, Tangible and Embedded Interaction.

[13]  Jason Cong,et al.  Minimizing Computation in Convolutional Neural Networks , 2014, ICANN.

[14]  John Maloney,et al.  The Scratch Programming Language and Environment , 2010, TOCE.

[15]  Maya Cakmak,et al.  Computer Science Outreach with End-User Robot-Programming Tools , 2017, SIGCSE.

[16]  Karthik Ramani,et al.  StoryMakAR: Bringing Stories to Life With An Augmented Reality & Physical Prototyping Toolkit for Youth , 2020, CHI.

[17]  Razvan Pascanu,et al.  Theano: new features and speed improvements , 2012, ArXiv.

[18]  Jonathan Protzenko Pushing blocks all the way to C++ , 2015, 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond).

[19]  B. Thomas,et al.  Usability Evaluation In Industry , 1996 .

[20]  Ralf Romeike,et al.  It’s not Magic After All – Machine Learning in Snap! using Reinforcement Learning , 2019, 2019 IEEE Blocks and Beyond Workshop (B&B).

[21]  Yuan-Shin Hwang,et al.  GPUBlocks: GUI Programming Tool for CUDA and OpenCL , 2019, J. Signal Process. Syst..

[22]  Arjun Rao,et al.  Milo: A visual programming environment for Data Science Education , 2018, 2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[23]  Cormac J. Sreenan,et al.  A visual programming framework for wireless sensor networks in smart home applications , 2015, 2015 IEEE Tenth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP).

[24]  Sidney K. D'Mello,et al.  Multimodal Modeling of Coordination and Coregulation Patterns in Speech Rate during Triadic Collaborative Problem Solving , 2018, ICMI.

[25]  Trevor Darrell,et al.  Caffe: Convolutional Architecture for Fast Feature Embedding , 2014, ACM Multimedia.

[26]  James T. Miller,et al.  An Empirical Evaluation of the System Usability Scale , 2008, Int. J. Hum. Comput. Interact..

[27]  Yinong Chen,et al.  VIPLE: Visual IoT/Robotics Programming Language Environment for Computer Science Education , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[28]  Rolf Drechsler,et al.  Look What I Can Do: Acquisition of Programming Skills in the Context of Living Labs , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET).

[29]  Vikram Kapila,et al.  Using A Visual Programming Environment and Custom Robots to Learn C Programming and K-12 STEM Concepts , 2016, FabLearn.

[30]  Fan Wang,et al.  Visual and User-Defined Smart Contract Designing System Based on Automatic Coding , 2019, IEEE Access.

[31]  Yuan Yu,et al.  TensorFlow: A system for large-scale machine learning , 2016, OSDI.

[32]  Tianqi Chen,et al.  Relay: a new IR for machine learning frameworks , 2018, MAPL@PLDI.

[33]  Robert Holwerda,et al.  A Usability Analysis of Blocks-based Programming Editors using Cognitive Dimensions , 2018, 2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[34]  Matthew Poole Extending the design of a blocks-based python environment to support complex types , 2017, 2017 IEEE Blocks and Beyond Workshop (B&B).

[35]  Nouf Alturaief,et al.  DeepScratch: Scratch Programming Language Extension for Deep Learning Education , 2020 .

[36]  Ramón Zataraín-Cabada,et al.  Affective Learning System for Algorithmic Logic Applying Gamification , 2016, MICAI.

[37]  Dennis Brylow,et al.  MUzECS: Embedded blocks for exploring computer science , 2015, 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond).

[38]  Kraig Finstad,et al.  The Usability Metric for User Experience , 2010, Interact. Comput..

[39]  Fabio Paternò,et al.  A Visual Environment for End-User Creation of IoT Customization Rules with Recommendation Support , 2020, AVI.

[40]  Albert Cohen,et al.  Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions , 2018, ArXiv.