Skip to content

Instantly share code, notes, and snippets.

View alxndrkalinin's full-sized avatar

Alexandr Kalinin alxndrkalinin

View GitHub Profile
@alxndrkalinin
alxndrkalinin / tf_cuda_subprocess.py
Last active October 25, 2021 10:42 — forked from ed-alertedh/tf_cuda_subprocess.py
Decorator to transparently launch Tensorflow code in a subprocess to ensure GPU memory is freed afterwards
import os
import cloudpickle
import multiprocessing as mp
class RunAsCUDASubprocess:
def __init__(self, num_gpus=0, memory_fraction=0.8):
self._num_gpus = num_gpus
self._memory_fraction = memory_fraction
@staticmethod
@alxndrkalinin
alxndrkalinin / AngularController.coffee
Last active June 9, 2016 21:04 — forked from duanefields/AngularController.coffee
CoffeeScript Base Classes for AngularJS
module.exports = class BaseCtrl
@register: (module, name) ->
name ?= @name || @toString().match(/function\s*(.*?)\(/)?[1]
module.controller name, @
@inject: (annotations...) ->
ANNOTATION_REG = /^(\S+)(\s+as\s+(\w+))?$/
@annotations = annotations.map (annotation) ->
@alxndrkalinin
alxndrkalinin / viterbi.js
Last active December 27, 2015 08:38 — forked from methodin/viterbi.js
// Viterbi algorithm for finding hidden relationships
function Viterbi(data) {
var V = [{}];
var path = {};
// Initialize base cases (t == 0)
for(var i=0;i<data.states.length;i++) {
var state = data.states[i];
V[0][state] = data.start_probability[state] * data.emission_probability[state][data.observations[0]];
path[state] = [state];