Author: Chris Lattner
| ''' | |
| Using OpenCV takes a mp4 video and produces a number of images. | |
| Requirements | |
| ---- | |
| You require OpenCV 3.2 to be installed. | |
| Run | |
| ---- | |
| Open the main.py and edit the path to the video. Then run: |
| import coremltools | |
| import numpy | |
| from keras.datasets import mnist | |
| from keras.models import Sequential | |
| from keras.layers import Dense | |
| from keras.layers import Dropout | |
| from keras.utils import np_utils | |
| from keras.models import load_model | |
| import os | |
| import librosa | |
| import matplotlib | |
| import matplotlib.pyplot as plt | |
| matplotlib.rcParams['svg.fonttype'] = 'none' | |
| import numpy as np | |
| from scipy.io.wavfile import read as readwav | |
| # Constants |
| extension NSImage { | |
| func pixelBuffer() -> CVPixelBuffer? { | |
| let width = self.size.width | |
| let height = self.size.height | |
| let attrs = [kCVPixelBufferCGImageCompatibilityKey: kCFBooleanTrue, | |
| kCVPixelBufferCGBitmapContextCompatibilityKey: kCFBooleanTrue] as CFDictionary | |
| var pixelBuffer: CVPixelBuffer? | |
| let status = CVPixelBufferCreate(kCFAllocatorDefault, | |
| Int(width), | |
| Int(height), |
- OS - High Sierra 10.13
- Tensorflow - 1.4
- Xcode command line tools - 8.2 (Download from here: Xcode - Support - Apple Developer & Switch to different clang version: sudo xcode-select --switch/Library/Developer/CommandLineTools & check version: clang -v)
- Cmake - 3.7
- Bazel - 0.7.0
Here's a simple implementation of bilinear interpolation on tensors using PyTorch.
I wrote this up since I ended up learning a lot about options for interpolation in both the numpy and PyTorch ecosystems. More generally than just interpolation, too, it's also a nice case study in how PyTorch magically can put very numpy-like code on the GPU (and by the way, do autodiff for you too).
For interpolation in PyTorch, this open issue calls for more interpolation features. There is now a nn.functional.grid_sample() feature but at least at first this didn't look like what I needed (but we'll come back to this later).
In particular I wanted to take an image, W x H x C, and sample it many times at different random locations. Note also that this is different than upsampling which exhaustively samples and also doesn't give us fle