Skip to content

Instantly share code, notes, and snippets.

View kiyoon's full-sized avatar

Kiyoon Kim kiyoon

View GitHub Profile
@kiyoon
kiyoon / ffmpeg_nvidia_conda_install.sh
Last active April 17, 2024 02:07
Install nvidia accelerated ffmpeg in a conda environment.
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
vi Makefile # change the first line to PREFIX = ${CONDA_PREFIX}
make install
cd ..
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
git checkout n4.2.2
conda install nasm
@kiyoon
kiyoon / config.py
Last active February 19, 2024 08:26
Intuitive config system that uses environment variables
# flake8: noqa: D100 D101 D102 D105 T201
from dataclasses import dataclass, field
@dataclass
class BaseConfig:
@property
def envvar_prefix(self) -> str:
return "MLCONFIG_"
@kiyoon
kiyoon / run_tmux_parallel.sh
Last active February 5, 2024 06:02
Run parallel jobs with tmux
# Run multiple commands in a tmux session
script_dir=$(dirname "$(realpath -s "$0")")
if [[ $# -ne 1 ]]; then
sess=session_name
else
sess="$1"
fi
tmux new -d -s "$sess" -c "$script_dir" # Use default directory as this script directory
import argparse
from rich_argparse import ArgumentDefaultsRichHelpFormatter
def get_parser():
parser = argparse.ArgumentParser(
description="Example of argparse usage, with default values printed in help.",
formatter_class=ArgumentDefaultsRichHelpFormatter,
)
@kiyoon
kiyoon / repr_model.py
Last active January 27, 2024 07:31
Print pytorch model with #params and requires_grad information.
from torch import nn
def _addindent(s_, numSpaces):
s = s_.split("\n")
# don't do anything for single-line stuff
if len(s) == 1:
return s_
first = s.pop(0)
s = [(numSpaces * " ") + line for line in s]
@kiyoon
kiyoon / xterm_get_mouse_click_and_chars.c
Created December 27, 2023 08:53 — forked from twaik/xterm_get_mouse_click_and_chars.c
Getting mouse clicks on xterm.
#include <sys/ioctl.h>
#include <stdio.h>
#include <unistd.h>
#include <termios.h>
enum {
KEYSTATE_NONE = 1024,
KEYSTATE_ESCAPE,
KEYSTATE_CONTROL,
KEYSTATE_MOUSE_PROPS
from rich.progress import (
Progress,
ProgressColumn,
SpinnerColumn,
Task,
TextColumn,
TimeElapsedColumn,
)
from rich.text import Text
import tensorrt as trt
import torch
import tqdm
logger = trt.Logger(trt.Logger.WARNING)
runtime = trt.Runtime(logger)
with open("vae_encoder_engine.trt", "rb") as f:
serialized_engine = f.read()
@kiyoon
kiyoon / compare_safetensors.py
Created November 15, 2023 04:58 — forked from madebyollin/compare_safetensors.py
script for comparing the contents of safetensors files
#!/usr/bin/env python3
from pathlib import Path
from safetensors.torch import load_file
def summarize_tensor(x):
if x is None:
return "None"
x = x.float()
return f"({x.min().item():.3f}, {x.mean().item():.3f}, {x.max().item():.3f})"
"""
This will make pptx slides containing images.
It assumes your images are square shaped.
"""
from glob import glob
from pptx import Presentation
from pptx.dml.color import RGBColor
from pptx.util import Inches