Skip to content

Instantly share code, notes, and snippets.

@mjdietzx
mjdietzx / download_image.py
Last active March 21, 2024 11:12
Download image from url and save as file
import io
from PIL import Image # https://pillow.readthedocs.io/en/4.3.x/
import requests # http://docs.python-requests.org/en/master/
# example image url: https://m.media-amazon.com/images/S/aplus-media/vc/6a9569ab-cb8e-46d9-8aea-a7022e58c74a.jpg
def download_image(url, image_file_path):
r = requests.get(url, timeout=4.0)
if r.status_code != requests.codes.ok:
@mjdietzx
mjdietzx / pytorch-lambda-deploy.sh
Last active April 9, 2020 13:49
AWS Lambda pytorch deep learning deployment package (building pytorch and numpy from source on EC2 Amazon Linux AMI)
#
# written for Amazon Linux AMI
# creates an AWS Lambda deployment package for pytorch deep learning models (Python 3.6.1)
# assumes lambda function defined in ~/main.py
# deployment package created at ~/waya-ai-lambda.zip
#
#
# install python 3.6.1
#
@mjdietzx
mjdietzx / main.py
Last active July 13, 2018 04:46
AWS Lambda pytorch deep learning lambda function (ResNet-18 pre-trained on ImageNet)
import io
import boto3
import PIL.Image
import torch
from torch.utils import model_zoo
import torchvision
s3_client = boto3.client('s3')
import collections
import json
def duplicates():
#
# organize raw Rekognition `boto3.client('rekognition').get_face_search()` response for debugging this issue
#
with open('duplicated_index_bug.json', 'r') as f: # https://s3.us-east-2.amazonaws.com/brayniac-waya-ai/duplicated_index_bug.json
@mjdietzx
mjdietzx / rekognition_video_face_search_uncertainty.py
Last active April 11, 2018 02:27
Utilize uncertainty for improved person-tracking/face-matching performance in Rekognition video face search
import collections
def sort_raw_rekognition_results(results):
indices = collections.defaultdict(list) # unique people detected in video to a `list` of their `PersonMatch` objects
timestamps = collections.defaultdict(list) # `lists` maintain order so we can keep track of people and their indices
timestamps_indices = collections.defaultdict(list)
for p in self.results['Persons']:
@mjdietzx
mjdietzx / uport.js
Last active May 1, 2018 09:06
uPort in browser
<script src="https://unpkg.com/uport-connect/dist/uport-connect.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
function uport() {
try {
const u = new window.uportconnect.Connect('blockimmo', {
clientId: '2ohEPzgzsh7gm68BUcHQMkfaQs8BA4ysatY',
network: 'rinkeby',
@mjdietzx
mjdietzx / dynamic_ec2.py
Created September 16, 2018 09:11
spin up an ec2 instance and tear it down upon completion from AWS lambda
ec2_client = boto3.client('ec2')
user_data = """#!/bin/bash
sudo apt-get update
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
sudo python3 get-pip.py
sudo pip3 install boto3
sudo apt-get install -y libgtk2.0-dev
sudo pip3 install opencv-python
echo "{}" >> {}