Skip to content

Instantly share code, notes, and snippets.

@f0k
f0k / png_strip_pHYs.py
Created May 3, 2015 10:39
Strip resolution information (pHYs chunk) from PNG file
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Strips the pHYs chunk (resolution information) of a .png file.
Handy if pdflatex fails with "dimension too large" due to the
PNG resolution being set to 1.
For usage information, call without any parameters.
@f0k
f0k / batch_norm.py
Last active September 9, 2022 11:34
Batch Normalization for Lasagne
# -*- coding: utf-8 -*-
"""
Preliminary implementation of batch normalization for Lasagne.
Does not include a way to properly compute the normalization factors over the
full training set for testing, but can be used as a drop-in for training and
validation.
Author: Jan Schlüter
"""
@f0k
f0k / rolling_median_bench.py
Last active December 22, 2022 08:49
rolling median implementations benchmark
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Compares some algorithms for computing a sliding median of an array.
Results:
scipy.signal.medfilt2d is a bit faster than scipy.ndimage.filter.median_filter
and significantly faster than scipy.signal.medfilt.
Maintaining a sorted list of the window becomes faster than that for a filter
@f0k
f0k / cudnn_codepath.py
Created November 18, 2014 19:53
cuDNN code path benchmark
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Demonstrates that cuDNN does not choose the fastest code path internally.
It first asks cuDNN to compute a particular full convolution as a forward
pass with sufficient zero padding of the input.
It then asks cuDNN to compute the same as a backward pass of a valid convolution
without zero padding of the input.