Skip to content

Instantly share code, notes, and snippets.

View Mehanik's full-sized avatar

Eugene Mikhantyev Mehanik

View GitHub Profile
@Mehanik
Mehanik / flatten_dict.py
Last active April 13, 2023 06:40
Flatten python dict
def flatten_dict(data, sep="."):
r = {}
for k, v in data.items():
if not isinstance(v, dict):
r[k] = v
continue
for kk, vv in flatten_dict(v, sep).items():
r[f"{k}{sep}{kk}"] = vv
@Mehanik
Mehanik / remove_empty.py
Created February 28, 2023 15:52
Remove directories with size less then threshold (for example, empty tensorboard directories)
#!/usr/bin/env python3
import argparse
import os
import shutil
def dir_size(p):
return sum(os.path.getsize(f) for f in os.scandir(p) if f.is_file())
@Mehanik
Mehanik / keras_to_tensorboard.py
Created December 17, 2019 10:39
Save keras model for viewing in Tensorboard
# tested on Tf 1.15
import tensorflow as tf
m = create_model(...)
m.compile(Adam(lr=1e-3), loss=["binary_crossentropy"])
writer = tf.summary.FileWriter(logdir='logdir', graph=tf.get_default_graph())
writer.flush()
@Mehanik
Mehanik / rename_increment.sh
Created November 24, 2019 08:54
Rename multiple files with some increment
#!/usr/bin/env bash
FILES=$1
export INCREMENT=$2
for f in $(ls $FILES);
do
NEW_NAME=$(echo $f | sed -r 's/([^0-9]*)0*([0-9]*)(.*)/echo "\1$((\2 + $INCREMENT))\3"/ge')
echo "mv $f $NEW_NAME"
mv $f $NEW_NAME
int MOTOR1_P = 4;
int MOTOR1_N = 5;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(MOTOR1_P, OUTPUT);
pinMode(MOTOR1_N, OUTPUT);
@Mehanik
Mehanik / gpu_status.py
Created July 18, 2018 07:56
Monitor GPU status by memory consumption and show GPU availability in linux framebuffer.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pygame
import sys
import time
from subprocess import check_output
threshold = 1000
@Mehanik
Mehanik / gpu_status.sh
Created July 13, 2018 09:34
Monitor GPU status by memory consumption and show GPU availability in linux framebuffer.
#!/bin/bash
PREV_STARUS=3
while true; do
if (( $(nvidia-smi --query-gpu=memory.used --format=csv,nounits,noheader) > 1000 )); then
STATUS=0
else
STATUS=1
fi
@Mehanik
Mehanik / add_layers.py
Last active November 9, 2017 20:44
Creates layers stack
#!/usr/bin/env python
from gimpfu import *
import time
import json
gettext.install("gimp20-python", gimp.locale_directory, unicode=True)
def add_layers(img, layer, classes):
@Mehanik
Mehanik / gist:8664353
Created January 28, 2014 09:03
Edit files in opened Vim session/new Vim tab
$ cat .local/share/applications/gvim-tab.desktop
[Desktop Entry]
Encoding=UTF-8
Name=GVim (Open in new tab)
Comment=Edit in a new tab
Exec=gvim --remote-tab-silent %F
Terminal=false
Type=Application
Icon=/usr/share/pixmaps/vim.svg
Categories=Application;Utility;TextEditor;