20 Popular Python Blogs

Pythontips.com

Yasoob Khalid, sharing his tips, experiences and insights that he has been able to gather through his Python practice. His first posts are definitely a lot higher in quality than the latest ones, but he himself has admitted to not having enough time to produce high-quality content.

RealPython

Real Python is an awesome resource for the budding developer. Not only will you learn Python, you will learn how to use it as you build practical and functional web-based applications that increase in complexity throughout the course. The series introduced me to the power of Flask, demystified Django, and got me thinking of development as craftsmanship.

Pydanny

This is a blog run by Daniel Roy Greenfeld. He’s skilled in areas such as Python, Django, and also JavaScript. His blog is a collection of his resources, books, but also his extensive and educational tutorials that will shed some new light on how to work with Python.

Planet Python

Planet Planet is a collection of aggregated feeds from hundreds of bloggers and developers all around the world. You can see which feeds are being updated on the left-hand side, in case you wish to follow separately. Great resource, and should be bookmarked to keep up to date with latest in Python. It was last updated on October 2015.

Full Stack Python

Full Stack Python is an open blog that explains concepts in plain language and provides the most helpful resources on those topics.

Pythonblog

Pythonblog allows individuals to create their own blog. This blog has more than 100 users and each user is sharing their knowledge. Their mission is “To provide the Python blogger community with a high quality, free blogging environment”

Love Python

Love Python provides Python tips, advice, snippets and much more. The blog itself is built on top of a simple grid style design, and while majority of posts lack images – you can easily see what each post is going to teach you just by reading its title. Once again, this is invaluable for those learning Python.

Python Central

Python Central is a resource for anyone and everyone interested in the Python programming language. Its aim to cover the Python language itself, the libraries/modules that are associated with it, and many of the tools that are incorporated along with it. Python Central aims to provide beginner, intermediate and advanced Python developers and enthusiasts with engaging content on the language.

Brett Cannon

Brett is a core developer of the Python programming language, and he’s also employed by Google. His blogs are the reflection of where Python is headed, and how you should prepare for changes. He also seems to blog quite a bit about mobile related topics.

Doug Hellmann

Doug has been developing with Python since the very early days (1.4), and his blog is a resource of tools, tutorials and guides on how to better approach Python. I highly recommend to browse his GitHub projects, insane amount of stuff built!

effbot

effbot blog contains full of helpful info, code snippets and everything else you can expect from a python blog. Go check it out before it’s too late.

Invent with Python

Invent with Python is from Al Sweigat. He is the writer of numerous python books including his latest book “Hacking Secret Ciphers With Python”.

Mouse vs Python

Mike is also the author of the Python 101 book, with which he hopes to teach lesser experienced developers what it takes to become a great Python developer. He blogs quite frequently, so worth adding to your feeds list.

Python Module of the Week

The Python Module of the Week series, or PyMOTW, is a tour of the Python standard library through short examples. This is version 1.132, last updated Jul 12, 2015 to cover the ConfigParser module.

Neopythonic

Neopythonic blog was maintained by Guido van Rossum the creator of Python itself. It was active till October, 2013.

Everyday Python

Everyday Python is a series of Python programming projects, aimed at solving everyday problems, or puzzles and will give learners motivation to dig into the details of the solutions.

Python Adventures

Python Adventures blog focuses mainly on Python with code snippets are developed using real time scenarios. It was maintained by Jabba Laci.

Python Conquers The Universe

Python Conquers The Universe is another blog which focuses only on python real time bugs with solutions.

Pycoders Weekly

Pycoders weekly is a weekly python newsletter by developers for developers. They send out the best curated content from all over the web.

Python Programming

Python programming is maintained by Jeff Knupp, the author of Writing Idiomatic Python.

20 Popular Python Blogs

Popular Deep Learning Papers That Are Free To Read

As I have been trying to learn more about deep learning, I have been reading some of the most cited research papers on Deep Learnings that are also freely available and not behind some journal paywall. I may have missed some of the more popular papers that are also free. Feel free to chime in the comments so that I can add to the list.

Deep Boltzmann Machines (2009)

495 Citations

Ruslan Salakhutdinov and Geoffrey Hinton

We present a new learning algorithm for Boltzmann machines that contain many layers of hidden variables. Data-dependent expectations are estimated using a variational approximation that tends to focus on a single mode, and data independent expectations are approximated using persistent Markov chains. The use of two quite different techniques for estimating the two types of expectation that enter into the gradient of the log-likelihood makes it practical to learn Boltzmann machines with multiple hidden layers and millions of parameters. The learning can be made more efficient by using a layer-by-layer “pre-training” phase that allows variational inference to be initialized with a single bottomup pass. We present results on the MNIST and NORB datasets showing that deep Boltzmann machines learn good generative models and perform well on handwritten digit and visual object recognition tasks.

Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations (2009)

834 Citations

Honglak Lee, Roger Grosse, Rajesh Ranganath and Andrew Y. Ng

There  has  been  much  interest  in  unsupervised learning of hierarchical generative models  such  as  deep  belief  networks. Scaling such models to  full-sized,  high-dimensional images  remains  a  difficult  problem.   To  address  this  problem,  we  present  the convolutional deep belief network, a hierarchical generative model which scales to realistic image sizes.  This model is translation-invariant and supports  efficient  bottom-up  and  top-down probabilistic inference.  Key to our approach is probabilistic max-pooling, a novel technique which  shrinks  the  representations  of  higher layers in a probabilistically sound way.  Our experiments show that the algorithm learns useful high-level visual features, such as object parts, from unlabeled images of objects and  natural  scenes.   We  demonstrate  excellent  performance  on  several  visual  recognition tasks and show that our model can perform hierarchical (bottom-up and top-down) inference over full-sized images.

Learning Mid-Level Features for Recognition (2010)

601 Citations

Y-Lan Boureau, Francis Bach, Yann Lecun and J. Ponce

Many successful models for scene or object recognition transform low-level descriptors (such as Gabor filter responses, or SIFT descriptors) into richer representations of intermediate complexity. This process can often be broken down into two steps: (1) a coding step, which performs a pointwise transformation of the descriptors into a representation better adapted to the task, and (2) a pooling step, which summarizes the coded features over larger neighborhoods. Several combinations of coding and pooling schemes have been proposed in the literature. The goal of this paper is threefold. We seek to establish the relative importance of each step of mid-level feature extraction through a comprehensive cross evaluation of several types of coding modules (hard and soft vector quantization, sparse coding) and pooling schemes (by taking the average, or the maximum), which obtains state-of-the-art performance or better on several recognition benchmarks. We show how to improve the best performing coding scheme by

learning a supervised discriminative dictionary for sparse coding. We provide theoretical and empirical insight into the remarkable performance of max pooling. By teasing apart components shared by modern mid-level feature extractors, our approach aims to facilitate the design of better

recognition architectures.

A fast learning algorithm for deep belief networks (2006)

3216 Citations

Geoffrey E. Hinton and Simon Osindero Yee-Whye Teh

We show how to use “complementary priors” to eliminate the explaining away effects that make inference difficult in densely-connected belief nets that have many hidden layers. Using complementary priors, we derive a fast, greedy algorithm that can learn deep, directed belief networks one layer at a time, provided the top two layers form an undirected associative memory. The fast, greedy algorithm is used to initialize a slower learning procedure that fine-tunes the weights using a contrastive version of the wake-sleep algorithm. After fine-tuning, a network with three hidden layers forms a very good generative model of the joint distribution of handwritten digit images and their labels. This generative model gives better digit classification than the best discriminative learning algorithms. The low-dimensional manifolds on which the digits lie are modelled by long ravines in the free-energy landscape of the top-level associative memory and it is easy to explore these ravines by using the directed connections to display what the associative memory has in mind.

Long Short-Term Memory (1997)

1243 Citations

Sepp Hochreiter and Jurgen Schmidhuber

Learning to store information over extended time intervals via recurrent backpropagation takes a very long time, mostly due to insufficient, decaying error back flow. We briefly review Hochreiter’s 1991 analysis of this problem, then address it by introducing a novel, efficient, gradient-based method called “Long Short-Term Memory” (LSTM). Truncating the gradient where this does not do harm, LSTM can learn to bridge minimal time lags in excess of 1000 discrete time steps by enforcing constant error flow through “constant error carrousels” within special units. Multiplicative gate units learn to open and close access to the constant error flow. LSTM is local in space and time; its computational complexity per time step and weight is O(1). Our experiments with artificial data involve local, distributed, real-valued, and noisy pattern representations. In comparisons with RTRL, BPTT, Recurrent Cascade-Correlation, Elman nets, and Neural Sequence Chunking, LSTM leads to many more successful runs, and learns much faster. LSTM also solves complex, artificial long time lag tasks that have never been solved by previous recurrent network algorithms.

Spectral Hashing (2009)

849 Citations

Yair Weiss, Antonio Torralba and Rob Fergus

Semantic hashing[1] seeks compact binary codes of data-points so that the Hamming distance between codewords correlates with semantic similarity. In this paper, we show that the problem of finding a best code for a given dataset is closely related to the problem of graph partitioning and can be shown to be NP hard. By relaxing the original problem, we obtain a spectral method whose solutions are simply a subset of thresholded eigenvectors of the graph Laplacian. By utilizing recent results on convergence of graph Laplacian eigenvectors to the Laplace-Beltrami eigenfunctions of manifolds, we show how to efficiently calculate the code of a novel data-

point. Taken together, both learning the code and applying it to a novel point are extremely simple. Our experiments show that our codes outperform the state-of-the art.

Playing Atari with Deep Reinforcement Learning (2013)

106 Citations

Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis Antonoglou, Daan Wierstra, and Martin Riedmiller

We present the first deep learning model to successfully learn control policies directly from high-dimensional sensory input using reinforcement learning. The model is a convolutional neural network, trained with a variant of Q-learning, whose input is raw pixels and whose output is a value function estimating future rewards. We apply our method to seven Atari 2600 games from the Arcade Learning Environment, with no adjustment of the architecture or learning algorithm. We find that it outperforms all previous approaches on six of the games and surpasses

a human expert on three of them.

Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups(2012)

1082 Citations

Geoffrey Hinton, Li Deng, Dong Yu, George E. Dahl, Abdel-rahman Mohamed, Navdeep Jaitly, Andrew Senior, Vincent Vanhoucke, Patrick Nguyen, Tara N. Sainath, and Brian Kingsbury

Most current speech recognition systems use hidden Markov models (HMMs) to deal with the temporal variability of speech and Gaussian mixture models (GMMs) to determine how well each state of each HMM fits a frame or a short window of frames of coefficients that represents the acoustic input. An alternative way to evaluate the fit is to use a feed-forward neural network that takes several frames of coefficients as input and produces posterior probabilities over HMM states as output. Deep neural networks (DNNs) that have many hidden layers and are trained using new methods have been shown to outperform GMMs on a variety of speech recognition benchmarks, sometimes by a large margin. This article provides an overview of this progress and

represents the shared views of four research groups that have had recent successes in using DNNs for acoustic modeling in speech recognition.

ImageNet Classification with Deep Convolutional Neural Networks (2012)

2792 Citations

Alex Krizhevsky, Ilya Sutskever and Geoffrey E. Hinton

We trained a large, deep convolutional neural network to classify the 1.2 million high-resolution images in the ImageNet LSVRC-2010 contest into the 1000 different classes. On the test data, we achieved top-1 and top-5 error rates of 37.5% and 17.0% which is considerably better than the previous state-of-the-art. The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three fully-connected layers with a final 1000-way softmax. To make training faster, we used non-saturating neurons and a very efficient GPU implementation of the convolution operation. To reduce overfitting in the fully-connected layers we employed a recently-developed regularization method called “dropout” that proved to be very effective. We also entered a variant of this model in the ILSVRC-2012 competition and achieved a winning top-5 test error rate of 15.3%, compared to 26.2% achieved by the second-best entry.

Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion (2010)

579 Citations

Pascal Vincent, Hugo Larochelle, Isabelle Lajoie, Yoshua Bengio and Pierre-Antoine Manzagol

We explore an original strategy for building deep networks, based on stacking layers of denoising

autoencoders which are trained locally to denoise corrupted versions of their inputs. The resulting

algorithm is a straightforward variation on the stacking of ordinary autoencoders. It is however

shown on a benchmark of classification problems to yield significantly lower classification error,

thus bridging the performance gap with deep belief networks (DBN), and in several cases surpassing it. Higher level representations learnt in this purely unsupervised fashion also help boost the performance of subsequent SVM classifiers. Qualitative experiments show that, contrary to ordinary autoencoders, denoising autoencoders are able to learn Gabor-like edge detectors from natural image patches and larger stroke detectors from digit images. This work clearly establishes the value of using a denoising criterion as a tractable unsupervised objective to guide the learning of useful higher level representations.

Scalable Stacking And Learning For Building Deep Architectures (2012)

85 Citations

Li Deng, Dong Yu, and John Platt

Deep Neural Networks (DNNs) have shown remarkable success in pattern recognition tasks. However, parallelizing DNN training across computers has been difficult. We present the Deep Stacking Network (DSN), which overcomes the problem of parallelizing learning algorithms for deep architectures. The DSN provides a method of stacking simple processing modules in buiding deep architectures, with a convex learning problem in each module. Additional fine tuning further improves the DSN, while introducing minor non-convexity. Full learning in the DSN is batch-mode, making it amenable to parallel training over many machines and thus be scalable over the potentially huge size of the training data. Experimental results on both the MNIST (image) and TIMIT (speech) classification tasks demonstrate that the DSN learning algorithm developed in this work is not only parallelizable in implementation but it also attains higher classification accuracy than the DNN.

Tensor Deep Stacking Networks (2013)

44 Citations

Brian Hutchinson, Li Deng, and Dong Yu

A novel deep architecture, the tensor deep stacking network (T-DSN), is presented. The T-DSN consists of multiple, stacked blocks, where each block contains a bilinear mapping from two hidden layers to the output layer, using a weight tensor to incorporate higher order statistics of the hidden binary ($([0,1])$) features. A learning algorithm for the T-DSN’s weight matrices and tensors is developed and described in which the main parameter estimation burden is shifted to a convex subproblem with a closed-form solution. Using an efficient and scalable parallel implementation for CPU clusters, we train sets of T-DSNs in three popular tasks in increasing order of the data size: handwritten digit recognition using MNIST (60k), isolated state/phone classification and continuous phone recognition using TIMIT (1.1 m), and isolated phone classification using WSJ0 (5.2 m). Experimental results in all three tasks demonstrate the effectiveness of the T-DSN and the associated learning methods in a consistent manner. In particular, a sufficient depth of the T-DSN, a symmetry in the two hidden layers structure in each T-DSN block, our model parameter learning algorithm, and a softmax layer on top of T-DSN are shown to have all contributed to the low error rates observed in the experiments for all three tasks.

Unsupervised Models of Images by Spike-and-Slab RBMs (2011)

40 Citations

Aaron Courville, James Bergstra and Yoshua Bengio

The spike-and-slab Restricted Boltzmann Machine (RBM) is defined by having both a real valued “slab” variable and a binary “spike” variable associated with each unit in the hidden layer. In this paper we generalize and extend the spike-and-slab RBM to include non-zero means of the conditional distribution over the observed variables given the binary spike variables. We also introduce a term, quadratic in the observed data that we exploit to guarantee that all conditionals associated with the model are well defined – a guarantee that was absent in the original spike-and-slab RBM. The inclusion of these generalizations improves the performance of the spike-and-slab RBM as a feature learner and achieves competitive performance on the CIFAR-10 image classification task. The spike-and-slab model, when trained in a convolutional configuration, can generate sensible samples that demonstrate that the model has captured the broad statistical structure of natural images.

Popular Deep Learning Papers That Are Free To Read