Paper Daily: An Introduction to Image Synthesis with Generative Adversarial Nets

Among the many applications of GAN, image synthesis is the most well-studied one, and research in this area has already demonstrated the great potential of using GAN in image synthesis. In this paper, the author provide a taxonomy of methods used in image synthesis, review different models for text-to-image synthesis and image-to-image translation, and discuss … Continue reading Paper Daily: An Introduction to Image Synthesis with Generative Adversarial Nets

Paper Daily: Indoor Scene Understanding in 2.5/3D for Autonomous Agents: A Survey

With the availability of low-cost and compact 2.5/3D visual sensing devices, computer vision community is experiencing a growing interest in visual scene understanding of indoor environments. This survey paper provides a comprehensive background to this research topic. We begin with a historical perspective, followed by popular 3D data representations and a comparative analysis of available … Continue reading Paper Daily: Indoor Scene Understanding in 2.5/3D for Autonomous Agents: A Survey

Paper Daily: Bag of Tricks for Image Classification with Convolutional Neural Networks

In this paper, the authors examine a collections of training procedure and model architecture refinements that improve model accuracy but barely change computational complexity. Many of them are minor “tricks” like modifying the stride size of a particular convolution layer or adjusting learning rate schedule. Collectively, however, they make a big difference. Training Procedures Baseline … Continue reading Paper Daily: Bag of Tricks for Image Classification with Convolutional Neural Networks

Warm-up Coding Interview: Dynamic Programming

The most challenging algorithmic problems involve optimization, where we seek to find a solution that maximizes or minimizes some function. Algorithms for optimization problems require proof that they always return the best possible solution. Greedy algorithms that make the best local decision at each step are typically efficient by usually do not guarantee global optimality. … Continue reading Warm-up Coding Interview: Dynamic Programming

Warm-up Coding Interview: Combinatorial Search and Heuristic Methods

In this section, we introduce backtracking as a technique for listing all possible solutions for a combinatorial algorithm problem. We illustrate the power of clever pruning techniques to speed up real search applications. For problems that are too large to contemplate using brute-force combinatorial search, we introduce heuristic methods such as simulated annealing. Such heuristic … Continue reading Warm-up Coding Interview: Combinatorial Search and Heuristic Methods

Warm-up Coding Interview: Weighted Graph Algorithms

There is an alternate universe of problems for weighted graphs. The edges of road networks are naturally bound to numerical values such as construction cost, traversal time, length, or speed limit. Identifying the shortest path in such graphs proves more complicated than breadth-first search in unweighted graphs, but opens the door to a wide range of … Continue reading Warm-up Coding Interview: Weighted Graph Algorithms

Paper Daily: StyleGAN

A style-Based Generator Architecture for Generative Adversarial Networks The authors propose an alternative generator architecture for generative adversarial networks, borrowing from style transfer literature. The new architecture leads to an automatically learned, unsupervised separation of high-level attributes, and it enables intuitive, scale-specific control of the synthesis. The new generator improves the state-of-the-art in terms of … Continue reading Paper Daily: StyleGAN

Optimizing C++: Optimization Patterns

This section gathers together a few general techniques for improving performance that are so useful that they deserve specific mention. The reader may recognize some of these patterns as the core of familiar data structures, C++ language features, or hardware innovations: Precomputation — Remove computation from the hot part of the program by performing it … Continue reading Optimizing C++: Optimization Patterns

Apache Thrift architecture

The Apache Thrift Framework can be organized into five layers: 12345* The RPC Server Library * RPC Service Stubs * User-Defined Type Serialization * The Serialization Protocol Library * The Transport Library Applications requiring a common way to serialize data structures for storage or messaging may need nothing more than the bottom three layers of … Continue reading Apache Thrift architecture