Basic User Guide 1 Installation Data preparation Examples – Convolutional Neural Network (CNN) Dataset: CIFAR-10 Single Worker / Synchronous / Downpour.

Slides:



Advertisements
Similar presentations
Grid Wizard Enterprise Advanced Tutorial. General Considerations This tutorial assumes that you already completed the Basic Features tutorial: You already.
Advertisements

Lecture 2: Caffe: getting started Forward propagation
CS-502 Fall 2006Project 1, Fork1 Programming Project 1 – Fork.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 12: Managing and Implementing Backups and Disaster Recovery.
AN ANALYSIS OF SINGLE- LAYER NETWORKS IN UNSUPERVISED FEATURE LEARNING [1] Yani Chen 10/14/
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Installing software on personal computer
Installing Ricoh Driver. Items you need to know IP address of Printer Options that are installed And Paper Sizes To get all this information you can print.
Reproducible Environment for Scientific Applications (Lab session) Tak-Lon (Stephen) Wu.
Asynchronous Web Services Approach Enrique de Andrés Saiz.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
FileSecure Implementation Training Patch Management Version 1.1.
In-Line Cell Manager Configuration and Loading Date: Octobre2014.
Networking Nasrullah. Input stream Most clients will use input streams that read data from the file system (FileInputStream), the network (getInputStream()/getInputStream()),
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Thrive Installation.
1 CSC 440 Database Management Systems JDBC This presentation uses slides and lecture notes available from
Tutorial 11 Installing, Updating, and Configuring Software
Web Application Access to Databases. Logistics Test 2: May 1 st (24 hours) Extra office hours: Friday 2:30 – 4:00 pm Tuesday May 5 th – you can review.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
Cassandra Installation Guide and Example Lecturer : Prof. Kyungbaek Kim Presenter : I Gde Dharma Nugraha.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
DTIAtlasBuilder Adrien Kaiser Neuro Image Research and Analysis Laboratories University of North Carolina at Chapel Hill A tool to create an atlas from.
Please Note: Information contained in this document is considered LENOVO CONFIDENTIAL For Lenovo Internal Use Only Do Not Copy or Distribute!! For Lenovo.
A General Distributed Deep Learning Platform
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 8-Oct-15.
Project 1, Command Shell CS-502 (EMC) Fall Programming Project #1 Command Shell CS-502, Operating Systems EMC, Fall 2009 (Slides include materials.
Compiled Matlab on Condor: a recipe 30 th October 2007 Clare Giacomantonio.
Neural Networks1 Introduction to NETLAB NETLAB is a Matlab toolbox for experimenting with neural networks Available from:
The WinMine Toolkit Max Chickering. Build Statistical Models From Data Dependency Networks Bayesian Networks Local Distributions –Trees Multinomial /
David Adams ATLAS AJDL: Analysis Job Description Language David Adams BNL December 15, 2003 PPDG Collaboration Meeting LBL.
MapReduce How to painlessly process terabytes of data.
Working with PHP and Postgresql. pg_connect ( string $connection_string [, int $connect_type ] ) pg_connect() opens a connection to a PostgreSQL database.
Advanced User Guide 1 Application – Train a MLP model for digit recognition Dataset – MNIST , 60K training, 10K test images, 10 labels. The MLP model.
Testing the dynamic per-query scheduling (with a FIFO queue) Jan Iwaszkiewicz.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Five Managing Addresses.
Oracle Data Integrator Agents. 8-2 Understanding Agents.
Nfs or ftp server Server 1 Server 2 ClinCapture web app SAS script SAS REST notification service [SAS RNS] (can be run as standalone app) upload / download.
SINGA: Putting Deep Learning into the Hands of Multimedia Users
ZHT Hands-on tutorial How to install, configure and run ZHT on a multi-nodes cluster.
How to write a MSGQ Transport (MQT) Overview Nov 29, 2005 Todd Mullanix.
May 30-31, 2012 HDF5 Workshop at PSI May Metadata Journaling Dana Robinson The HDF Group Efficient Use of HDF5 With High Data Rate X-Ray Detectors.
Autumn School Dynamic MSM16-18 November 2015 | L-Esch-sur-Alzette Slide 1 4. Basic concepts, a rudimentary model, and input data (demo01.yml)
Lab 8 Overview Apache Web Server. SCRIPTS Linux Tricks.
MapReduce Joins Shalish.V.J. A Refresher on Joins A join is an operation that combines records from two or more data sets based on a field or set of fields,
Logan Lebanoff Mentor: Haroon Idrees
Tutorial on setting up Zebra: A Z39.50 Server ARD Prasad DRTC Indian Statistical Institute Bangalore.
Marcelo R.N. Mendes. What is FINCoS? A Java-based set of tools for data generation, load submission, and performance measurement of event processing systems;
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 - OS Kernel 2014/10/21/ 16 1.
Installing VERITAS Cluster Server. Topic 1: Using the VERITAS Product Installer After completing this topic, you will be able to install VCS using the.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Configuring MQ Connections and Handlers for MQ adapter 6.5 July 2008.
Lecture 1c: Caffe - Getting Started
Deep Learning Overview Sources: workshop-tutorial-final.pdf
Maintaining and Updating Windows Server 2008 Lesson 8.
Radoslav Georgiev Telerik Corporation
Progress Report of Apache SINGA Wei 28/09/2015.
Assignment 4: Deep Convolutional Neural Networks
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
CACI Proprietary Information | Date 1 Upgrading to webMethods Product Suite Name: Semarria Rosemond Title: Systems Analyst, Lead Date: December 8,
Connect:Direct for UNIX v4.2.x Silent Installation
Matt Gormley Lecture 16 October 24, 2016
Lecture 5 Smaller Network: CNN
Deep Learning Convoluted Neural Networks Part 2 11/13/
Construct a Convolutional Neural Network with Python
Training course Part 2: Administration tasks
Generative Adversarial Network
DRC with Deep Networks Tanmay Lagare, Arpit Jain, Luis Francisco,
CSC 578 Neural Networks and Deep Learning
QlikView for use with SAP Netweaver Version 5.8 New Features
Presentation transcript:

Basic User Guide 1 Installation Data preparation Examples – Convolutional Neural Network (CNN) Dataset: CIFAR-10 Single Worker / Synchronous / Downpour – Restricted Boltzmann Machine (RBM) Dataset: MNIST Single Worker

Installation Download – VirtualBox Image Compile git clone git clone git clone git clone make./autogen.sh./configure make Username: singaPassword: singa # get latest version cd singa git fetch origin master Username: singaPassword: singa # get latest version cd singa git fetch origin master

Data Preparation SINGA recognizable Records Generate data records – convert program Support user-defined record format (and parser layer) Use data records – corresponding data/parser layer as input Data Records Raw Data Load Imdb, leveldb, DataShard Data Layers Parse Parser Layers

Convert program for DataShard // a built-in lightweight data layer class DataShard { bool Insert(const std::string& key, const google::protobuf::Message& tuple); // write bool Next(std::string* key, google::protobuf::Message* val); // read }; // a built-in lightweight data layer class DataShard { bool Insert(const std::string& key, const google::protobuf::Message& tuple); // write bool Next(std::string* key, google::protobuf::Message* val); // read }; Message SingleLabelmageRecord { repeated int32 shape; // the shape of contained data, e.g. 32*32 for a image optional int32 label; // label for classification optional bytes pixel; // pixels of a image repeated float data; // feature vector }; Message SingleLabelmageRecord { repeated int32 shape; // the shape of contained data, e.g. 32*32 for a image optional int32 label; // label for classification optional bytes pixel; // pixels of a image repeated float data; // feature vector }; singa::DataShard myShard(outputpath, kCreate); singa:: SingleLabelmageRecord record; record->add_shape( int_val ); // for repeated field record->set_label( int_val ); // key (string) is a unique record ID (e.g., converted from a number starting from 0) myShard.Insert( key, record ); singa::DataShard myShard(outputpath, kCreate); singa:: SingleLabelmageRecord record; record->add_shape( int_val ); // for repeated field record->set_label( int_val ); // key (string) is a unique record ID (e.g., converted from a number starting from 0) myShard.Insert( key, record );

Prepared Datasets Datasets – CIFAR-10 [1] – MNIST [2] Generate records – Already done for you in virtualbox [1] [2] examples/cifar10/create_shard.cc examples/mnist/create_shard.cc # go to example folder $ cp Makefile.example Makefile $ make download # download raw data $make create # generate data records # go to example folder $ cp Makefile.example Makefile $ make download # download raw data $make create # generate data records

Examples (CNN)

layer { name: "data" type: kShardData sharddata_conf { path: "examples/cifar10/cifar10_train_shard" batchsize: 16 random_skip: 5000 } exclude: kTest # exclude for the testing net } layer { name: "data" type: kShardData sharddata_conf { path: "examples/cifar10/cifar10_test_shard“ batchsize: 100 } exclude: kTrain # exclude for the training net } layer { name: "data" type: kShardData sharddata_conf { path: "examples/cifar10/cifar10_train_shard" batchsize: 16 random_skip: 5000 } exclude: kTest # exclude for the testing net } layer { name: "data" type: kShardData sharddata_conf { path: "examples/cifar10/cifar10_test_shard“ batchsize: 100 } exclude: kTrain # exclude for the training net }

Examples (CNN) layer { name:"rgb" type: kRGBImage srclayers: "data" rgbimage_conf { meanfile: "examples/cifar10/image_mean.bin" # normalized image feature } layer { name: "label" type: kLabel srclayers: "data" } layer { name:"rgb" type: kRGBImage srclayers: "data" rgbimage_conf { meanfile: "examples/cifar10/image_mean.bin" # normalized image feature } layer { name: "label" type: kLabel srclayers: "data" }

Examples (CNN) layer { name: "conv1" type: kConvolution srclayers: "rgb" convolution_conf { … } param { name: "w1" init { type: kGaussian } } param { name: "b1" lr_scale:2.0 init { type: kConstant } } layer { name: "conv1" type: kConvolution srclayers: "rgb" convolution_conf { … } param { name: "w1" init { type: kGaussian } } param { name: "b1" lr_scale:2.0 init { type: kConstant } }

Examples (CNN) layer { name: "pool1" type: kPooling srclayers: "conv1" pooling_conf { … } } layer { name: "relu1" type: kReLU srclayers:"pool1" } layer { name: "norm1" type: kLRN srclayers:"relu1" lrn_conf { … } } layer { name: "pool1" type: kPooling srclayers: "conv1" pooling_conf { … } } layer { name: "relu1" type: kReLU srclayers:"pool1" } layer { name: "norm1" type: kLRN srclayers:"relu1" lrn_conf { … } }

Examples (CNN) layer { name: "ip1" type: kInnerProduct srclayers:"pool3" innerproduct_conf { … } param { … } } layer { name: "loss" type: kSoftmaxLoss softmaxloss_conf { … } srclayers:"ip1“ srclayers: "label“ } layer { name: "ip1" type: kInnerProduct srclayers:"pool3" innerproduct_conf { … } param { … } } layer { name: "loss" type: kSoftmaxLoss softmaxloss_conf { … } srclayers:"ip1“ srclayers: "label“ }

Configure a CNN Job updater { type: kSGD learning_rate { type: kFixedStep } } updater { type: kSGD learning_rate { type: kFixedStep } } 4 Main Components – NeuralNet (as configured above) – Updater – TrainOneBatch – ClusterTopology alg: kBP

Run a CNN Job A quick-start job – Default ClusterTopology (single worker) – Provided in Run it! examples/cifar10/job.conf # start zookeeper (do it only once) $./bin/zk-service start # run the job using default setting $./bin/singa-run.sh -conf examples/cifar10/job.conf # stop the job $./bin/singa-stop.sh # start zookeeper (do it only once) $./bin/zk-service start # run the job using default setting $./bin/singa-run.sh -conf examples/cifar10/job.conf # stop the job $./bin/singa-stop.sh

Run a CNN Job Record job information to /tmp/singa-log/job-info/job Executing :./singa -conf /xxx/incubator-singa/examples/cifar10/job.conf -singa_conf /xxx/incubator- singa/conf/singa.conf -singa_job 2 E :56: cluster.cc:51] proc #0 -> :49152 (pid = 33849) E :56: server.cc:36] Server (group = 0, id = 0) start E :56: worker.cc:134] Worker (group = 0, id = 0) start E :57: trainer.cc:373] Test step-0, loss : , accuracy : E :57: trainer.cc:373] Train step-0, loss : , accuracy : E :57: trainer.cc:373] Train step-30, loss : , accuracy : E :57: trainer.cc:373] Train step-60, loss : , accuracy : E :57: trainer.cc:373] Train step-90, loss : , accuracy : E :57: trainer.cc:373] Train step-120, loss : , accuracy : E :57: trainer.cc:373] Train step-150, loss : , accuracy : E :57: trainer.cc:373] Train step-180, loss : , accuracy : E :58: trainer.cc:373] Train step-210, loss : , accuracy : E :58: trainer.cc:373] Train step-240, loss : , accuracy : Record job information to /tmp/singa-log/job-info/job Executing :./singa -conf /xxx/incubator-singa/examples/cifar10/job.conf -singa_conf /xxx/incubator- singa/conf/singa.conf -singa_job 2 E :56: cluster.cc:51] proc #0 -> :49152 (pid = 33849) E :56: server.cc:36] Server (group = 0, id = 0) start E :56: worker.cc:134] Worker (group = 0, id = 0) start E :57: trainer.cc:373] Test step-0, loss : , accuracy : E :57: trainer.cc:373] Train step-0, loss : , accuracy : E :57: trainer.cc:373] Train step-30, loss : , accuracy : E :57: trainer.cc:373] Train step-60, loss : , accuracy : E :57: trainer.cc:373] Train step-90, loss : , accuracy : E :57: trainer.cc:373] Train step-120, loss : , accuracy : E :57: trainer.cc:373] Train step-150, loss : , accuracy : E :57: trainer.cc:373] Train step-180, loss : , accuracy : E :58: trainer.cc:373] Train step-210, loss : , accuracy : E :58: trainer.cc:373] Train step-240, loss : , accuracy :

SINGA Scripts Launch singa jobs Manage singa jobs Stop all singa processes singa-run.sh -conf [ other arguments ] -resume : if want to recover a job -exec : if want to use own singa driver singa-run.sh -conf [ other arguments ] -resume : if want to recover a job -exec : if want to use own singa driver singa-console.sh list : list running singa jobs view : view procs of a singa job kill : kill a singa job" singa-console.sh list : list running singa jobs view : view procs of a singa job kill : kill a singa job" singa-stop.sh

Run CNN (cont.) Synchronous Training – 2 workers in a single process Asynchronous Training – downpour – 2 worker groups and 1 global server group cluster { nworkers_per_group: 2 nworkers_per_procs: 2 } cluster { nworkers_per_group: 2 nworkers_per_procs: 2 } cluster { nworker_groups: 2 nservers_per_group: 2 } cluster { nworker_groups: 2 nservers_per_group: 2 } # default setting cluster { nworker_groups: 1 nserver_groups: 1 nworkers_per_group: 1 nservers_per_group: 1 nworkers_per_procs: 1 nservers_per_procs: 1 server_worker_separate: false } # default setting cluster { nworker_groups: 1 nserver_groups: 1 nworkers_per_group: 1 nservers_per_group: 1 nworkers_per_procs: 1 nservers_per_procs: 1 server_worker_separate: false }

Examples (RBM-Auto Encoder)

4 RBM and 1 Auto-encoder – Need to pre-train models one by one – How to use parameters from previous models? Check points are output files from a model When load check points for a new model, SINGA puts parameters values into the parameter with the same identity name checkpoint_path: "examples/rbm/rbm0/checkpoint/step6000-worker0.bin"

Run RBM-Auto Encoder # at SINGA_HOME/ $./bin/singa-run.sh -conf examples/rbm/rbm0.conf $./bin/singa-run.sh -conf examples/rbm/rbm1.conf $./bin/singa-run.sh -conf examples/rbm/rbm2.conf $./bin/singa-run.sh -conf examples/rbm/rbm3.conf $./bin/singa-run.sh -conf examples/rbm/autoencoder.conf # at SINGA_HOME/ $./bin/singa-run.sh -conf examples/rbm/rbm0.conf $./bin/singa-run.sh -conf examples/rbm/rbm1.conf $./bin/singa-run.sh -conf examples/rbm/rbm2.conf $./bin/singa-run.sh -conf examples/rbm/rbm3.conf $./bin/singa-run.sh -conf examples/rbm/autoencoder.conf

CNN-1

CNN-2

RBM