HuggingFace Spaces by Midjourney This concludes the two-part blog entry on turning HuggingFace into a deep learning playground (and we have not even talked about all the LMs they host!). Mostly it will be about Spaces, but we are starting with models. Models We train tons of models as we experiment with hyperparameters or redesign … Continue reading HuggingFace. Models. Spaces. Part 2
Category: F#
HuggingFace. The Perfect Lab. Part 1
https://youtu.be/fpVfTyPyPgE I have recently posted a video briefly explaining how we use GNNs (Graph Neural Nets) at Fetch to identify duplicate receipts. I have mentioned HuggingFace in passing there, but in fact I use it quite heavily to make my machine learning life simpler. The Problem: Suitcases Without Handles AI workloads are data heavy, involving … Continue reading HuggingFace. The Perfect Lab. Part 1
Amazon SageMaker: Distributed Training
No training implementation is complete until it allows training on a cluster where each machine has multiple GPUs. Multi-node/Multi-GPU Training with PyTorch Lightning SageMaker does a great job enabling this in Script Mode, and all we have to do is write code that supports SageMaker SMDDP implementation of the distributed training DDP protocol. PyTorch Lighting … Continue reading Amazon SageMaker: Distributed Training
Amazon SageMaker: What Tutorials Don’t Teach
At Fetch we reward you for taking pictures of store and restaurant receipts. Our app needs to read and understand crumpled, dark, smudged, warped, skewed, creased, you get the "picture" images, taken in cars, in your lap, on the way out, while walking the dog, taking out the trash, doing your nails, etc.., etc. Not … Continue reading Amazon SageMaker: What Tutorials Don’t Teach
F# Humor (kinda)
So I was bored, didn't know what to do, started solving problems on codewars (shut up!). There was this little problem there, where they are asking you to compute $latex \frac{\sum_{i=1}^n i!}{n!}&s=2$, for potentially large n's with $latex 10^{-6}$ precision. It's easy to see that this needs to be refactored (no need to actually compute … Continue reading F# Humor (kinda)
Scripting Video Editing with F# and FFmpeg
Computer vision should not be confused with image processing (as we all know). I love building computer vision pipelines, but sometimes menial tasks of pure image processing, automated editing come up. Suppose you had the same astronauts from one of the previous posts participating in a study, where they are actually filmed watching something, say … Continue reading Scripting Video Editing with F# and FFmpeg
Detecting Faces with Dlib from F#. IFSharp Notebook
The Choices I have experimented with OpenCV and Dlib face detection in my computer vision pipeline. Both work well, but the Dlib one worked better: it is more sensitive with (in my case) almost no false positives right out of the box! Dlib uses several HOG filters that account for profile as well as frontal … Continue reading Detecting Faces with Dlib from F#. IFSharp Notebook
HashSet, Graph, Cognac
The post on applying GPU to finding Eulerian path mentioned a stumbling block: partitioning a very specific kind of graph. In general, partitioning is a hard problem, NP-hard actually. The graphs we are dealing with are very specific, though, and may be partitioned in $latex O(|E|)$ time (E - the set of graph edges). Our … Continue reading HashSet, Graph, Cognac
Getting Emotional with Affectiva, F#, and Emgu
I've been playing with Affectiva emotion, demographics, and face detection SDK, found it excellent, however, their sample gallery lacks a sample in F#! So here we are to correct that. I just wanted a simple F# script that would let me take all kinds of the SDK options for a ride. The script itself is … Continue reading Getting Emotional with Affectiva, F#, and Emgu
Zooming Through Euler Path: Supercharging with GPU
So, continuing where we left off: Walking the Euler Path: Intro Visualizing Graphs Walking the Euler Path: GPU for the Road Walking the Euler Path: PIN Cracking and DNA Sequencing For the Win And finally I ran the GPU-enabled algorithm for finding the Euler path. And the results: Generating euler graph: vertices = 10,485,760; avg … Continue reading Zooming Through Euler Path: Supercharging with GPU