Skip to content

Instantly share code, notes, and snippets.

View cheeyeo's full-sized avatar
💭
Researching on use of transformers in computer vision

Chee Yeo cheeyeo

💭
Researching on use of transformers in computer vision
View GitHub Profile
@cheeyeo
cheeyeo / example.py
Created September 21, 2024 15:47
Example of Template Method design pattern
from abc import ABC, abstractmethod
import re
from typing import Dict, Any
import json
import requests
from bs4 import BeautifulSoup
class Scraper(ABC):
def parse_site(self, url: str, headers: dict={}) -> Dict[str, Any]:
@cheeyeo
cheeyeo / hough_transform.py
Created May 23, 2024 11:34 — forked from panzerama/hough_transform.py
Solution for correcting text skew in image with scipy, scikit
#image processing resources
from skimage.io import imread, imshow
from skimage.filters import gaussian, threshold_otsu
from skimage.feature import canny
from skimage.transform import probabilistic_hough_line, rotate
#testing
import numpy as np
import os
@cheeyeo
cheeyeo / dag2.py
Created May 22, 2024 15:37
Example second workflow for processing images
from urllib.parse import urlparse
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
from airflow.providers.amazon.aws.operators.s3 import S3FileTransformOperator
def file_from_s3(prefix):
"""
Fetches S3 processed file from remote to local /tmp
to allow inference to run on it
"""
@cheeyeo
cheeyeo / dag1.py
Created May 22, 2024 15:27
First DAG for processing S3 files
from airflow.models.dag import DAG
from airflow.api.client.local_client import Client
from airflow.providers.amazon.aws.sensors.sqs import SqsSensor
def analyze_data(ti):
airflow_client = Client(None, None)
messages = ti.xcom_pull(task_ids="sqs_sensor", key="messages")
for msg in messages:
records = json.loads(msg['Body'])
@cheeyeo
cheeyeo / Makefile
Created June 9, 2023 14:36 — forked from alexedwards/Makefile
Boilerplate Makefile for Go projects
# Change these variables as necessary.
MAIN_PACKAGE_PATH := ./cmd/example
BINARY_NAME := example
# ==================================================================================== #
# HELPERS
# ==================================================================================== #
## help: print this help message
.PHONY: help
@cheeyeo
cheeyeo / ColabReconnect.js
Created March 13, 2023 20:00 — forked from josepdecid/ColabReconnect.js
Colab Reconnect
// Interval time to check if runtime is disconnected
interval = 1000 * 60;
// Busy/Reconnect button top-right
reloadButton = document.querySelector('#connect > paper-button > span')
setInterval(() => {
if (reloadButton.innerText == 'Reconnect') {
reloadButton.click();
console.log('Restarting');
@cheeyeo
cheeyeo / custom_client_error_boto3.py
Created June 23, 2020 15:43
Creating a boto3 ClientError manually!
raise ClientError(operation_name='InvalidKeyPair.Duplicate', error_response={
'Error': {
'Code': 'Duplicate',
'Message': 'This is a custom message'
}
}
)
@cheeyeo
cheeyeo / notes.md
Created January 15, 2019 11:31
Adding value to k8 secret

To add a value to a secret we need to ensure it is base64 encoded without whitespace

E.g.

echo -n 'true' | base64 -w0
@cheeyeo
cheeyeo / docker.sh
Created July 16, 2018 08:36
Creating docker container script from phusion ? 2016...?
# example multistage process docker build script from https://blog.phusion.nl/2016/08/31/efficiently-and-conveniently-building-ruby-and-node-js-application-docker-containers-for-production-2
set -e
export IMAGE_NAME=tinco/express-example
export RUN_BUILD="docker run -it --rm -v $PWD:/usr/src/app -w /usr/src/app node:6"
export TEST_COMMAND="./node_modules/mocha/bin/mocha"
function run_image() {
# Keras tokenizer lacks serialization. Therefore I created the below to address this without changing the API.
# (Since I don't know how long it'll take for keras to support it)
# The Tokenizer __init__ should be modified to take the word_stats dictionary as a kwarg,
# and a method added to the class to return the stats
# Expiermentally this works, but I am not sure of any nuances in the Tokenizer class.
def test_tokenizer():
texts = ["It was the best of times, it was the worst of times, it was the age of wisdom",
"it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, ",
"it was the season of Light, it was the season of Darkness, it was the spring of hope, ",