Design and Implementation of a Domain Specific Language for Deep Learning Xiao Bing Huang University of Wisconsin-Milwaukee
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Scribble As Preprocessor
Scribble as Preprocessor Version 8.2.0.8 Matthew Flatt and Eli Barzilay September 25, 2021 The scribble/text and scribble/html languages act as “preprocessor” languages for generating text or HTML. These preprocessor languages use the same @ syntax as the main Scribble tool (see Scribble: The Racket Documentation Tool), but instead of working in terms of a document abstraction that can be rendered to text and HTML (and other formats), the preprocessor languages work in a way that is more specific to the target formats. 1 Contents 1 Text Generation 3 1.1 Writing Text Files . .3 1.2 Defining Functions and More . .7 1.3 Using Printouts . .9 1.4 Indentation in Preprocessed output . 11 1.5 Using External Files . 16 1.6 Text Generation Functions . 19 2 HTML Generation 23 2.1 Generating HTML Strings . 23 2.1.1 Other HTML elements . 30 2.2 Generating XML Strings . 32 2.3 HTML Resources . 36 Index 39 Index 39 2 1 Text Generation #lang scribble/text package: scribble-text-lib The scribble/text language provides everything from racket/base, racket/promise, racket/list, and racket/string, but with additions and a changed treatment of the module top level to make it suitable as for text generation or a preprocessor language: • The language uses read-syntax-inside to read the body of the module, similar to §6.7 “Document Reader”. This means that by default, all text is read in as Racket strings; and @-forms can be used to use Racket functions and expression escapes. • Values of expressions are printed with a custom output function. -
Section “Common Predefined Macros” in the C Preprocessor
The C Preprocessor For gcc version 12.0.0 (pre-release) (GCC) Richard M. Stallman, Zachary Weinberg Copyright c 1987-2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled \GNU Free Documentation License". This manual contains no Invariant Sections. The Front-Cover Texts are (a) (see below), and the Back-Cover Texts are (b) (see below). (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Table of Contents 1 Overview :::::::::::::::::::::::::::::::::::::::: 1 1.1 Character sets:::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2 Initial processing ::::::::::::::::::::::::::::::::::::::::::::::: 2 1.3 Tokenization ::::::::::::::::::::::::::::::::::::::::::::::::::: 4 1.4 The preprocessing language :::::::::::::::::::::::::::::::::::: 6 2 Header Files::::::::::::::::::::::::::::::::::::: 7 2.1 Include Syntax ::::::::::::::::::::::::::::::::::::::::::::::::: 7 2.2 Include Operation :::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Search Path :::::::::::::::::::::::::::::::::::::::::::::::::::: 9 2.4 Once-Only Headers::::::::::::::::::::::::::::::::::::::::::::: 9 2.5 Alternatives to Wrapper #ifndef :::::::::::::::::::::::::::::: -
Julia: a Fresh Approach to Numerical Computing
RSDG @ UCL Julia: A Fresh Approach to Numerical Computing Mosè Giordano @giordano [email protected] Knowledge Quarter Codes Tech Social October 16, 2019 Julia’s Facts v1.0.0 released in 2018 at UCL • Development started in 2009 at MIT, first • public release in 2012 Julia co-creators won the 2019 James H. • Wilkinson Prize for Numerical Software Julia adoption is growing rapidly in • numerical optimisation, differential equations, machine learning, differentiable programming It is used and taught in several universities • (https://julialang.org/teaching/) Mosè Giordano (RSDG @ UCL) Julia: A Fresh Approach to Numerical Computing October 16, 2019 2 / 29 Julia on Nature Nature 572, 141-142 (2019). doi: 10.1038/d41586-019-02310-3 Mosè Giordano (RSDG @ UCL) Julia: A Fresh Approach to Numerical Computing October 16, 2019 3 / 29 Solving the Two-Language Problem: Julia Multiple dispatch • Dynamic type system • Good performance, approaching that of statically-compiled languages • JIT-compiled scripts • User-defined types are as fast and compact as built-ins • Lisp-like macros and other metaprogramming facilities • No need to vectorise: for loops are fast • Garbage collection: no manual memory management • Interactive shell (REPL) for exploratory work • Call C and Fortran functions directly: no wrappers or special APIs • Call Python functions: use the PyCall package • Designed for parallelism and distributed computation • Mosè Giordano (RSDG @ UCL) Julia: A Fresh Approach to Numerical Computing October 16, 2019 4 / 29 Multiple Dispatch using DifferentialEquations -
March 2012 Version 2
WWRF VIP WG CONNECTED VEHICLES White Paper Connected Vehicles: The Role of Emerging Standards, Security and Privacy, and Machine Learning Editor: SESHADRI MOHAN, CHAIR CONNECTED VEHICLES WORKING GROUP PROFESSOR, SYSTEMS ENGINEERING DEPARTMENT UA LITTLE ROCK, AR 72204, USA Project website address: www.wwrf.ch This publication is partly based on work performed in the framework of the WWRF. It represents the views of the authors(s) and not necessarily those of the WWRF. EXECUTIVE SUMMARY The Internet of Vehicles (IoV) is an emerging technology that provides secure vehicle-to-vehicle (V2V) communication and safety for drivers and their passengers. It stands at the confluence of many evolving disciplines, including: evolving wireless technologies, V2X standards, the Internet of Things (IoT) consisting of a multitude of sensors that are housed in a vehicle, on the roadside, and in the devices worn by pedestrians, the radio technology along with the protocols that can establish an ad-hoc vehicular network, the cloud technology, the field of Big Data, and machine intelligence tools. WWRF is presenting this white paper inspired by the developments that have taken place in recent years in standards organizations such as IEEE and 3GPP and industry consortia efforts as well as current research in academia. This white paper provides insights into the state-of-the-art regarding 3GPP C-V2X as well as security and privacy of ETSI ITS, IEEE DSRC WAVE, 3GPP C-V2X. The White Paper further discusses spectrum allocation worldwide for ITS applications and connected vehicles. A section is devoted to a discussion on providing connected vehicles communication over a heterogonous set of wireless access technologies as it is imperative that the connectivity of vehicles be maintained even when the vehicles are out of coverage and/or the need to maintain vehicular connectivity as a vehicle traverses multiple wireless access technology for access to V2X applications. -
Comparativa De Tecnologías De Deep Learning
Universidad Carlos III de Madrid Departamento de Informática Proyecto Final de Carrera Comparativa de Tecnologías de Deep Learning Author: Alberto Lozano Benjumea Supervisors: Alejandro Baldominos Gómez Ignacio Navarro Martín Leganés.Septiembre de 2017 Alberto Lozano Benjumea Universidad Carlos III de Madrid Avenida de la Universidad, 30 28911 Leganés, Madrid (Spain) Email: [email protected] “Just because it’s not nice doesn’t mean it’s not miraculous” Terry Pratchett This page has been intentionally left blank. Abstract Este proyecto se localiza en la rama de aprendizaje automático del campo de la in- teligencia artificial. El objetivo del mismo es realizar una comparativa de los diferentes frameworks y bibliotecas existentes en el mercado, a día de la realización del presente documento, sobre aprendizaje profundo. Esta comparativa, pretende compararlos us- ando diferentes métricas y una batería heterogénea de pruebas. Adicionalmente se realizará un detallado estudio del arte indicando las técnicas sobre las que sustentan dichas bibliotecas. Se indicarán con ejemplos cómo usar cada una de estas técnicas, las ventajas e inconvenientes de las mismas y sus relaciones. Keywords: aprendizaje profundo, aprendizaje automático frameworks, comparativa v This page has been intentionally left blank. Agradecimientos Probablemente se podría escribir la mitad del documento con agradecimientos a las personas que han influido en que este documento pueda existir. Podría partir de mi abuelo quién me enseñó la informática y lo que se podía lograr con el Amstrad y de ahí hasta el día de hoy, a familia, compañeros, amigos que te influyen, incluso las personas que influyen negativamente, con los que ves que que camino no debes escoger. -
Macros & Sweet.Js
CS 252: Advanced Programming Language Principles Macros & Sweet.js Prof. Tom Austin San José State University Let's say we want to add classes to JavaScript… We'd like to have something like: class Person { constructor(name) { this.name = name; } say(msg) { console.log(this.name + " says: " + msg); } } But what we have to type is: function Person(name) { this.name = name; } Person.prototype.say = function(msg) { console.log(this.name + " says: " + msg); } We want to expand our code with classes to a version of JavaScript understood by the interpreter. Introducing macros… What is a macro? • Short for macroinstruction. • Rule specifies how input sequence maps to a replacement sequence. A Review of Compilers source Lexer/ tokens Parser code Tokenizer Abstract Compiler Interpreter Syntax Tree (AST) Machine code Commands Macros in C • C preprocessor • Text substitution macros –text is converted to text. • Embedded languages are similar – PHP, Ruby's erb, etc. Some variants work at the token level, but the concept is the same. expanded Pre- Lexer/ source code tokens Parser code processor Tokenizer Abstract Compiler Interpreter Syntax Tree (AST) Machine code Commands C preprocessor example #define PI 3.14159 #define SWAP(a,b) {int tmp=a;a=b;b=tmp;} int main(void) { int x=4, y=5, diam=7, circum=diam*PI; SWAP(x,y); } int main(void) { int x=4, y=5, diam=7, circum=diam*PI; SWAP(x,y); } int main(void) { int x=4, y=5, diam=7, circum=diam*3.14159; {int tmp=x;x=y;y=tmp;}; } Problems with C macros (in class) Many macro systems suffer from inadvertent variable capture. -
PL/I for AIX: Programming Guide
IBM PL/I for AIX Programming Guide Ve r s i o n 2.0.0 SC18-9328-00 IBM PL/I for AIX Programming Guide Ve r s i o n 2.0.0 SC18-9328-00 Note! Before using this information and the product it supports, be sure to read the general information under “Notices” on page 309. Second Edition (June 2004) This edition applies to IBM PL/I for AIX 2.0.0, 5724-H45, and to any subsequent releases until otherwise indicated in new editions or technical newsletters. Make sure you are using the correct edition for the level of the product. Order publications through your IBM representative or the IBM branch office serving your locality. Publications are not stocked at the address below. A form for readers’ comments is provided at the back of this publication. If the form has been removed, address your comments to: IBM Corporation, Department HHX/H1 555 Bailey Ave San Jose, CA, 95141-1099 United States of America When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. ©International Business Machines Corporation 1998,2004. All rights reserved. Contents Figures . vii COMPILE . .47 COPYRIGHT . .48 CURRENCY . .48 Part 1. Introducing PL/I on your DEFAULT . .48 workstation . .1 EXIT. .54 EXTRN . .54 Chapter 1. About this book . .3 FLAG . .55 FLOATINMATH. .55 Chapter 2. How to read the syntax GONUMBER . .56 GRAPHIC . .56 diagrams . .5 IMPRECISE . .56 INCAFTER . .57 Chapter 3. -
Giant List of AI/Machine Learning Tools & Datasets
Giant List of AI/Machine Learning Tools & Datasets AI/machine learning technology is growing at a rapid pace. There is a great deal of active research & big tech is leading the way. Luckily there are also a lot of resources out there for the technologist to utilize. So many we had to cherry pick what look like the most legit & useful tools. 1. Accord Framework http://accord-framework.net 2. Aligned Face Dataset from Pinterest (CCO) https://www.kaggle.com/frules11/pins-face-recognition 3. Amazon Reviews Dataset https://snap.stanford.edu/data/web-Amazon.html 4. Apache SystemML https://systemml.apache.org 5. AWS Open Data https://registry.opendata.aws 6. Baidu Apolloscapes http://apolloscape.auto 7. Beijing Laboratory of Intelligent Information Technology Vehicle Dataset http://iitlab.bit.edu.cn/mcislab/vehicledb 8. Berkley Caffe http://caffe.berkeleyvision.org 9. Berkley DeepDrive https://bdd-data.berkeley.edu 10. Caltech Dataset http://www.vision.caltech.edu/html-files/archive.html 11. Cats in Movies Dataset https://public.opendatasoft.com/explore/dataset/cats-in-movies/information 12. Chinese Character Dataset http://www.iapr- tc11.org/mediawiki/index.php?title=Harbin_Institute_of_Technology_Opening_Recognition_Corpus_for_Chinese_Characters_(HIT- OR3C) 13. Chinese Text in the Wild Dataset (CC4.0) https://ctwdataset.github.io 14. CelebA Dataset (research only) http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html 15. Cityscapes Dataset https://www.cityscapes-dataset.com | License 16. Clash of Clans User Comments Dataset (GPL 2) https://www.kaggle.com/moradnejad/clash-of-clans-50000-user-comments 17. Core ML https://developer.apple.com/machine-learning 18. Cornell Movie Dialogs Corpus http://www.cs.cornell.edu/~cristian/Cornell_Movie-Dialogs_Corpus.html 19. -
Lecture 5: Scientific Computing Languages
Scientific Computing Languages (Lectures on High-performance Computing for Economists V) Jes´usFern´andez-Villaverde1 and Pablo Guerr´on2 September 15, 2021 1University of Pennsylvania 2Boston College Programming languages for scientific computation • General-purpose languages (GPL): 1. C++. 2. Python. • Domain-specific languages (DSL): 1. Julia. 2. R. 3. Matlab. • If you want to undertake research on computational-intensive papers, learning a GPL is probably worthwhile. • Moreover, knowing a GPL will make you a better user of a DSL. 1 C++ C/C++ • C/C++ is the infrastructure of much of the modern computing world. • If you know Unix and C/C++, you can probably master everything else easily (think of Latin and Romance languages!). • In some sense, C++ is really a \federation" of languages. • What is the difference between C and C++? • C++ introduced full OOP support. 2 C++ • General-purpose, multi-paradigm, static partially inferred typed, compiled language. • Current standard is C++20 (published in December 2020). C++23 in preview release. • Developed by Bjarne Stroustrup at Bells Labs in the early 1980s. • C++ has a more modern design and approach to programming than predecessor languages. Enormously influential in successor languages. • If you know C++, you will be able to read C legacy code without much problem. • In fact, nearly all C programs are valid C++ programs (the converse is not true). • But you should try to \think" in C++20, not in C or even in older C++ standards. 3 4 C++: advantages 1. Powerful language: you can code anything you can imagine in C++. 2. Continuously evolving but with a standard: new implementations have support for meta-programming, functional programming,.. -
Marco: Safe, Expressive Macros for Any Language*
Marco: Safe, Expressive Macros for Any Language? Byeongcheol Lee1, Robert Grimm2, Martin Hirzel3, Kathryn S. McKinley4,5 1 Gwangju Institute of Science and Technology 2 New York University 3 IBM Watson Research Center 4 Microsoft Research 5 The University of Texas at Austin Abstract. Macros improve expressiveness, concision, abstraction, and language interoperability without changing the programming language itself. They are indispensable for building increasingly prevalent mul- tilingual applications. Unfortunately, existing macro systems are well- encapsulated but unsafe (e.g., the C preprocessor) or are safe but tightly- integrated with the language implementation (e.g., Scheme macros). This paper introduces Marco, the first macro system that seeks both encap- sulation and safety. Marco is based on the observation that the macro system need not know all the syntactic and semantic rules of the tar- get language but must only directly enforce some rules, such as variable name binding. Using this observation, Marco off-loads most rule checking to unmodified target-language compilers and interpreters and thus be- comes language-scalable. We describe the Marco language, its language- independent safety analysis, and how it uses two example target-language analysis plug-ins, one for C++ and one for SQL. This approach opens the door to safe and expressive macros for any language. 1 Introduction Macros enhance programming languages without changing them. Programmers use macros to add missing language features, to improve concision and abstrac- tion, and to interoperate between different languages and with systems. With macros, programmers use concrete syntax instead of tediously futzing with ab- stract syntax trees or, worse, creating untyped and unchecked strings. -
Machine Learning
1 LANDSCAPE ANALYSIS MACHINE LEARNING Ville Tenhunen, Elisa Cauhé, Andrea Manzi, Diego Scardaci, Enol Fernández del Authors Castillo, Technology Machine learning Last update 17.12.2020 Status Final version This work by EGI Foundation is licensed under a Creative Commons Attribution 4.0 International License This template is based on work, which was released under a Creative Commons 4.0 Attribution License (CC BY 4.0). It is part of the FitSM Standard family for lightweight IT service management, freely available at www.fitsm.eu. 2 DOCUMENT LOG Issue Date Comment Author init() 8.9.2020 Initialization of the document VT The second 16.9.2020 Content to the most of chapters VT, AM, EC version Version for 6.10.2020 Content to the chapter 3, 7 and 8 VT, EC discussions Chapter 2 titles 8.10.2020 Chapter 2 titles and Acumos added VT and bit more to the frameworks Towards first full 16.11.2020 Almost every chapter has edited VT version First full version 17.11.2020 All chapters reviewed and edited VT Addition 19.11.2020 Added Mahout and H2O VT Fixes 22.11.2020 Bunch of fixes based on Diego’s VT comments Fixes based on 24.11.2020 2.4, 3.1.8, 6 VT discussions on previous day Final draft 27.11.2020 Chapters 5 - 7, Executive summary VT, EC Final draft 16.12.2020 Some parts revised based on VT comments of Álvaro López García Final draft 17.12.2020 Structure in the chapter 3.2 VT updated and smoke libraries etc. -
Deep Neural Networks Practical Examples of Deep Neural Networks
Introduction Why to use (deep) neural networks? Types of deep neural networks Practical examples of deep neural networks Deep Neural Networks Convolutional Neural Networks René Pihlak [email protected] Department of Software Sciences School of Information Technologies Tallinn University of Technology April 29, 2019 . René Pihlak CNN Introduction Why to use (deep) neural networks? Self-introduction Types of deep neural networks Topics to cover Practical examples of deep neural networks Table of Contents 1 Introduction Types of training Self-introduction Types of structures Topics to cover Convolutional neural network 2 Why to use (deep) neural networks? 4 Practical examples of deep neural Description networks Comparision Road defect detection Popular frameworks YOLO3: darknet 3 Types of deep neural networks Estonian sign language . René Pihlak CNN 2nd year Master’s student Current: Department of Software Sciences Past: Member of Board, Tiigrihüppe SA (now HITSA) STUDIES: WORK: Introduction Why to use (deep) neural networks? Self-introduction Types of deep neural networks Topics to cover Practical examples of deep neural networks Background . René Pihlak CNN Current: Department of Software Sciences Past: Member of Board, Tiigrihüppe SA (now HITSA) 2nd year Master’s student WORK: Introduction Why to use (deep) neural networks? Self-introduction Types of deep neural networks Topics to cover Practical examples of deep neural networks Background STUDIES: . René Pihlak CNN Current: Department of Software Sciences Past: Member of Board, Tiigrihüppe SA (now HITSA) WORK: Introduction Why to use (deep) neural networks? Self-introduction Types of deep neural networks Topics to cover Practical examples of deep neural networks Background STUDIES: 2nd year Master’s student .