Latte: Fully Convolutional Network in Halide Anbang Hu, X.D. Zhai

May 9, 2016

Fully Convolutional Network[2]

Convolution ReLU Pooling Deconvolution

Convolution[1]

/* Algorithm */ output (i ,j ,k , l )= bias (0 ,0 ,0 , k )+ sum ( kernel ( r .x , r .y , r .z , k )* clamped_input ( i * stride + r .x - pad , j * stride + r .y - pad , r .z , l )); /* Schedule v5 */ Var fused ; output . fuse (k ,l , fused ). parallel ( fused ); output . vectorize (i ,16); output . compute_root (); clamped_input . store_root (). compute_root ();

// // // //

Parallelize over channels & batch Compute in SIMD fashion Compute output before next layer Compute once and store for lookup

ReLU

/* Algorithm */ output (i ,j ,k , l )= max (0 , input (i ,j ,k , l ))+ negative_slope * min (0 , input (i ,j ,k , l )); /* Schedule v5 */ Var fused ; output . fuse (k ,l , fused ). parallel ( fused ); output . vectorize (i ,16); output . compute_root ();

// Parallelize over channels & batch // Compute in SIMD fashion // Compute output before next layer

Pooling

/* Algorithm */ output (i ,j ,k , l )= maximum ( input ( i * stride + r .x , j * stride + r .y , k , l )); /* Schedule v5 */ Var fused ; output . fuse (k ,l , fused ). parallel ( fused ); output . vectorize (i ,16); output . compute_root ();

// Parallelize over channels & batch // Compute in SIMD fashion // Compute output before next layer

Deconvolution[3]

/* Algorithm */ int kernel_step = kernel_size / stride ; RDom r (0 , kernel_step ,0 , kernel_step ,0 , input_channels ); output (i ,j ,k , l )= sum ( kernel ( r . x * stride + i % stride , r . y * stride + j % stride , r .z , k )* clamped_input ( i / stride - r .x , j / stride - r .y , r .z , l )); /* Schedule v5 */ Var fused ; output . fuse (k ,l , fused ). parallel ( fused ); output . vectorize (i ,16); output . compute_root (); clamped_input . store_root (). compute_root ();

// // // //

Parallelize over channels & batch Compute in SIMD fashion Compute output before next layer Compute once and store for lookup

Results : Inference Time

Results : Memory Usage

Segmentation Results

References

Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012. Jonathan Long, Evan Shelhamer, and Trevor Darrell. Fully convolutional networks for semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3431–3440, 2015. Andrea Vedaldi and Karel Lenc. Matconvnet - convolutional neural networks for MATLAB. CoRR, abs/1412.4564, 2014.

Latte: Fully Convolutional Network in Halide - GitHub

May 9, 2016 - Latte: Fully Convolutional Network in Halide. Anbang Hu, X.D. Zhai. May 9 ... In Proceedings of the IEEE Conference on Computer Vision and.

7MB Sizes 96 Downloads 289 Views

Recommend Documents

Convolutional, Long Short-Term Memory, Fully ... - Research at Google
Recently, further im- provements over DNNs have been obtained with alternative types of .... in one network, namely because of the power of the LSTM sequen- tial modeling. ... 5dB to 30dB. The noise sources are from YouTube and daily life.

Convolutional Neural Network Committees For Handwritten Character ...
Abstract—In 2010, after many years of stagnation, the ... 3D objects, natural images and traffic signs [2]–[4], image denoising .... #Classes. MNIST digits. 60000. 10000. 10. NIST SD 19 digits&letters ..... sull'Intelligenza Artificiale (IDSIA),

Convolutional Networks for Localization Yunus Emre - GitHub
1 Introduction: Image recognition has gained a lot of interest more recently which is driven by the demand for more sophisticated algorithms and advances in processing capacity of the computation devices. These algorithms have been integrated in our

Deep Convolutional Network for Handwritten Chinese ... - Yuhao Zhang
Deep Convolutional Network for Handwritten Chinese Character Recognition. Yuhao Zhang. Computer Science Department. Stanford University zyh@stanford.

StixelNet: A Deep Convolutional Network for Obstacle ...
bileye's are usually designed to detect specific categories of objects (cars, pedestrians, etc.). The problem of general obstacle .... real number in the relevant vertical domain [hmin,h], where hmin is the minimum possible row of the horizon given a

lecture 17: neural networks, deep networks, convolutional ... - GitHub
As we increase number of layers and their size the capacity increases: larger networks can represent more complex functions. • We encountered this before: as we increase the dimension of the ... Lesson: use high number of neurons/layers and regular

A Connection between Network Coding and Convolutional Codes
The convolutional code framework naturally takes delay into account, but at the cost of ..... 15th ACM Symposium on. Parallel Algorithms and Architectures, 2003.

Attention-Based Convolutional Neural Network for ...
the document are irrelevant for a given question. .... Feature maps for phrase representations pi and the max pooling steps that create sentence representations.

A Deep Convolutional Neural Network for Anomalous Online Forum ...
as releasing of NSA hacking tools [1], card cloning services [24] and online ... We propose a methodology that employs a neural network to learn deep features.

Sliceable Network Management API - GitHub
virtualizing all layer 2 functions the API distributes resource management such ... can be categorized as Infrastructure as a Service (IaaS) in the cloud computing.

A Network of Rails - GitHub
network of open source projects centered around Ruby on Rails. This dataset provides ... reasons, were often hosted on large source code hosting sites, the most dominant of ... GitHub also added two major new “social” features: the ability to sta

Fully funded scholarships to Europe - Nordic South Asia Network
Health, water and sanitation. • Energy and ... tive staff and students/researchers on master, doctoral ... The online application can be accessed via the.

Fully funded scholarships to Europe - Nordic South Asia Network
Scholarships for education, research and work in Europe. The Erasmus Mundus INdia To Europe (EMINTE) ... The online application can be accessed via the.

Confusion Network Based System Combination for ... - GitHub
segmentation is not the best word segmentation for SMT,. ➢P-C Chang, et al. optimized ... 巴基斯坦说死不投诚. ➢ 巴基斯坦说死于投诚. 5. ' ' ' ( | ). ( | ) (1 ). ( | ) j i sem j i sur ... the output into words by different CWS too

Convolutional Neural Networks for Eye Detection in ...
Convolutional Neural Network (CNN) for. Eye Detection. ▫ CNN has ... complex features from the second stage to form the outputs of the network. ... 15. Movie ...

WHOLE LATTE LOVE ROTARY PUMP ... -
WHOLE LATTE LOVE. ROTARY PUMP CONVERSION GUIDE(1-27-11). This is a guide to assist with the installation of a Rotary. Pump in place of an existing ...

WHOLE LATTE LOVE ROTARY PUMP ... -
Jan 27, 2011 - Note: This kit does not include tall legs because some machines already have tall legs on them. The stainless steel water line will be able to run ...

Creation of a Deep Convolutional Auto-Encoder in ... - Semantic Scholar
convolutional auto-encoder in the Caffe deep learning framework is presented in this ... along with appropriate training strategies (Stochastic. Gradient Descent ...

Creation of a Deep Convolutional Auto-Encoder in ... - Semantic Scholar
platforms, but to the best knowledge of the authors there is no current CAE ... and right), by 1, if the images belong to the same class and by 0 otherwise. ..... Auto-Encoders, Lecture Notes in Computer Science, 6791,. 2011, pp. 44-51. 7.

Convolutional Color Constancy - Jon Barron
chrominance space, thereby allowing us to apply techniques from object ... constancy, though similar tools have been used to augment ..... not regularize F, as it does not improve performance when ... ing and improve speed during testing.

Pseudo-Codewords in LDPC Convolutional Codes
1On leave at Dept. of Math., Univ. of Notre Dame, Notre Dame, IN 46556,. USA. the maximum ... simulation results comparing LDPC convolutional codes to.

Review Paper Convolutional Codes in a Nutshell
Gharuan, Mohali, Punjab, INDIA 140413 [email protected]. Abstract. Error Correcting codes are used to provide efficient transmission of data over the noisy channel. Convolutional codes are one of the FEC (Forward error correction) codes which a